manejo de lcd`s

Upload: gustavolemamorocho

Post on 15-Oct-2015

52 views

Category:

Documents


0 download

TRANSCRIPT

LED INTERMITENTE DE VELOCIDAD VARIABLE

MODULOS LCDMANEJO:Display de cristal lquido, utilizados para mostrar mensajes.

Permite la comunicacin entre las mquinas y los humanos, pudiendo mostrar cualquier caracter ASCII.

Consumen mucho menos que un display de 7 segmentos.

MODULOS LCDMANEJO:

Existen de diferentes tipos.

2 lneas por 8 caracteres. 2 por 16. 2 por 20. 4 por 20. Sin backlight (14 pines). Con backlight (16 pines).

1VssTierra de alimentacin GND.2VddAlimentacin de +5V. C.D.3VoAjuste del contraste del cristal lquido (0 a +5V)4RSSeleccin del registro control/datos. RS=0 reg. ControlRS=1 reg. Datos5R/WLectura / escritura en el LCD.R/W=0 escritura (Write)R/W=1 lectura (Read)6E/WHabilitacin.E=0 mdulo desconectado.E=1 mdulo conectado.7D0Bit menos significativo. (bus de datos direccional)8D19D210D311D412D513D614D7Bit ms significativo. (bus de datos direccional)15AAlimentacin del backlight.`+3,5V o +5V C.D. (segn especificacin tcnica.)16KTierra GND del backlightFUNCION DE CADA PIN DEL LCDMODULOS LCDMANEJO:

Para poder mostrar tems en una pantalla de cristal lquido se puede utilizar la declaracin LCDOUT.

Se utiliza:

LCDOUT $FE, seguido por el comando a utilizar.ComandoOperacin$FE,1Limpia el visor del LCD$FE,2Vuelve al inicio (comienzo de la primera lnea)$FE,$0CApagar el cursor$FE,$0ESybrayado del curso activo$FE,$0FParpadeo del curso activo$FE,$10Mover el cursor una posicin a la izquierda$FE,$14Mover el cursor una posicin a la derecha$FE,$80Mueve el cursor al comienzo de la primera lnea$FE,$C0Mueve el cursor al comienzo de la segunda lnea$FE,$94Mueve el cursor al comienzo de la tercera lnea$FE,$D4Mueve el cursor al comienzo de la cuarta lneaCOMANDOS MAS UTILIZADOS MODULOS LCDConexin con bus de 4 u 8 bits.

Tiempo de demora diferente.

8 bits todo al mismo tiempo.

La ventaja de conexin a 4 bits es los pocos cables que se deben conectar.

Ver figura

