TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: EARC en 11 de Febrero de 2006, 10:00:00
-
Cacharreando con la pantalla LCD y despues de entender bien como se crean las librerias, he desarrollado una que solo necesita 3 pines del PIC para enviar informacion en la pantalla. En este ejemplo use los 3 del puerto E del 16F877. y asi totalmente libres los demas.
Pruebenlo y me cuentan como les fue.
//-------------- Funcion que envia byte a pantalla lcd --------------------
void lcd_send_byte( int1 cont_ascci, char n ) {
char i;
//----------------------------------------------------------------
output_bit(pin_e2,0);//Inicia transmision con CLK en 0
//----------------------------------------------------------------
output_bit(pin_e1,cont_ascci);//Coloca el RS en el puerto
//----------------------------------------------------------------
output_bit(pin_e2,1);
delay_cycles(1); //Pulso de reloj para registro serial
output_bit(pin_e2,0);
delay_cycles(1);
//----------------------------------------------------------------
for(i=4;i<=7;i++){
output_bit(pin_e1,bit_test (n,i));//Coloca el bit a transmitir
//----------------------------------------------------------
output_bit(pin_e2,1);
delay_cycles(1); //Pulso de reloj para registro serial
output_bit(pin_e2,0);
delay_cycles(1);
}
//----------------------------------------------------------------
output_bit(pin_e0,1);
delay_ms(2); //Pulso de enable
output_bit(pin_e0,0);
//----------------------------------------------------------------
output_bit(pin_e1,cont_ascci);//Coloca el RS en el puerto
//----------------------------------------------------------------
output_bit(pin_e2,1);
delay_cycles(1); //Pulso de reloj para registro serial
output_bit(pin_e2,0);
delay_cycles(1);
//----------------------------------------------------------------
for(i=0;i<=3;i++){
output_bit(pin_e1,bit_test (n,i));//Coloca el bit a transmitir
//----------------------------------------------------------
output_bit(pin_e2,1);
delay_cycles(1); //Pulso de reloj para registro serial
output_bit(pin_e2,0);
delay_cycles(1);
}
//----------------------------------------------------------------
output_bit(pin_e0,1);
delay_ms(2); //Pulso de enable
output_bit(pin_e0,0);
}
Que pasa que no puedo montar el esquematico?
-
Es una de las virtudes de este foro... debes usar algun tipo de servidor de imagenes para colgar algun tipo de esquematico.
http://www.jotapeges.com
-
Bueno, tengo el esquematico como .GIF y pesa 48K, ¿como hago para que se vea esta imagen?
-
Hola:
Sube la imagen al link que puso elmasvital, y luego pega aqui la direccion, señala todo el link y haz click en el boton que dice inserta una imagen en el mensaje, este icono te sale cuando estas escribiendo el mensaje, en la parte de arriba...
-
Holaaa!!!como te lo explica el amigo LordLafebre es perfecto, pero el amigo migsantiago, en el subforo de Todo en Microcontroladores Pic, escribio un post explicando como subir las imagenes, aqui te dejo el link al post:
http://miarroba.com/foros/ver.php?foroid=6510&temaid=4863967
Suerte!!!
-
BUENA NOTA A TODOS USTEDES, ESPERO MONTARLA YA MISMO. Y LES CUENTO.
pdta: ESTOY INTENTANDO SACAR LA FUNCION PARA LEER UN TECLADO 4X4 CON SOLO 1 PIN DEL PIC
Y ASI MANEJAR TECLADO 4X4 Y PANTALLA LCD CON 1 PIC DE 6 PINES.
-
-
Este es el esquema del circuito de la LCD con solo 3 pines.

GRACIAS POR SU AYUDA DE COMO AGREGAR UNA IMAGEN.
Tengo una pregunta:
Estoy trabajando con CCS y toda va bien hasta que me paso del 36% de rom usada. en este momento el compilador saca el aviso rojo NO ERRORS y no compila.
No he podido hacer nada desde hace 5 horas y siempre el mismo erros, le quito una parte de programa y si compila. El PIC que uso es el 16F877.
-
Tengo una pregunta:
Estoy trabajando con CCS y toda va bien hasta que me paso del 36% de rom usada. en este momento el compilador saca el aviso rojo NO ERRORS y no compila.
No he podido hacer nada desde hace 5 horas y siempre el mismo erros, le quito una parte de programa y si compila. El PIC que uso es el 16F877.
Prueba con poner la instruccion siguiente:
#device PIC16F877 *=16Esto le indica al compilador que optimize la memoria para aprovecharla mejor en micros con bancos de memoria como el que utilizas... :mrgreen: :mrgreen: :mrgreen: