Você está na página 1de 10

Serie/i2C LCD y Reloj

Conexionado del mdulo LCD para ser controlado por conexin serie:
El PICAXE-18 puede ser el entrenador de sistemas PICAXE-18x. La conexin de salida del PICAXE-18 (output7) tiene que ser directa sin pasar por el Darligton ULN2803.

Instrucciones para el control del LCD(comandos de control):


A continuacin se describen las instrucciones de control del mdulo LCD. Cada cdigo deber ser enviado al mdulo usando la subrutina wrins. Estas instrucciones se pueden usar para hacer los mensajes ms interesantes: scroll, parpadeo, etc. Los comandos de control tienen prefijado el cdigo (254). Cdigo 1 2 4 5 6 7 10 12 13 14 16 20 24 28 128 192 y y Instruccin Borrar display y poner cursor al principio de la primera lnea Mueve el cursor y muestra la ventana en principio de primera lnea Modo de escritura de derecha a izquierda Escritura en modo scroll hacia la izquierda Modo de escritura de izquierda a derecha Escritura en modo scroll hacia la derecha Apaga el display del LCD Oculta el cursor Cursor parpadea intermitentemente Enciende el display y el cursor Mueve el cursor una posicin a la izquierda Mueve el cursor una posicin a la derecha Scroll de la ventana una posicin a la izquierda Scroll de la ventana una posicin a la derecha Mueve el cursor al principio de la primera lnea Mueve el cursor al principio de la segunda lnea Mueve en la lnea 1, posicin x (y = 128+x) Mueve en la lnea 2, posicin x (y = 192+x)

Nota: ventana es la posicin donde se mostrar el carcter

Caracteres:
Cdigo 0 1-7 8-128 129-252 253 254 255 Instruccin Time (fecha/hora) Mensajes predefinidos ASCII caracteres (ver anexo A) Caracteres varios (dependen del tipo de LCD) Comando especial: escritura en memoria Comando especial: comando carcter Reservado para futuros usos

1/10

Serie/i2C LCD y Reloj

Comandos de escritura:
Los comandos de escritura en el mdulo LCD tienen prefijado el cdigo (253). Se debe dejar un perodo de espera de 1000 ms (pause 1000) entre comandos de escritura. Cdigo 0 1-7 8 9 10 Instruccin Set clock time Set mensajes predefinidos 1-7 Set alarma (date/time) Set alarma (intervalo) Turn alarma off

Programa TEST del Mdulo LCD:


inicio: pause 500 bucle: serout 7,N2400, (254,128) serout 7,N2400, (Hola) end mueve cursor al principio de la primera lnea presenta texto en pantalla LCD espera para la inicializacin del LCD

Programacin de mensajes predefinidos dentro del mdulo LCD:


El mdulo admite la programacin de hasta 7 mensajes (1..7) de 16 caracteres cada uno. Estos mensajes quedarn almacenados aunque se desconecte el mdulo LCD. Los mensajes se defines de la forma (1), (2),(7). Los mensajes 1, 3, 5 y 7 se muestran en la lnea 1 del display. Los mensajes 2, 4 y 6 s muestran en la lnea 2 del display. La carga del mensaje en el mdulo se realiza mediante el comando (253), seguido de la direccin de memoria y el propio mensaje. Ejemplo:

inicio: pause 500 bucle: serout 7,N2400, (253,1,Jugador1= pause 1000 serout 7,N2400, (253,1,Jugador2= pause 500 goto bucle ) )

Visualizacin de mensajes predefinidos:


Se pueden visualizar los mensajes que previamente fueron definidos solo basta con enviar su cdigo del mensaje (1)..(7). Si se van a visualizar ms de un mensaje es necesario hacer una pausa de 10ms (pause 10) entre mensaje y mensaje con el fin de poder hacer la carga de la memoria interna del LCD.

2/10

Serie/i2C LCD y Reloj

Ejemplo:

inicio: pause 500 bucle: serout 7,N2400, (1) pause 10 serout 7,N2400, (2) pause 500 goto bucle

Visualizacin de mensajes predefinidos combinado con variables:


Es posible la combinacin de la visualizacin de mensajes predefinidos con textos alfanumricos almacenados en variables. Las variables se declaran precedidas del smbolo #, por ejemplo: #b1. Veamos un ejemplo de combinacin de ambos mtodos de visualizacin. Visualizaremos el resultado alcanzado por dos jugadores de los que se les ha definido un mensaje previo player1= como mensaje (1) y player2= como mensaje (2). Las variables que indican la puntuacin alcanzada por cada jugador se almacenarn en b1 y b2 respectivamente. El cdigo del programa quedara de la siguiente forma:

