Sei sulla pagina 1di 4

E/S

33

3.3 LCD Alfanumrica


Las pantallas de cristal lquido o LCD (Liquid Crystal Display) alfanumricas permiten mostrar mensajes y con esto podemos dotar a nuestros circuitos de una interface ms llamativa para el usuario. La LCD comnmente usada debido a su bajo costo y disponibilidad es la pantalla alfanumrica de 16 caracteres por 2 renglones mostrada en la Figura 3-3.

Figura 3-3. LCD 16x2

El funcionamiento de esta pantalla puede revisarlo en su hoja de datos o recomiendo el libro Microcontrolador PIC16F84 Desarrollo de proyectos de Enrique Palacios para una explicacin mas detallada.

El lenguaje C18 aporta una librera llamada xlcd.h la cual permite controlar este tipo de LCD. Sin embargo esta librera tiene unas deficiencias y por medio de unas modificaciones el autor cre la librera lcd.h la cual puede descargar de la pgina. Dicha librera consta de 2 archivos llamados lcd.c y lcd.h, ambos archivos deben agregarse al proyecto. El siguiente ejemplo demuestra el uso de la librera lcd.h con el circuito mostrado en la Figura 3-4.

Ing. Juan Ramon Terven Salinas

E/S

34

Ejemplo 3-3. Uso de LCD 16x2


Arme el circuito de la Figura 3-4 y pruebe el ejemplo siguiente.

Figura 3-4. Diagrama para ejemplo LCD

Para que el programa compile sin errores, debe agregar los archivos lcd.c y lcd.h al proyecto como se muestra en la figura siguiente.

Figura 3-5. Archivos de librera

Ing. Juan Ramon Terven Salinas

E/S
Programa 3-3. Ejemplo uso de LCD 16x2 /* DISPLAY LCD 16X4 * * Uso del Display LCD con la libreria lcd.h * PIC18 funcionando a 48MHz */ #include <p18cxxx.h> #include "lcd.h" extern void _startup (void); #pragma code REMAPPED_RESET_VECTOR = 0x1000 void _reset (void) { _asm goto _startup _endasm } #pragma code // Aqu inicia el programa void main() { char cadena[] = "Probando LCD"; char cadena2[] = "en linea 2"; ADCON1 |= 0x0f; // Configura pines como digitales // configura LCD OpenLCD( FOUR_BIT & LINES_5X7); //Envia cadena "Probando LCD" putsLCD(cadena); //Cambia al renglon 2 SetDDRamAddr(0x40); //Envia cadena2 al display putsLCD(cadena2); while(1) { } }

35

Ing. Juan Ramon Terven Salinas

E/S

36

PRCTICAS PARA EVALUAR


Para cada una de las siguientes prcticas: a) Simular el funcionamiento en Proteus. b) Verificar funcionamiento en su tablilla de pruebas.

PRCTICA 1. Contador en LCD


Mostrar un contador en el LCD que se incremente cada vez que se pulsa un botn en RA0. Use la funcin itoa de la librera stdlib.h para convertir el contador a cadena y poderlo mostrar en el display. El contador debe ser tipo int. La funcin itoa se usa de la siguiente manera:
char strCont[6]; //se declara una cadena de 6 caracteres itoa(contador,strCont); //convierte contador a cadena //y se guarda en strCont

PRCTICA 2. Mensajes Desplazables


Mostrar un texto desplazndose por el primer rengln de izquierda a derecha y otro texto desplazndose por el segundo rengln de derecha a izquierda.

PRCTICA 3. Cronmetro con retardos


Disee un cronmetro de la forma HH:MM:SS:d en el LCD, donde: HH = horas(00 a 59) MM = minutos(00 a 59) SS = segundos(00 a 59) d = dcimas de segundo(0 a 9) En el primer rengln deber decir CRONOMETRO En el segundo rengln debe mostrar el cronmentro inicialmente en 00:00:00:00:0 Al pulsar el botn en RA0 el cronmetro inicia. Si el cronmetro est iniciado con este mismo botn se pausa y se reanuda el funcionamiento. Al pulsar un botn en RA1 el cronmetro se resetea slo si el cronmetro se encuentra pausado, de lo contrario no se permite el reseteo.

Ing. Juan Ramon Terven Salinas

Potrebbero piacerti anche