MODULOS LCDAlgunos LCD`s no requieren de ningn PAUSE al inicio, pero otros necesitan unos pocos milisegundos para estar listos.

Si queremos que las palabras salgan centradas en el LCD:Dando espacios antes de cada palabra.LCDOUT $FE, 1, Hola y LCDOUT $FE,$C0, PruebaNo recomendable por uso de espacio en el PIC.

MODULOS LCDO asignando el lugar donde se quiere que aparezca cada palabra.

LCDOUT $FE, 1,LCDOUT $FE, $86, HolaLCDOUT $FE,$C4, PruebaLa primera instruccin limpia la pantalla y coloca el cursor al comienzo.La segunda pasa el cursor a la 7ma casilla de la primera lnea y escribe.La ltima pasa a la casilla 5 de la 2da lnea y escribe.

MODULOS LCDExiste un cursor que aunque no se ve, esta presente, e indica donde aparecer la siguiente letra.

Para entender el funcionamiento del LCD y las funciones de cada comando, haremos primeramente visible el cursor, y luego usaremos PAUSES para seguir el funcionamiento.

Ejemplo:

MODULOS LCDSe pueden declarar constantes a las instrucciones utilizadas para limpiar lneas y para pasar a la segunda lnea.

Por ejemplo $FE se puede definir como jc CON $CO se puede definir como seglin CON y para escribir en el programa tendremos:

LCDOUT jc, seglin, PALABRA.

MODULOS LCDEl LCD tiene una memoria RAM por lo que una vez que se le enva texto, este permanece en pantalla y el PIC puede ser empleado para otras tareas o puede ser desconectado.

Para configurar los pines del PIC hacia el LCD se debe utilizar:

DEFINE LCD_DREGPORTB; define pines del LCD B4 a B7.DEFINE LCD_DBIT4; empezando desde el puerto B4 hasta el B7.DEFINE LCD_RSREGPORTB; define el puerto B para conectar el bit RS.DEFINE LCD_RSBIT3; este es el puerto B3.DEFINE LCD_EREGPORTB; define el puerto B para conectar el bit Enable.DEFINE LCD_EBIT2; este es el puerto B2.MODULOS LCDLos 4 bits de datos slo se pueden configurar en los 4 bits ms bajos, o en los ms altos.

Si se desea hacer una comunicacin de 8 bits con el LCD se la realiza desde un solo puerto.

Se debe definir en PBP si se utiliza un bus de 8 bits o si se utiliza un LCD de 4 lneas.

DEFINE LCD_BITS 8; define comunicacin a 8 bits con el LCD.DEFINE LCD_LINES4; define un LCD de 4 lneas.CARACTER POR CARACTER EN LCDPara enviar caracter por caracter se puede utilizar la declaracin LOOKUP, con intervalos de 400ms.

Por ejemplo:

LOOKUPa,[PRUEBA],muestraLCDOUT,muestra

DESPLAZAMIENTO DE TEXTOEl LCD dispone en cada una de las lneas 40 posiciones de memoria, de las cules nicamente 16 son visibles.

Realizar un programa que desplace desde un casillero fuera del LCD, no visible, una palabra hacia la izquierda, obteniendo un texto en movimiento, una vez que termina de mostrarse, recorrer 16 posiciones en blanco y volver a aparecer.

LCDOUT $FE,$7; configura para desplazamiento izquierdo.LCDOUT $FE,$90; ubica el cursor en la casilla 17.CONTADOR DE PULSOSCOUNT portb.0,1000,variable.

Cuenta pulsos a travs del puerto B0 en un periodo de 1 segundo y lo guarda en una variable previamente creada, variable WORD.

Cuenta el nmero de pulsos que entran en un pin en un determinado tiempo.

CONTADOR DE PULSOSComo proyecto contar el nmero de pulsos que ingresan por un pin en un determinado periodo, se visualiza en el LCD, si la cantidad supera 120 Hz, se enciende una alarma ROJA, si baja de 100Hz, se enciende la alarma VERDE, si esta entre esos valores no se enciende ningn indicador.

T=1,1*R*C

F=1/T=1,44/((R1+2R2)*C)

CONTADOR DE PULSOSLa instruccin DEC muestra el nmero de la variable en decimal.

Tambin se puede expresar como #.

LCDOUT $FE, $C5, DEC variable, Hz.LCDOUT $FE, $C5, # variable, Hz.LCDOUT $FE, $C5, HEX variable, Hz.LCDOUT $FE, $C5, BIN variable, Hz.LCDOUT $FE, $C5, variable, Hz.

LECTURA DE UN POTENCIOMETROLa instruccin POT, sirve para leer el estado de un potencimetro, o cualquier elemento resistivo (fotoceldas, termistores, etc).

La ayuda de un condensador de 0,1uF est en que a mayor resistencia el capacitor se demora ms tiempo en cargarse, a menor resistencia se carga ms rpido. La variable nos dar cero.

Se puede utilizar para variacin de luz o variacin la velocidad de un motor.

TACOMETRO DIGITALEl tren de pulsos no es generado por un 555, sino por el giro de un motor.

La seal que llega desde el motor hacia los transistores, se puede conectar al PIC y visualizarlo en el LCD.

La variable que utilicemos debe ser multiplicada por 60, para que nos muestre el nmero de vueltas que dara en un minuto.TACOMETRO DIGITALSi se desea mayor precisin, se puede multiplicar por 30, asegurando la declaracin COUNT para conteos durante dos segundos, por ejemplo:

COUNT portb.0,2000,revoluciones; contar pulsos ; en el puerto ; B0 durante 2 ; segundos.revoluciones = revoluciones * 30; multiplicar ; por 30 para ; tener 1 ; minuto.TACOMETRO DIGITALLo ptimo es hacer que la declaracin COUNT cuente durante un minuto.

COUNT portb.0,6000,revoluciones; contar pulsos ; en el puerto ; B0 durante 60 ; segundos.Lo recomendable es contar pulsos de 2 a 5 segundos.revoluciones = revoluciones * 12; multiplicar ; por 12 para ; tener RPM.TACOMETRO DIGITALMATERIALES: 1 LCD 2x16. 1 resistencia de 100 ohmios. 1 resistencia de330 ohmios. 1 resistencia de 1K. 1 resistencia de 4,7K. 1 potencimetro de 10 K. 1 eje de giro independiente con un disco de plstico negro. 1 optoacoplador ECG3100 con salida de transistor NPN.

EJERCICIOS1. En la pantalla de un LCD haga que aparezca intermitentemente la palabra 3eroElectrnica.

2. Con un LCD y tres pulsadores, P1, P2 y P3 haga un teclado alfabtico que presente mensajes a su gusto en el LCD de la siguiente manera: con P2 haga que aparezca el alfabeto desde la A hasta la Z, con el pulsador P3 haga desplazar el cursor hacia la derecha para seguir escribiendo, y P1 hace que el cursor regrese hacia la izquierda para corregir el texto.