Вы находитесь на странице: 1из 3

Caracteres especiales LCD Aqu tenis un sencillo tutorial sobre la creacin de nuevos caracteres o smbolos en Displays alfanumricos.

Estos LCDs tienen normalmente un controlador HD44780 o compatible y se componen de una matriz de 5 pxeles horizontales por 8 verticales por carcter. En su memoria CGRAM puede almacenar hasta 8 nuevos caracteres.

La aplicacin de smbolos es muy utilizada para crear animaciones o en indicadores de estado, como podra ser el tringulo para Play, cuadrado para Stop, smbolo de batera, etc...

Esta matriz con cuadros nos ayudara a calcular los Bytes necesarios para crear un carcter o smbolo nuevo.

Los cuadrados coloreados en negro se suman de manera horizontal para formar una linea, y cada linea se suma independientemente. Ahora solo nos falta enviar la informacin al microcontrolador de la siguiente manera:

LCDOUT 254, 64, 30, 18, 18, 28, 20, 18, 17, 0

Donde LCDOUT es la instruccin que controla el LCD. Enviando 254 o $FE le indicamos al LCD que va a recibir un comando. El comando 64 indica al LCD que es el primer carcter de la memoria CGRAM. Los datos 30, 18, 18, 28, 20, 18, 17, 0 representan los Bytes del nuevo carcter.

Una vez echo esto, el nuevo carcter ya est grabado en la memoria CGRAM del LCD, pero no se visualizara hasta que lo utilicemos de la siguiente manera:

LCDOUT 0

Donde LCDOUT es la instruccin que controla el LCD. Y 0 es el primer carcter de la memoria CGRAM que previamente habamos grabado en el comando 64.

Para aadir ms caracteres a la memoria CGRAM tenemos que sumarle 8 al comando, en ese caso es 64 + 8 = 72 y as sucesivamente. En este ejemplo podemos observar los 8 comandos ya calculados con los Bytes de los nuevos caracteres.

LCDOUT 254, 64, 4,10,10,4,4,6,4,6 ;Lave POSICION "0" LCDOUT 254, 72, 4,14,31,21,31,31,27,27 ;Casa POSICION "1" LCDOUT 254, 80, 4,14,10,10,10,10,10,14 ;Bateria POSICION "2" LCDOUT 254, 88, 0,10,31,31,31,14,4,0 ;Corazn POSICION "3" LCDOUT 254, 96, 10,21,0,10,0,21,17,14 ;Sonrisa POSICION "4" LCDOUT 254, 104,0,0,0,4,2,31,2,4 Flecha derecha POSICION "5" LCDOUT 254, 112,4,14,14,14,14,14,21,21 ;Cohete POSICION "6" LCDOUT 254, 120,0,14,21,21,23,17,14,0 ;Reloj POSICION "7"

Una vez echo esto, para poder visualizarlos solo es necesario escribir la posicin donde se grabaron.

LCDOUT 0, 1, 2, 3, 4, 5, 6, 7

Donde LCDOUT es la instruccin que controla el LCD. Y 0 corresponde al carcter guardado en el comando 64. El 1 corresponde al carcter guardado en el comando 72 y as sucesivamente.

Para este tutorial se ha utilizado un microcontrolador PIC 16F628A y un lcd Powertip1602-G alfanumrico de 2 filas de 16 caracteres cada una. para la configuracin de los pines del LCD a 4bits usaremos la predefinida por el compilador pbp es decir los puertos A1, A2, A3, A4 seran los data e iran conectados al lcd a sus pines D4, D5, D6, D7. El puerto A4 corresponde a pin R/S del LCD y el puerto B3 al pin E. Igual que en la siguiente figura:

Est escrito en Lenguaje Basic, concretamente el PicBasic Pro 2.46C (PBP).

PAUSE 500 ;Tiempo para iniciar el LCD

LCDOUT 254,64, 4 ,10 ,10 ,4 ,4 ,6 ,4 ,6 ;Posicin 0(llave) LCDOUT 254,72, 4 ,14 ,31 ,21 ,31 ,31 ,27 ,27 ;posicin 1 (casa) LCDOUT 254,80, 0 ,14 ,27, 31 ,3 ,31 ,14 ,0 ;posicin 2 (Bateria) LCDOUT 254,88, 0 ,10 ,31, 31 ,31 ,14 ,4 ,0 ;posicin 3 (corazn) PAUSE 200 LCDOUT $FE,1 ;borrar la pantalla LCDOUT " infotronikblog " ;Imprime en pantalla los caracteres LCDOUT $FE, $C0, " " ,0,1,2,3 ;grabados en la CGRAM del LCD END

Вам также может понравиться