inicio: pause 500 bucle: serout 7,N2400, (1) pause 10 serout 7,N2400, (254,137,#b1, ) serout 7,N2400, (2) pause 10 serout 7,N2400, (254,201,#b2, ) let b1 = b1 + 1 let b2 = b2 + 1 pause 500 goto bucle
Nota: Notar que los mensajes con cdigo (1 o 2) son los primero que se visualizan. Posteriormente se produce un retardo de 10 ms (pause 10). Por ltimo se visualizar el resultado almacenado en las variables (#b1 o #b2). El valor a visualizar, almacenado en las variables, deber hacerse en una posicin determinada (posterior al mensaje, 9 caracteres). Para #b1 ser: (254,137) o sea 128+9 y para #b2: (254,201) resultado de 192+9. Tambin se le aaden dos espacios con el fin de que en la siguiente escritura sobrescriba la cifra antior con espacios para no ser visualizados (caso de que la cifra anterior tenga ms dgitos que la actual).

3/10

Serie/i2C LCD y Reloj

Visualizacin de caracteres especiales:


La aplicacin Programming Editor contiene un wizard (asistente) que permite la creacin de caracteres definidos por el propio usuario. Veamos como se utiliza: 1. Seleccionar el wizard en el men: PICAXE Wizards Axe033 Serial LCD. 2. Aparecer un editor de caracteres de forma que se dibujar el carcter a crear mediante el clic en la casilla correspondiente. Tambin deberemos indicarle el pin de salida (en este mdulo es el 7) y la direccin de la CGRAM. 3. Por ltimo hacer clic en Copy preload data para copiar el cdigo generado en el portapapeles de Windows (tambin lo pega directamente sobre la pantalla de edicin del cdigo).

Funcionamiento del reloj/alarma:


El mdulo LCD controlado por i2C se puede utilizar como reloj/alarma pero deberemos aadirle: Una pila de Litio de 3V. DS1307 (C.I. reloj en tiempo real). Instrucciones de montaje: 1. Colocar el DS1307 en el zcalo de 8 pines destinado para su conexin. Tener cuidado con la disposicin del mismo. 2. Colocar la pila de litio de 3V en su alojamiento con la cara positiva hacia arriba.

Nota: La pila de litio conserva el reloj DS1307 funcionando cuando el suministro de energa principal no est conectado. Esto garantiza el tiempo preciso dentro del mdulo. La pila de litio no da energa a la pantalla de cristal lquido o a la salida de pulsos. La duracin de la pila est estimada en 10 aos.

4/10

Serie/i2C LCD y Reloj

Input/output Power conexiones:


Main header (V+, 0V): Se conectar la alimentacin principal del mdulo (5-6V DC). Si se desea conectarlo a 4,5V se debe colocar un puente en J2 (power). Este puente cortocircuita el diodo de proteccin de tensin D1, dado que como tiene una cada de tensin de 0,7V que podra poner la pantalla muy oscura con una tensin inferior a 4,5V. Main header (SDA and SCL): stas son las conexiones del modo de trabajo del i2C. Solo pueden usarse cuando un puente ha sido soldado en J1 para colocar el mdulo en modo i2C. Main header (OUT): Salida de la alarma. Cuando se acciona pone a nivel alto la salida OUT durante 5 segundos. Puede conectarse cualquier dispositivo cuyo consumo no supere los 20mA. Pulse Output (PLS): La salida PLS entrega una onda cuadrada de 1 Hz (1 pulso por segundo) cuando el reloj opcional DS1307 est conectado. Unas resistencias de 330 estn conectados en la placa para permitir a un LED conectarlo directamente y producir una seal intermitente. La corriente de salida mxima es de 20 mA. Clock Jumper (CLK): Si se elige esta opcin el mdulo se pone en funcionamiento como reloj (CLK). Durante este modo las instrucciones no pueden ser enviadas por conexin serie. La salidad de pulsos y alarma funcionan con noralidad. En la pantalla del LCD se mostrar en tiempo en todo momento, cuando la alimentacin principal est conectada. LCD Backlight (LCD) (El LCD del modulo no tiene luz de fondo): Si el LCD dispone de luz de fondo se puede ajustar la iluminacin. Se debe soldar los conexiones A y K del LCD a la placa y aadir una resistencia en RB del valor indicado en el Datasheet del fabricante del LCD. Resonador Tuning (RST): Entrada para calibracin del oscilador interno.

5/10

Serie/i2C LCD y Reloj

Programacin de la hora del mdulo LCD:


Para configurar la hora del reloj del mdulo se deber utilizar un pequeo programa que se cargar a un PICAXE. A continuacin se muestra la estructura del programa. Una vez se envi el programa al mdulo la pila de litio mantendr la hora exacta durante 10 aos. En el ejemplo se configurar el reloj para las 22:00 del 25/11/01. La carga se efectuar con la instruccin de escritura (253), seguida por la direccin de memoria del reloj (0), la fecha y la hora (25/11/01 22.00 ):

inicio: pause 500 ajuste: serout 7,N2400, (253,0,25/11/01 22:00 ) pause 1000 end
Nota: La fecha y la hora se deben configurar exactamente como se muestra, usando el formato de hora de 24 horas: dd/mm/aa hh:mm. Los mensajes de escritura siempre deben ser de 16 caracteres de longitud, por ello se le debe agregar a la configuracin dos espacios en blanco para llegar a los 16 caracteres. Tener en cuenta que despus de cada orden de escritura se debe producir un lapsus muerto de 1000 ms (pause 1000). El ltimo serout muestra la fecha y hora para comprobar que se ha configurado correctamente. Para configurar la fecha y hora de forma exacta hacer la carga del proigrama con un minuto de anterioridad y posteriormente resetear el PICAXE justo en el momento que se cumpla el minuto.

Visualizacin de la hora:
El mensaje de Time ser actualizado con la fecha/hora cada vez que se use. El mensaje se visualizar usando el cdigo de caracteres 0. La fecha/hora se visualizar en la segunda lnea del LCD. El siguiente programa visualiza el mensaje 1 en la primera lnea y la fecha/hora en la segunda lnea. La pantalla se actualizar cada 0,5 segundos.

inicio: pause 500 ajuste: serout 7,N2400, (1) pause 10 serout 7,N2400, (0) pause 500 goto ajuste

6/10

Serie/i2C LCD y Reloj

Programacin de la alarma:
El pin de salida de la alarma se acciona (nivel alto durante 5 segundos) cuando se alcanzo el tiempo prefijado para el disparo de la misma. La alarma puede estar configurada para mostrar continuamente fecha/hora (cdigo de escritura 8), o bien puede repetir la presentacin fecha/hora cada cierto tiempo (cdigo de escritura 9). La duracin de la alarma debe estar programado en el mdulo usando un pequeo programa corriendo en un PICAXE-18 con el programa que se especifica mas adelante en el ejemplo. Ajuste de la alarma a un tiempo especfico: Para programar el reloj registro de la alarma para las 07:30 de cada da (cdigo de escritura 8), usar el siguiente programa. Este programa carga la instruccin de escritura (253), seguida par la direccin de la alarma (8) y del tiempo (00/00/00 07:30)

inicio: pause 500 ajuste: serout 7,N2400, (253,8,00/00/00 07:30 ) pause 1000 end
Nota: La fecha y la hora deben configurarse exactamente como se muestra. Se le deben aadir dos espacios al final del texto para garantizar que el mensaje tiene 16 caracteres. Tambin debe tenerse en cuenta que se debe aadir un tiempo de retardo despus de una orden de escritura de 1000 ms (pause 1000). Ejemplo: Para activar el despertador el primer da de todos los meses de todos los meses a medianoche

inicio: pause 500 ajuste: serout 7,N2400, (253,8,01/00/00 00:00 ) pause 1000 end

7/10

Serie/i2C LCD y Reloj


Ajuste de la alarma en un intervalo de tiempo: Para configurar la alarma para accionarse durante un intervalo de tiempo, en lugar de un tiempo exacto, usar el cdigo de escritura 9 en lugar de 9. Por ejemplo, para disparar la alarma cada diez minutos (usando cdigo de escritura 9):

inicio: pause 500 ajuste: serout 7,N2400, (253,9,00:10:00 pause 1000 end
Para configurar la alarma cada 30 segundos:

inicio: pause 500 ajuste: serout 7,N2400, (253,9,00:00:30 pause 1000 end
Para configurar la alarma cada 2 horas:

inicio: pause 500 ajuste: serout 7,N2400, (253,9,02:00:00 pause 1000 end )

Nota: El intervalo de disparo de la alarma es configurado por el nmero de horas (00 a 23), minutos (00 a 59) y segundos (00 a 59). El intervalo prctico menor es de 10 segundos, debido a los 5 segundos de duracin de la salida de la alarma. Comprobar que la longitud de los textos debe ser de 16 caracteres por lo que se le agregarn 8 espacios en blanco. Ajuste del paro de la alarma: Para desactivar cualquier tipo de alarma enviar el comando 10. Este comando no requiere rellenar de espacios en blanco hasta los 16 caracteres.

inicio: pause 500 ajuste: serout 7,N2400, (253,10) pause 1000 end 8/10

Serie/i2C LCD y Reloj

Anexo A:
Cuadro de caracteres memorizados en la CGRAM del mdulo LCD

9/10

Serie/i2C LCD y Reloj

Anexo B:
Prcticas para el manejo del mdulo LCD Prctica 1: Crear un programa para poner en hora el reloj y que muestre la hora. Prctica 2: Crear un programa que visualice la temperatura en el LCD

************************** ***** Termmetro ********** ************************** inicio: readtemp 1,b1 pause 500 serout 7,N2400, (254,128) serout 7,N2400, ("Temperatura:",#b1," C") goto inicio

10/10

Você também pode gostar