Home
Capítulo No. 07 Pantalla de Caracteres LCD - proyecto-test-hm1
Contents
1. A a a a Programaci n 1 Construya un programa junto a sus subrutinas para colocar en una pantalla LCD de caracteres tipo paralela s lo su nombre en la primera l nea Nota No deber utilizar ninguno de stos comandos LCDIN LCDOUT Si puede utilizar el comando LCDCMD Ahora repita el programa sin utilizar los comandos LCDIN LCDOUT ni el comando LCDCMD Sistema de Desarrollo para MC modelo MDK B28 185 www roso control com
2. 1 LCD alfanum rico 2 x 16 tipo paralelo 1 Resistencia de 10 KOhms 1 Potenci metro de 10 Kohms 1 Banco de Pulsadores 1 Un cable serial DB9 1 StampW v2 Beta 2 1 o superior Antes de energizar el sistema de desarrollo verifique cuidadosamente las conexiones pues podr a destruir la pantalla Los circuitos de la figuras No 7 3 y No 7 4 ser n utilizados durante los 4 ejercicios de este actividad por favor no los desmonte Ajuste el potenci metro en un nivel medio e introduzca al microcontrolador el programa 7_1 bsp Figura No 7 3 Conexi n del LCD al microcontrolador para el ejercicio 1 Fuente BASIC Stamp PBASIC Online Help Altavoz Piezoel ctrico Figura No 7 4 Conexi n de pulsadores y altavoz para el ejercicio 1 Fuente Elaboraci n Propia Sistema de Desarrollo para MC modelo MDK B28 159 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Programa 7 1 bsp Este programa tiene por objetivo mostrar 1 El uso de la pantalla LCD como dispositivo de visualizaci n 2 El uso de LCDCMD y LCDOUT para enviar comandos y mensajes a la pantalla LCD 13 Ejecutar la rutina de inicializaci n de la pantalla LCD 1 STAMP BS2p PBASIC 2 5 Declaraci n de Variables y Constantes BorrarLCD CO overCrsr CO Despertar CoO Modo4bits O Modo2linea CO LCDOFF CO LCDON CON IncrCrsr CO o 0000001 Limpiar pantalla 0000000
3. 5 LCDOU neal 14 5 CDpin Linea2 1 6 LCDOU nea2 13 6 CDpin Linea2 2 7 LCDOU inea2 14 7 FREQOUT Alarmapin 943 1061 l Sistema de Desarrollo para MC modelo MDK B28 184 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD EVALUACI N DEL CAP TULO Investigue los siguientes t picos Qu es una pantalla LCD de caracteres y para que sirve Cuantos tipos de pantallas LCD conoce usted explique Cual es la diferencia entre una pantalla de LCD de caracteres y una gr fica Cual es la diferencia entre una pantalla de LCD paralela y una serial Qu es la memoria CGRAM y cual es su utilidad Qu es la memoria CGROM y cual es su utilidad Cuales son las posiciones visibles y no visibles en una pantalla LCD Cual es la diferencia entre un comando y un dato para una pantalla LCD Por qu se tiene que inicializar a una pantalla LCD 10 Qu comandos debo utilizar para inicializar una pantalla LCD 11 Para que sirve el Comando LCDIN 12 Para que sirve el comando LCDOUT 13 Cuantos registros tiene la memoria EEPROM en un BASIC Stamp 2p 14 Para que se utiliza el comando DATA 15 Explique como funcionan los comandos READ y WRITE 16 Cuantas pantallas LCD se pueden conectar en forma simult nea en un BASIC Stamp 2p
4. LCDOUT LCDpin Linea2 PB1 CONTINUAR NESI BUTTON S51 0 255 0 pulset1 0 NPS1 PAUSE 100 LCDCMD LCDpin BorrarLCD LCDOUT LCDpin MoverCrsr 1 SCur 2 CCur LCDOUT LCDpin Linea2 3 SCurB 4 CCurB DO BUT S1 0 255 0 pulset1 1 SinCrsr BUT S2 0 255 0 pulset2 1 ConCrsr BUT S3 0 255 0 pulset3 1 SinCrsrPar BUT S4 0 255 0 pulset3 1 ConCrsrPar LOOP SinCrsr LCDCMD LCDpin LCDOFF LCDCMD LCDpin LCDON GOSUB Efectos GOTO Menu ConCrsr LCDCMD LCDpin LCDOFF LCDCMD LCDpin LCDONCrsr GOSUB Efectos GOTO Menu SinCrsrPar LCDCMD LCDpin LCDOFF LCDCMD LCDpin LCDONParp GOSUB Efectos GOTO Menu ConCrsrPar LCDCMD LCDpin LCDOFF LCDCMD LCDpin LCDONCrsrParp GOSUB Efectos GOTO Menu Configuraci n Inicial Espera hasta que PB1l sea presionado Limpiar la pantalla Permite desplegar el siguiente men de opciones si si Sd Sd fue presionado fue presionado fue presionado fue presionado Apagar pantalla Apagar pantalla Encender pantalla con Llamar a la subrutina Apagar pantalla Encender pantalla con sin cursor Apagar pantalla Encender pantalla con con cursor Sistema de Desarrollo para MC modelo MDK B28 166 www roso control com Sin Cursor Con Cursor Con Parpadeo Sin Parpadeo Encender la pantalla sin cursor Llamar a la subrutina Efectos cursor Efectos parpadeo activo parpadeo activo Cap
5. instrucciones que soporta el controlador HITACHI 44780 1 LCD alfanum rico 2x16 paralelo 1 Resistencia de 10 Kohms que maneja al LCD Entre las instrucciones se 1 Potenci metro de 10 Kohms encuentran desplazar el mensaje a la derecha 1 Banco de Pulsadores desplazar el mensaje a la izquierda mover el cursor a la 1 StampWw v2 Beta 2 1 o superior derecha mover el cursor a la izquierda posicionar el cursor en un car cter espec fico y las distintas configuraciones que se pueden aplicar al cursor de la pantalla Todas estas acciones se consideran instrucciones b sicas en el manejo de un LCD por medio de ellas puede implementar efectos visuales muy tiles para su proyecto Cuando se trabaja con un LCD hay que optimizar el espacio visual proporcionado por la pantalla Es necesario disponer del mismo de forma correcta a efectos de no confundir al usuario Tambi n es especialmente importante definir la cantidad y calidad de la informaci n a desplegar Figura No 7 6 Conexi n de los pulsadores al Basic Stamp para el ejercicio 2 Fuente Elaboraci n Propia Sistema de Desarrollo para MC modelo MDK B28 164 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Programa 7 _2 bsp Este programa tiene por objetivo mostrar como configurar en los distintos modos de operaci n de la pantalla LCD 1 STAMP BS2p PBASIC 2 5 Declaraci n de Variables y Constantes Bo
6. tico de la pantalla SI Desplazamiento autom tico de la pantalla NO Pantalla encendida Pantalla apagada Cursor visible Cursor invisible Cursor parpadeando Cursor sin parpadeo Desplazamiento de la pantalla Desplazamiento del cursor Desplazamiento a la derecha Desplazamiento a la izquierda Modo de 8 bits Modo de 4 bits 2 l neas 1 l nea 5x10 5x7 155 1 D C S B Descripci n Direcci n del cursor I D Auto desplazamiento de la pantalla S Encendido Apagado de la LCD D y del cursor C Parpadeo del cursor B Desplaza la pantalla o el cursor S C en la direcci n especificada por R L Ancho del bus de datos DL N mero de l neas N Tama o de la letra F Mueve el apuntador de la CGRAM a la posici n indicada Mueve el apuntador de la DDRAM a la posici n indicada Escribe informaci n CGRAM o DDRAM Lee informaci n CGRAM o DDRAM Cap tulo No 7 Pantalla de Caracteres LCD M S INSTRUCCIONES DE PBASIC LCDCMD Env a un comando a una pantalla LCD LCDIN LCDCMD P n Comando Pin Es una variable constante o expresi n 0 1 8 9 que indica cuales de los pines de E S ser n usados para manipular la pantalla LCD Comando Es una variable constante o expresi n 0 255 con el valor del comando a enviar al LCD ver tabla No 7 2 Recibe informaci n proveniente de una pantalla LCD y es empleada para leer e
7. tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_2 bsp SUBRUTINAS La rutina diferencia entre las opciones seleccionadas Efectos CDCMD CDpin BorrarLCD CCDOUT CDpin MoverCrsr 1 Mover Pantalla CDOUT CDpin Linea2 2 Mover Cursor DO BUT BUT LOOP MoverPant CDCMD CCDOUT CCDOUT Ss1 0 255 0 pulset1 1 MoverPant S2 0 255 0 pulset2 1 MoverCr CDpin BorrarLCD CDpin MoverCrsr Desplazar LCD CDpin Linea2 1 Izq 2 Der 3 Ex DO BUTTO BUTTO BUTTON LOOP Despder CDCMD CCDOUT s1 0 250 100 pulset1 1 Despizqg S2 0 250 100 pulset2 1 Despder S3 0 255 0 pulset3 1 Salir Dpin BorrarLCD Dpin Linea2 3 PRUEBA LCD PAUSE 5 FOR x CDC ro 14 PAUSI x 0 DCMD CDpin Moverpizq 300 TO 14 CDpin Moverpder PAUSE EXT 300 GOTO MoverPant Sistema de Desarrollo para MC modelo MDK B28 www roso control com Efectos se encarga de generar un conjunto d 167 demuestran la mensajes qu Limpiar la pantalla Mostrar por pantalla las opciones PB1 presionado se desplaza pantalla PB2 presionado se desplaza cursor Limpiar pantalla PB1 presionado cursor a la der PB2 presionado cursor a la izq Retornar al programa Limpiar pantalla Mensaje de prueba Ciclo para desplazamiento Desplazar m
8. Alfanum rica Pantalla en la cual se pueden presentar caracteres y s mbolos especiales en las l neas predefinidas del LCD Su especificaci n viene dada como cantidad de caracteres por columna y n mero de filas del display Por ejemplo 2 x 16 4 x 20 LCD Gr fica Pantalla en la cual se pueden presentar caracteres s mbolos especiales y gr ficos Su especificaci n viene dada en p xeles Por ejemplo 128 x 64 LCD Paralela Los datos y comandos son enviados a trav s de un bus de datos paralelo ya sea en modo de 4 o de 8 bits LCD Serial La pantalla es capaz de recibir la informaci n de manera serial asincr nica utilizando s lo 2 l neas para este fin Toda pantalla paralela puede ser convertida a serial mediante un circuito especializado como por ejemplo el Controlador serial para LCD modelo SLCD IC Las pantallas de LCD poseen un controlador empotrado dentro de su propio m dulo el cual se encarga de gestionar el control de sus terminales para la presentaci n de los Caracteres y almacena el conjunto predefinido de caracteres en una memoria no vol til El controlador m s utilizado para las pantallas alfanum ricas es el HITACHI 44780 151 Cap tulo No 7 Pantalla de Caracteres LCD Las pantallas LCD que incluyen un controlador interno y dedicado como el HITACHI 44780 pueden Presentar caracteres ASCII y griegos Recibir y mostrar caracteres personalizados e Desplazar los caracteres scro tanto a
9. Cargar los 5 caracteres en CGRAM Sistema de Desarrollo para MC modelo MDK B28 175 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_4 bsp CDCMD LCDpin MoverCrsr LCDOUT LCDpin Lineal 3 CARACTERES Mensaje inicial a ser devorado FOR Pos 0 TO 15 FOR Ani 0 TO 2 NEXT CCDOUT LCDpin Lineal Pos EXT DCMD LCDpin MoverCrsr FOR Pos 15 TO 0 FOR Ani 2 TO 4 EXT CDOUT LCDpin Linea2 Pos EXT CCDOUT LCDpin Lineal Pos Ani CDOUT LCDpin Linea2 Pos Ani CCDOUT LCDpin Linea2 1 PERSONALIZADOS Desplazamiento por toda la l nea Ciclo para producir animaci n en sentido izquierda a derecha Borrado de posici n Ciclo para producir animaci n en sentido derecha a izquierda SUB RUTINAS Inicializacion de la pantalla IniLcd PAUSE 500 CDC CDC CDC CDC CDC CDC CDC CDC CDC ETURN Dpin Despertar Dpin Despertar Dpin Despertar Dpin Modo4bits Dpin Modo2linea Dpin LCDOFF Dpin LCDON Dpin IncrCrsr Dpin BorrarLCD 0d E SY OGAOGA J Sistema de Desarrollo para MC modelo MDK B28 www roso control com Despertar la pantalla Despertar la pantalla Despertar la pantalla Configurar el bus de dato en modo de 4 bits Se c
10. Guide Parallax 2003 ningun Nulo guna Limpiar LCD Home LCD Incrementar cursor off LCD On LCD Parpadeo del cursor Cursor subrayado Cursor izquierda Cursor derecha Scroll izquierda Scroll derecha direcci n direcci n Mover a direcci n CGRAM Mover a direcci n DDRAM 1 2 12 13 14 16 20 24 28 64 128 Sistema de Desarrollo para MC modelo MDK B28 www roso control com e SN ale Atlas a Prosa mejo lelprebj ree 02 3 Ln Ll po EEEE e lr ejeje a i des 5 E digis Pp af are a eF HPY a apeje o Peau jaj ep ER E se PETE Tp la polo ea lZ le kaor ur es REE prea a pels PEER T ERER ps Hamar azek Tabla No 7 3 Setde caracteres para un Hitachi 44780 Fuente Manual del controlador HD44780 153 Cap tulo No 7 Pantalla de Caracteres LCD A n cuando los comandos de la tabla No 7 2 son suficientes para manejar la pantalla LCD en la mayor a de las aplicaciones el programador puede crear sus propios comandos de control utilizando para ello las especificaciones que suministra el fabricante En el caso de las pantallas que utilizan el controlador HITACHI 44780 se puede emplear la tabla No 7 5 Posiciones Visibles Posiciones no Visibles unean o 1123 e s 6171s 9 J10 12 12 13 20 35 en es seler esles rozs Izla zals lzelzzize lze Posiciones Visibles brea o 223 5 0 gt 0 90 n ujo e L nea 2 64 65 6
11. Posicionar el cursor 0110000 Despertar al LCD 0100000 modo de 4 bits de datos 0101000 modo de 2 l neas tama o de 5x8 0001000 Apagar la pantalla 0001100 Encender con cursor la pantalla 0000110 Auto incremento del cursor oe Je o o o oo Oo0oo00o0o0o0ooro o Pulsetl VAR Byte Espacio de trabajo de PB1 Pulset2 VAR Byte Espacio de trabajo de PB2 Pulset3 VAR Byte Espacio de trabajo de PB3 Pos VAR Byte Variable de uso general x VAR Nib Variable de uso general LCDPin PI PB1 PI Pulsador PB1 PB2 PI Pulsador PB2 PB3 PI Pulsador PB3 BZ PI Salida al piezoel ctrico ED PI Salida al LED Programa Principal Inicio GOSUB IniLcd Inicializaci n de la pantalla LOW LED Apagar el LED conectado a P12 Sistema de Desarrollo para MC modelo MDK B28 160 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_1 bsp DPin BorrarLCD Limpiar la pantalla CDPin MoverCrsr 3 MENU x x T tulo del Men CDPin MoverCrsr 64 1 BZ 2 LED 3 MSG Items del Men PB1 0 255 0 pulset1 1 PS1 Si PB1 fue presionado va a PS1 PB2 0 255 0 pulset2 1 PS2 Si PB2 fue presionado va a PS2 PB3 0 255 0 pulset3 1 PS3 Si PB3 fue presionado va a PS3 CDCMD LCDPin BorrarLCD Limpiar pantalla CCDOUT LCDPin MoverCrsr 64 Sonido Enviar mensaje a la posici n FREQOUT BZ 1500 1200 Generar el sonid
12. Z etc El pulsador 1 PB1 permite mover el cursor a la izquierda Proceda a descargar en el BASIC Stamp el programa 7_3 bsp Programa 7 3 bsp Este programa tiene por objetivo mostrar 1 El uso de los comandos LCDCMD y LCDOUT para enviar comandos y mensajes al LCD 2 El uso del comando LCDIN para leer informaci n de la memoria DDRAM 2 El uso de los comandos LOOKUP Y LOOKDOWN 1 STAMP_BS2p PBASIC 2 5 Declaraci n de Variables y Constantes BorrarLCD CON 00000001 Limpiar pantalla MoverCrsr CON 10000000 Posicionar el cursor Despertar CON 00110000 Despertar Modo4bits CON 00100000 odo de 4 bits de datos Modo2linea CON 00101000 odo de 2 l neas tama o de 5x8 LCDOFF CON 00001000 Apagar la pantalla LCDON CON 00001100 Encender con cursor la pantalla IncrCrsr CON 00000110 Auto incremento del cursor InicioLCD CON 00000010 Posici n inicial del LCD LCDONCrsr CON 00001110 Encender con cursor la pantalla Sistema de Desarrollo para MC modelo MDK B28 169 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_3 bsp EspBlanco CO Espacio en blanco Pulset1 VA Espacio de trabajo PB1 Pulset2 VA Espacio de trabajo PB2 Pulset3 VA Espacio de trabajo PB3 Pulset4 VA Espacio de trabajo PB4 Letra VA Contiene el dato a mostrar POS VA Guarda la posici n en la pantalla x VA Variable de uso general LCDpin PI Terminal En
13. la derecha como a la izquierda e Cambiar el aspecto y el movimiento del cursor e Direccionar de manera simple la posici n de visualizaci n de los caracteres Los terminales de conexi n de las pantallas LCD de caracteres han sido estandarizados siendo generalmente compatibles pin a pin con la tabla No 7 1 Terminal Nombre Funci n Descripci n Vss 6 7 o ES DAOIS 8 op Es DO 9 R Eas DATO k 133 D es DO f Tabla No 7 1 Terminales de Conexi n para una LCD alfanum rica est ndar Fuente The Extended Concise LCD Data Sheet for HD44780 http www beyondlogic com Sistema de Desarrollo para MC modelo MDK B28 152 www roso control com Vocabulario sobre LCD CGRAM Character Generator RAM Memoria vol til de 64 bytes que permite almacenar hasta 8 Caracteres personalizados para ser mostrados en la pantalla DDRAM Display Data RAM Memoria vol til de 80 bytes en la cual se almacenan los caracteres que se van a mostrar en la pantalla CGROM Character Generator ROM Memoria no vol til que almacena los caracteres predefinidos soportados por la pantalla y su controlador Ocho Bits Modo de trabajo en el que se utilizan todos los bits para la transmisi n de los datos y los comandos hacia una LCD Cuatro Bits Modo de trabajo en el cual la transferencia de informaci n se efect a por medio de los cuatro 4 bits m s significativos El modo de traba
14. 02 02 07 0F S 0F r T r 08 1C 1E 1E 1E 1C 18 lla 6 03 02 E 7 1 08 08 08 08 08 08 08 TA 02 03 1 1C 1E 1E 1E 1C 18 Pantalla 7 DATA 03 02 E 1 1 08 DATA 03 03 07 E 1 Tey Pantalla 8 DATA 03 02 02 02 02 1 1 08 08 08 18 DATA 03 03 07 0F 0F S 0F 18 18 1C 1E 1E 1E 5 1 18 18 5 08 5 08 08 08 08 08 5 508 08 08 504 02 02 502 04 18 08 08 08 08 08 1E S1E S1E 1 18 Sistema de Desarrollo para MC modelo MDK B28 180 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_5 bsp Pantalla 9 DATA 03 02 02 02 02 02 03 03 7 18 08 08 08 08 08 1 DATA 03 03 07 0F 0F 0F 07 03 1 18 518 1C 1E 51E 1E 1 Pantalla 10 TA 03 02 02 02 02 03 03 03 18 TA 03 03 07 0F 0F 0F 07 03 d 18 Pantalla 11 TA 03 02 02 02 03 03 03 03 18 0 TA 03 03 07 0F 0F 0F 07 03 1 18 Pantalla 12 TA 03 02 02 03 03 03 03 03 TA 03 03 07 0F 0F 0F 07 03 TA Pantalla 13 TA 03 02 03 03 03 03 03 03 TA TA 03 03 07 0F 0F 0F 07 03 TA Pantalla 14 DATA 03 03 03 03 03 03 03 03 TA DATA 03 03 07 0F 0F 0F 07 03 DATA Pantalla de Alarma UltimaP DATA 1C 1D 1D 1D 1D 1D 1D 1 DATA 0
15. 6 67 68 69 7o 71 72 73 74 75 76 77 78 Linea 3 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Linea 4 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 Tabla No 7 4 Posiciones en una pantalla LCD de 2x16 y 4x20 N meros en Hexadecimal Fuente PBASIC Syntax Guide Parallax 2003 Contrast AAA AAA 10 k amp 10 k amp 3 10 11 12 13 14 Figura No 7 2 Esquema de conexiones entre una pantalla LCD y un BASIC Stamp modelo BS2p Fuente PBASIC Syntax Guide Parallax 2003 Sistema de Desarrollo para MC modelo MDK B28 154 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Tabla No 7 5 Registro de configuraci n para el controlador HITACHI 44780 Fuente 7 e Extended Concise LCD Data Sheet for HD44780 http www beyondlogic com Instrucci n Modo de entrada Control de pantalla y del cursor Desplazamiento Selecci n de Funciones Mover a direcci n CGRAM Mover a direcci n DDRAM Escribir al LCD Leer desde el LCD 1 D Om Oro ro ro S C Orme R L T Oro ro rme N Om Sistema de Desarrollo para MC modelo MDK B28 www roso control com RS RW Y D6 D5 D4 D3 D2 D1 DO ODE ODE 1 DL N F Direcci n 1 Direcci n Dato m m Rh o Dato Descripci n de los Bits Movimiento del cursor a la derecha Movimiento del cursor a la izquierda Desplazamiento autom
16. 7 17 17 17 17 17 17 1 DATA 1D 1D 1B 17 17 17 1B 1 UltimoC DATA 17 17 1B 1D 1D 1D S1B 0 08 08 08 08 1 18 5 8 1C S51E 1E S1E D 7 C gt Declaraci n de Variables y Constantes Constantes de LDC NoComando CON 00 BorrarLCD CON 01 Limpiar pantalla overCrsr CO 00 Posicionar el cursor Despertar CO 00 Despertar Modo4bits CON 00 odo de 4 bits de datos Modo2linea CON 00 Modo de 2 l neas tama o de 5x8 00101100 5x10 LCDOFF CO 00 Apagar la pantalla LCDON CO 00 Encender sin cursor la pantalla IncrCrsr Auto incremento del cursor CGRam 000 Apuntador a la CGRAM Lineal 000 L nea 1 de la pantalla Linea2 000 L nea 2 de la pantalla Sistema de Desarrollo para MC modelo MDK B28 181 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_5 bsp LCDpin Conexi n del LCD Alarmapin Dir Direcci n de la EEPROM a leer Caracter Bytes del car cter Posici n en la pantalla Xx Variable que simula la medici n i Repetici n de Se al de Alarma Pantalla Pantallas que componen la animaci n Programa Principal Inici PAUSE 500 GOSUB InitLCD Rutina de inicializaci n del LCD DO FOR x 0 TO 255 Simulaci n de la medici n de temperatura Pantalla x 18 Equivalencia entre l
17. CDOUT LCDpin Lineal E CDpin Lineal 2 1 Term metro lado Izq CDOUT LCDpin Linea24 CDpin Linea2 2 3 a Term metro lado Der CDOUT LCDpin Lineal E CDpin Linea1 14 1 CCDOUT LCDpin Linea24 z CDpin Linea2 14 3 RETURN Rutina para actualizar el rdo a la medici n de temperatura a Actualizar Texto LCDOUT LCDpin Linea2 5 DEC3 x 20 DF C SELECT Pantalla E 0 TO 2 DOUT LCDpin Lineal 4 Frio 3051 6 DOUT LCDpin Lineal 4 Tibio T TO 10 DOUT LCDpin Lineal 4 Caliente TO 13 CDpin Lineal 4 Muy Cal Larma Sistema de Desarrollo para MC modelo MDK B28 183 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_4 bsp Rutina que genera una Se al de Alarma Alarma LCDCMD LCDpin CGRam FOR Dir 0 TO 31 EAD Dir Caracter DOUT LCDpin NoComando Caracter LCDpin CGRam 32 Dir UltimaP TO UltimoC 7 D Dir Caracter DOUT LCDpin NoComando Caracter TO 8 T LCDpin Lineal l i neal 13 0 CDpin Lineal 2 3 ineal1 14 1 CDpin Linea2 1 inea2 13 2 CDpin Linea2 2 s nea2 14 3 T Alarmapin 943 1194 CDpin 128 4 Peligro CDpin Lineal 1 4 LCDOUIT i neal 13 4 CDpin Lineal 2
18. Cap tulo No 7 Pantalla de Caracteres LCD CAP TULO No 07 PANTALLA DE CARACTERES LCD Sistema de Desarrollo para MC modelo MDK B28 150 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD PANTALLA LCD Introducci n En cap tulos anteriores se han utilizado como dispositivos de visualizaci n los diodos LED y la pantalla de LEDs de siete segmentos Estos han demostrado ser sencillos eficientes y econ micos como elementos de visualizaci n Sin embargo existir n ocasiones donde se necesite visualizar una gran cantidad de informaci n o texto alfanum rico y es precisamente aqu donde la pantalla de cristal l quido LCD lo puede hacer mejor que cualquier otro dispositivo En este cap tulo se har una explicaci n detallada acerca del funcionamiento de una pantalla LCD de caracteres la misma se utilizar de ahora en adelante en casi la totalidad de los experimentos La Pantalla LCD es uno de los perif ricos m s empleados para la presentaci n de mensajes variables y casi cualquier informaci n proveniente de un microcontrolador Gracias a su flexibilidad buena visibilidad y precio reducido se ha introducido de manera determinante en el mercado Figura No 7 1 Arriba pantalla LCD Alfanum rica de 2 x 16 Abajo pantalla LCD Gr fica de 128 x 64 p xel Fuente http www crystalfontz com Sistema de Desarrollo para MC modelo MDK B28 www roso control com Vocabulario sobre LCD LCD
19. IN LCDPin 0 x Lee la letra en la LOOKDOWN x ABCDEFGHIJKLMNOPORSTUVWXYZ x Busca el ndice de RETURN Muestra el car cter apuntado por x en la posici n pos Mostrar _LCDChar LOOKUP x ABCDEFGHIJKLMNOPORSTUVWXYZ Letra Muestra el car cter CDOUT LCDpin MoverCrsr Pos Letra Mostrar la letra CCDCMD LCDpin MoverCrsr Pos TURN Mostrar Flechas CCDOUT LCDpin MoverCrsr 64 7F CCDOUT LCDpin MoverCrsr 79 7E CDCMD LCDpin MoverCrsr Pos TURN Sistema de Desarrollo para MC modelo MDK B28 172 www roso control com la pos indic izquierda derecha pantalla Home pos actual LCD la letra x de la lista uestra las flechas que indican en cual sentido se puede seguir avanzando Cap tulo No 7 Pantalla de Caracteres LCD EJERCICIO L CARACTERES PERSONALIZADOS Objetivo Utilizar el Software LCD Character Creador para generar caracteres personalizados y visualizarlos en la pantalla Construir una peque a animaci n en el LCD Monte en el protoboard que acompa a al sistema de Elementos a Utilizar s desarrollo MDK B28 el esquema de la figura No 7 6 1 BASIC Stamp 2p Conecte el altavoz piezoel ctrico del sistema al pin P12 1 M dulo LCD alfanum rico 2x16 paralelo del BASIC Stamp 1 Software LCD Character Creator 1 Resistencia de 10 Kohms 1 Potenci metro de 10 Kohms 1 StampW v2 Beta 2 1 o superior 1 Cable s
20. a dos l neas de 5 x 8 la pantalla Encender la pantalla sin cursor Ajusta Limpia Sistema de Desarrollo para MC modelo MDK B28 www roso control com la pantalla para auto incremento la pantalla 168 Cap tulo No 7 Pantalla de Caracteres LCD EJERCICIO 3 UN EDITOR DE MENSAJES Objetivos Manipular una pantalla de cristal l quido paralela de 2x16 por medio de los comandos soportados por el microcontrolador BS2p para implementar un programa que permita editar un mensaje mostrado por la pantalla LCD Utilizar los comandos LOOKUP y LOOKDOWN de PBASIC para buscar informaci n en arreglos Elementos a Utilizar Mantenga en el protoboard del sistema de desarrollo MDK B28 el esquema electr nico que se muestra en la 1 BASIC Stamp 2p figura No 7 6 En el siguiente programa se 1 LCD alfanum rico 2 x 16 paralelo implementar un sencillo editor de texto donde por 1 Resistencia de 10 Kohms medio de cuatro pulsadores se le permitir al usuario 1 Potenci metro de 10 Kohms 1 Banco de Pulsadores desplazarse dentro de la pantalla en la primera fila y 1 Un cable serial DB9 modificar un texto de 16 caracteres El pulsador 4 PB4 1 StampW v2 Beta 2 1 o superior ubicado en el terminal P11 permite mover a la derecha el cursor El pulsador 3 PB3 permite cambiar la letra en orden ascendente es decir A B C etc El pulsador 2 PB2 permite cambiar la letra en orden descendente es decir C B A
21. a letra a mostrar Presentar nueva letra en la LCD Si pos es 0 implica que el fin de la pantalla por la izquierda en cuyo caso s lo se muestra la flecha a la derecha Mover una posici n a la izquierda Mostrar las dos flechas SUBRUTINAS Inicializacion de la pantalla IniLcd E 1000 CDpin Despertar Dpin Despertar Dpin Despertar odo4bits odo2linea CCDOFF CDONCrsr 7 Dpin Dpin Dpin Dpin Dpin IncrCrsr Dpin BorrarLCD y Sistema de Desarrollo para MC modelo MDK B28 www roso control com Despertar la pantalla Despertar la pantalla Despertar la pantalla Configurar el bus de dato en modo de 4 bits Se configura a dos Apagar la pantalla Encender la pantalla con parpadeo activo Ajusta la pantalla para auto incremento Limpia la pantalla l neas de 5x8 171 Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_3 bsp Mensaje a mostrarse al iniciar el programa Mensaje Inicial CDCMD LCDpin BorrarLCD Limpiar la pantalla CDOUT LCDpin MoverCrsr ROSO ELECTRIC S Env a el mensaje a CDOUT LCDpin MoverCrsr 64 7F Enviar flecha a la CDOUT LCDpin MoverCrsr 79 7E Enviar flecha a la CDCMD LCDpin InicioLCD Ir al inicio de la RETURN Obtiene el car cter visualizado en la posici n actual del LCD Obtener _LCDChar 255 CCD
22. a medici n y el term metro GOSUB Cargar Pantalla Carga de la pantalla seg n temperatura GOSUB Actualizar Pantalla Muestra la pantalla adecuada GOSUB Actualizar Texto Actualizaci n de mensajes PAUSE 250 EXT LOOP 1 SUBRUTINAS Inicializacion de la pantalla InitLCD PAUSE 0 CDC Dpin Despertar CDC Dpin Despertar Despertar la pantalla CDC Dpin Despertar Despertar la pantalla CDC Dpin Modo4bits Configurar el bus de dato en modo de 4 bits CDC Dpin Modo2linea Se configura a dos l neas de 5x8 CDC Dpin LCDOFF Apagar la pantalla 0 Dpin LCDON Encender la pantalla sin cursor Dpin IncrCrsr Ajusta la pantalla para auto incremento Dpin BorrarLCD Limpia la pantalla Despertar la pantalla Ad dd A a VUUUUU UU UU Sistema de Desarrollo para MC modelo MDK B28 182 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_5 bsp Rutina para cargar la pantalla en la GCRAM Cargar Pantalla LCDCMD LCDpin CGRam Iniciar en car cter 0 de CGRAM FOR Dir 32 Pantalla TO 32 Pantalla 1 1 Lazo iterativo para leer desde la EEPROM del BS los 4 caracteres de cada pantalla READ Dir Caracter LCDOUT LCDpin NoComando Caracter NEXT RETURN Rutina para actualizar la animaci n muestra los caracteres almacenados en la CGRAM en la pantalla Actualizar Pantalla
23. able del LCD PB1 PI Pulsador PB1 PB2 PI Pulsador PB2 PB3 PI Pulsador PB3 PB4 PI Pulsador PB4 Programa Principal Inicio GOSUB IniLcd B Mensaje Inicial PB4 0 255 0 Pulset4 1 Derecha presionado derecha PB3 0 254 254 Pulset3 1 Arriba presionado letra PB2 0 254 254 Pulset2 1 Abajo presionado letra PB1 0 255 0 Pulset1 1 Izquierda presionado izquierda ha Pos 15 THEN Si Pos es 15 implica el fin CDOUT LCDpin MoverCrsr EspBlanco por la derecha solo mostrar flecha CDCMD LCDpin MoverCrsr flecha a la izq ELSE Pos Pos 1 Incrementar posici n a hacia la derecha GOSUB Mostrar Flechas Mostrar ambas flechas de desplazamiento ENDIF GOTO Salto Sistema de Desarrollo para MC modelo MDK B28 170 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_3 bsp Arriba GOSUB Obtener _ x x 1 MAX GOSUB Mostrar_ GOTO Salto LCDChar 26 LCDChar Abajo GOSUB Obtener _LCDChar x x 1 MIN 0 GOSUB Mostrar_LCDChar GOTO Salto Izquierda IF Pos CCDOUT CDCMD ELSE Pos Pos 1 GOSUB Mostrar Flechas ENDIF GOTO Salto O THEN CDpin MoverCrsr 64 EspBlanco CDpin MoverCrsr Lee del LCD la letra que se quier ditar Determina cual es la nueva letra a mostrar Presentar nueva letra en la LCD Lee del LCD la letra que se quier ditar Determina cual es la nuev
24. as del LCD para luego hacerlo parpadear Sistema de Desarrollo para MC modelo MDK B28 162 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Esperar al menos 15ms luego que Vdd sobrepase de 4 5V RS R W DB7 DB6 DB5 DB4 0 0 0 0 1 1 Esperar al menos 4 1ms RS R W DB7 DB6 DB5 DB4 0 0 0 0 1 1 Esperar al menos 100us RS R W DB7 DB6 DB5 DB4 0 0 0 0 1 1 5 n 5 z U o N U w U w u U w A CAMBIA A MODO DE 4 BITS ox APAGA EL LCD ENCIENDE EL LCD Y CONFIGURA CURSOR AJUSTA EL DESPLAZAMIENTO DEL CURSOR o ojo o ojo ojo ojo ojo O Oo ojo oje oje O 2 OJO Oo OJO OU OJO ojn ojo m OJO ojo ojx meje e OV O u Ojo O x OJO o ojo o o o oja o BORRAR CONTENIDO DEL LCD Figura No 7 5 Diagrama de flujo para la inicializaci n de un LCD con el controlador HITACHI 44780 Fuente Fuente Hitachi HD44780 Manual del usuario Sistema de Desarrollo para MC modelo MDK B28 163 www roso control com SELECCI N DE N MERO DE L NEAS Y FUENTE Cap tulo No 7 Pantalla de Caracteres LCD EJERCICIO 2 ACCIONES B SICAS CON EL LCD Objetivo Utilizar el BASIC Stamp 2p para manipular una pantalla de cristal l quido paralela de 2x16 y configurarla en sus distintos modos de operaci n Elementos a Utilizar Monte el circuito de la figura No 7 6 y proceda a descargar el programa 7_2 bsp 1 BASIC Stamp 2p En este programa se implementan las distintas 1 Un cable serial DB9
25. da p xel de modo que si el correspondiente bit es uno el p xel se mostrar oscuro opaco de lo contrario ser claro transparente Sistema de Desarrollo para MC modelo MDK B28 173 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Font C 5x10 Font 4 characters Normally used as the cursor line LCD Character Creator m Aco Character Creator la File Edit Help Fie Edit Help DO BESO A DEBESIS Preview 1F Preview lt Lead tt 32 a Lead tt 32 pe er EE Follow 32 H Follow 32 Normally used as the cursor line CharO DATA 0E 1F 1C 18 1C 1F 0E 00 pack2 LCD pack3 LCD cenaro DATA 0E 1F 1F 1F 1F 1F 0E 00 Figura No 7 7 Ejemplos de creaci n de caracteres con el programa LCD Character Creator Fuente Elaboraci n Propia Introduzca el programa 7_4 bsp ejec telo y analice su funcionamiento Programa 7_4 bsp Este programa tiene por objetivo 1 Utilizar la directiva DATA para almacenar informaci n en la 2 Visualizar en la pantalla LCD caracteres personalizados 13 Crear una animaci n sencilla EPROM del BS2p SSTAMP BS2p PBASIC 2 5 Sistema de Desarrollo para MC modelo MDK B28 174 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_4 bsp Declaraci n de Variables y Constantes Pac
26. ensaje a la izquierda Ciclo para desplazamiento Desplazar a la derecha el mensaj Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_2 bsp MoverCr LCDCMD LCDOUT LCDOUT Ciclo BUTTON BUTTON BUTTON GOTO C Crder LCDCMD PAUSE GOTO C Crizq LCDCMD PAUSE GOTO C Salir LCDCMD RETURN LCDpin BorrarLCD Limpiar la pantalla LCDpin MoverCrsr 1 Izq 2 Der 3 Ex Mostrar el siguiente men de opciones LCDpin Linea2 3 PRUEBA LCD s1 0 250 100 pulsetl S2 0 250 100 pulset2 S53 0 255 0 pulset3 1 iclo LCDpin Movercder 300 iclo LCDpin Movercizq 300 iclo LCDpin BorrarLCD 1 Crizq 1 Crder Salir PB1 presionado mover cursor a la der PB2 presionado mover cursor a la izq PB3 presionado retornar al programa Desplazar cursor a la derecha Desplazar cursor a la izquierda Limpiar la pantalla Retornar IniLcd IniLcd PAUS LCDCMD PAUS LEDC PAUS LCDCMD PAUS LEDE LEDGE LEDE LCDC LEDC LCDC RETURN D D D D D D inicializa la pantalla 1000 LCDpin Despertar 10 LCDpin Despertar LCDpin Despertar 1 LCDpin Modo4bits LCDpin Modo2linea LCDpin LCDOFF LCDpin LCDON LCDpin IncrCrsr LCDpin BorrarLCD en modo Desper Desper Desper 4 bits 2 l neas tar la pantalla tar la pantalla tar la pantalla Configurar el bus de dato en modo de 4 bits Se con Apagar figura
27. erial DB9 LCD Character Creator LCD Character Creator es un programa propiedad de Parallax Inc el cual facilita la creaci n de caracteres personalizados en pantallas LCD que utilicen el controlador HD44780 de HITACHI o alg n otro compatible con ste En los ejercicios anteriores se ha manejado la pantalla LCD de casi todas las formas posibles pero se ha hecho uso exclusivo del conjunto de caracteres almacenado en la memoria CGROM propia del controlador de la pantalla Ahora bien en este ejercicio vamos a crear nuestro propio conjunto de caracteres para de esta forma mejorar del despliegue visual en la pantalla LCD La pantalla LCD dispone de un espacio de memoria RAM en el cual se pueden almacenar hasta 8 caracteres personalizados de 5x8 p xeles Este espacio es llamado CGRAM El contenido de la CGRAM puede ser modificado din micamente durante la ejecuci n del programa raz n por la cual es ilimitado el n mero de caracteres que se pueden crear y mostrar considerando claro que cada uno de ellos ocupa 8 bytes en caso de ser fuente 5x8 si se usa fuente 5x11 ser n 11 bytes por car cter de la memoria del microcontrolador La creaci n de un car cter es sencilla si utilizamos el programa LCD Character Creador Tomando como referencia la figura No 7 7 podemos darnos cuenta que cada fila de la matriz representa un byte donde cada columna es un bit del mismo El valor l gico de cada bit se relaciona con el estado de ca
28. jo de 4 bits permite reducir el n mero de terminales del microcontrolador destinados a la interfaz del LCD pero se obtiene una menor velocidad de transferencia de la informaci n Cap tulo No 7 Pantalla de Caracteres LCD La informaci n que se env a a la pantalla LCD puede interpretarse de dos maneras como un comando cuando se coloca al terminal denominado RS en nivel bajo Y como un car cter cuando el terminal RS est en nivel alto Un comando es un dato num rico de 8 bits que le indica al controlador HITACHI 44780 o compatible que debe realizar una cierta operaci n Valor mand DE comandos Num rico Descripci n No se efect a operaci n especial Limpia la pantalla y desplaza el cursor a la posici n 0 Home Mueve el cursor a la posici n P sin desplazar la pantalla Apaga al LCD sin perder los datos que esta ten a Enciende al LCD sin mostrar el cursor y con el ltimo contenido almacenado en buffer Enciende el LCD con el cursor parpadeando Enciende el LCD con el cursor con un subrayado e a la izquierda a la derecha Desplaza la pantalla 1 car cter a la izquierda Desplaza la pantalla 1 car cter a la derecha Mueve el apuntador a una localidad de la memoria de generaci n de caracteres Character Generator RAM Mueve el cursor a una localidad de la memoria de visualizaci n de caracteres Display Data RAM Tabla No 7 2 Comandos de uso com n de un LCD Fuente PBASIC Syntax
29. k0O DATA 0E 1F 1C 18 1C 1F 01 Car cter Pack1 DATA 0E 1F 1F 5 18 1F 1F 01 Car cter Pack2 DATA 0E 1F 1F S1F 1F 1F 01 Car cter Pack3 DATA 0E 1F 1F 503 1F 1F 0E 00 Car cter Pack4 DATA 0E 1F 07 503 07 1F 0E 00 Car cter BorrarLCD GO overCrsr CO Despertar co odo4bits CO odo2linea CoO LCDOFF CO LCDON CO IncrCrsr CO CGRam TO Lineal CO Linea2 CO Ao 0000 0000 0110 0100 0101 0001 00011 000011 100000 000000 0000 Limpiar pantalla Posicionar el cursor Despertar odo de 4 bits de datos odo de 2 l neas tama o de 5x8 S00101100 5x10 Apagar la pantalla Encender sin cursor la pantalla Auto incremento del cursor Apuntador a la CGRAM L nea 1 de la pantalla L nea 2 de la pantalla oe Je o o 0 0 0 0 0 0 0 0 0 0 0 0 0 oe Je O Ao o A OO 0 0 0 0 0 P 0 Oo0o0O0O0O0O0O0O0Oo0OoRrp o p o Dir VAR Byte Direcci n de la EEPROM a leer Caracter VAR Byte Bytes del car cter Verificar VAR Byte Bytes escritos en CGRAM Pos VAR Byte Posici n en la pantalla Ani VAR Byte Caracteres de la animaci n LCDpin CO 0 Pin de habilitaci n del LCD 1 Programa Principal Inicio PAUSE 500 GOSUB IniLcd Inicializa al LCD D LCDpin BorrarLCD Borrar pantalla D LCDpin CGRam Apuntar a CGRAM Dir Pack0 TO Pack4 7 Dir Caracter Leer caracteres desde EEPROM DOUT LCDpin 0 Caracter
30. l contenido de las memorias DDRAM y CGRAM LCDOUT LCDIN Pin Direcci n Datos Pim Es una variable constante o expresi n 0 1 8 9 que indica cuales de los pines de E S ser n usados para manipular la pantalla LCD Direcci n Es una variable constante o expresi n 0 255 que indica la direcci n de memoria RAM de la pantalla LCD que se quiere leer Datos Es un listado de variables con sus respectivos modificadores de formato que definen como ser interpretada la informaci n entrante Env a un comando seguido de al menos un byte de datos al LCD LCDOUT Pin Comando Datos Pin Es una variable constante o expresi n 0 1 8 9 que indica cuales de los pines de E S ser n usados para manipular la pantalla Comando Es una variable constante expresi n 0 255 con el valor del comando a enviar al LCD Datos Es una lista de variables constantes o expresiones con sus respectivos modificadores que indican la forma en que ser n transmitidos a la pantalla Sistema de Desarrollo para MC modelo MDK B28 156 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD LOOKUP Efect a la b squeda de un elemento dado su ndice dentro de una lista LOOKUP Indice Valoro Valori ValorN Variable e Indice Es una variable constante o expresi n en el rango de O a 255 que indica la posici n dentro de la lista del elemento que se desea extraer e Valor0 Valori ValorN Son va
31. l proceso de descarga del programa al BASIC Stamp Simbolo DATA XQDirecci n Word Dato Y Dato e S mbolo Es un par metro opcional Consiste en un nombre simb lico que ser definido autom ticamente como una constante igual a la localidad de memoria donde se almacene el primer dato e Direcci n Es un par metro que indica la localidad de inicio donde se desea grabar los datos e Dato Constante o expresi n de 0 a 65535 que se desea almacenar en la EEPROM del BS2p e Word Modificador opcional para manipular variables de 16 bits READ Lee una o m s localidades de la memoria EEPROM y almacena en una o m s variables el contenido de la s misma s READ Localidad Word VariableX XWord Variable y e Localidad Es una variable constante o expresi n de 0 a 2047 que indica la direcci n de la EEPROM cuyo contenido se quiere leer e Variable Es una variable generalmente tipo byte donde se almacena el contenido de la localidad le da e Word Modificador opcional para manipular variables de 16 bits Sistema de Desarrollo para MC modelo MDK B28 158 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD EJERCICIO l CONOCIENDO E INICIANDO AL LCD Objetivo Manipular una pantalla de cristal l quido paralela de 2x16 como elemento de visualizaci n Elementos a Utilizar Monte en el protoboard que acompa a al sistema de desarrollo MDK B28 el esquema de la figura No 7 3 1 BASIC Stamp 2p
32. lla O U UUUUUUU O 4004000000 UUUUOUU UU UU 2004000000000 3 d El programa 7_1 bsp muestra como efectuar las operaciones m s simples con una pantalla LCD es decir inicializarla y mostrar en ella una serie de caracteres Merece especial atenci n la rutina de inicializaci n pues de su correcto funcionamiento depender que la pantalla reconozca los comandos y datos que le ser n enviados posteriormente Si no puede lograr una visualizaci n correcta de la pantalla ajuste el contraste mediante el potenci metro RP La figura No 7 5 muestra el diagrama de flujo para inicializar una pantalla LCD en modo de 4 bits La rutina IniLcd hace uso de este diagrama para inicializar al LCD en modo de 4 bits 2 l neas fuente 5x8 pantalla sin cursor y con auto incremento IniLcd se inicia con una espera de 1000 ms tiempo mucho mayor que el requerido que garantiza la estabilizaci n de la pantalla y de sus circuitos internos El programa presenta un men al usuario y ejecuta una cierta acci n de acuerdo a la selecci n que se efect e Si se selecciona la opci n 1 del men BZ se producir un sonido de unos 4 5 Khertz Al seleccionar la opci n 2 LED se cambiar el estado del pin P12 del BASIC Stamp encendiendo y apagando alternadamente al LED conectado a ste La opci n 3 desencadena un efecto mucho m s llamativo al mostrar el mensaje PANTALLA LCD en las dos l ne
33. o PAUSE 1000 GOTO Menu DCMD LCDPin BorrarLCD Limpiar la pantalla DOUT LCDPin MoverCrsr 2 OBSERVE COMO Mostrar mensaje DOUT LCDPin MoverCrsr 64 3 P12 CAMBIA TOGGLE LED Cambiar el estado del Li PAUSE 1000 GOTO PS3 FOR x 0 TO 4 DCMD LCDPin BorrarLCD Limpiar pantalla DOUT LCDPin MoverCrsr PANTAL CD Enviar el mensaje a la l nea 0 USE 300 DCMD LCDPin BorrarLCD Limpiar pantalla DOUT LCDPin MoverCrsr 64 PANTALLA LCD Enviar el mensaje a la l nea 1 USE 300 300 TOD Genera el efecto de parpadeo CDPin LCDOFF del mensaje en pantalla PAUSE 200 CDC CDPin LCDON PAUSE 200 EXT GOTO Menu Sistema de Desarrollo para MC modelo MDK B28 161 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_1 bsp SUBRUTINAS Rutina de inicializaci n de la pantalla LCD en modo de 4 bits 2 l neas IniLcd USE 10 DC DC DC DC DC DC DC DC DC RN po Despertar F Despertar la pantalla Despertar E Despertar la pantalla Despertar E Despertar la pantalla Modo4bits Configurar el bus de dato en 4 bits Modo21linea Se configura a dos l neas de 5 x 8 LCDOFF Apagar la pantalla LCDON Encender la pantalla sin cursor Incrcrse Ajusta la pantalla para auto incremento BorrarLCD Limpia la panta
34. onfigura a dos l neas de 5x8 Apagar la pantalla Encender la pantalla sin cursor Ajusta la pantalla para auto incremento Limpia la pantalla 176 Cap tulo No 7 Pantalla de Caracteres LCD En la pantalla LCD debe aparecer el mensaje CARACTERES PERSONALIZADOS que ser literalmente devorado por el conocido personaje de video juego Packman Para lograr la animaci n se utilizan los caracteres de la figura No 7 7 sentido derecha a izquierda mostr ndolos uno a continuaci n del otro en un intervalo de 100 ms para producir la sensaci n de movimiento Figura 7 8 Visualizaci n del programa 7_4 bsp visto en una pantalla LCD de 16 caracteres x 4 l neas Fuente Elaboraci n Propia IZADOS Para la mayor comprensi n del proceso de carga y utilizaci n de los caracteres personalizados se incluye el diagrama de flujo mostrado en la figura No 7 9 Sistema de Desarrollo para MC modelo MDK B28 177 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD INICIO Leer pr ximo car cter de la EEPROM BS2p Mostrar car cter i en posici n actual del LCD Esperar 100 ms Borrar car cter en pos actual LCD Si Disminuir posici n LCD nicio de la Pantalla Escribir car cter en la CGRAM de la pantalla Si Mostrar mensaje asignar i Mostrar car cter i en posici n actual del LCD Esperar 100 ms Borrar car cter en pos actual LCD No Si Inc
35. rementar posici n LCD i 0 Fin de la Pantalla Si Figura No 7 9 Diagrama de flujo para el programa 7_4 bsp Fuente Elaboraci n Propia Sistema de Desarrollo para MC modelo MDK B28 178 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Analizando el programa 7_4 bsp podemos entender como trabaja la memoria CGRAM y como puede almacenar los caracteres creados con el programa LCD Character Creator Al mismo tiempo se pudo implementar una animaci n con los caracteres personalizados Si deseamos utilizar la pantalla LCD con otra animaci n podemos introducir en el BASIC Stamp el programa 7_5 bsp EL programa 7_5 bsp simula una medici n de temperatura con indicaci n gr fica que activar una alarma visual y sonora cuando la variable temperatura llegue a valores predeterminados Este programa deber ser comprendido y asimilado completamente pues ser la base para un ejercicio posterior Por sus dimensiones pudiera parecer que es un programa sumamente complejo pero al comenzar el an lisis resultar evidente que las primeras 63 l neas del programa corresponden a la descarga de las pantallas en la memoria EEPROM del BASIC Stamp El cuerpo principal del programa inicializa al LCD y escala a la variable x de modo que su recorrido desde O hasta 255 sea interpretado como el desplazamiento a lo largo de las 15 pantallas que componen la animaci n Posteriormente se efect an las llamadas a las subrutinas que m
36. riables constantes o expresiones de O a 65535 que componen la lista e Variable Es una variable en el rango de O a 65535 que contendr el valor del elemento encontrado en la posici n Indice Si Indice excede el tama o de la lista de elementos Variable no cambiar su valor LOOKDOWN Permite hacer la b squeda de un elemento dentro de una lista de acuerdo a un criterio y retorna la ubicaci n del primer elemento que satisface la condici n LOOKDOWN emento Operador Condicional Va oro Valor ValorN Variable e Elemento Variable constante o expresi n 0 65535 que constituye el elemento a comparar e Operador Condicional Operador relacional que puede ser usado como criterio durante la comparaci n Si se omite se utilizar el igual que es el predeterminado e Valor0 Valor1 ValorW Son variables constantes o expresiones de 0 a 65535 que componen la lista contra la que se compara a Elemento e Variable Es una variable en el rango de 0 a 255 que contendr el valor del ndice del primer elemento que satisface la comparaci n Si la comparaci n resultara falsa para todos los elementos de la lista Variable no cambiar su valor Los operandos que intervengan en la instrucci n LOOKDOWN deben ser n meros enteros sin signo Sistema de Desarrollo para MC modelo MDK B28 157 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD DATA Permite escribir informaci n en la EEPROM durante e
37. rrarLCD CO 00000001 Limpiar pantalla overCrsr CO 000000 Posicionar el cursor Despertar CON 011000 Despertar al LCD Modo4bits CO 010000 odo de 4 bits de datos Modo2linea CO 100 odo de 2 l neas tama o de 5x8 00101100 5x10 LCDOFF CON 00010 Apagar la pantalla LCDON CO 00 Encender sin cursor la pantalla LCDONCrsr CoO Encender con cursor la pantalla LCDONCrsrParp CO Encender con cursor la pantalla LCDONParp CO Encender sin cursor la pantalla IncrCrsr CON Auto incremento del cursor overpizq CO 10 Desplazar pantalla a la izquierda overpder CO 1 Desplazar pantalla a la derecha overcizq CON 0010000 Desplazar cursor a la izquierda overcder CO 001010 Desplazar cursor a la derecha Linea2 CO 100000 Ir a la l nea inferior de la pantalla LCDpin Co Terminal Enable de la LCD Pulset1 VAR Byte Espacio de trabajo del pulsador Pulset2 VAR Byte Espacio de trabajo del pulsador Pulset3 VAR Byte Espacio de trabajo del pulsador Pulset4 VAR Byte Espacio de trabajo del pulsador s1 8 Pulsador PB1 S2 PIN 9 Pulsador PB2 s3 PIN 10 Pulsador PB3 S4 PIN 11 Pulsador PB4 x VAR Byte Variable de uso general o O O OP PO 0 0 000 0 Programa Principal Inicio GOSUB IniLcd Sistema de Desarrollo para MC modelo MDK B28 165 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Continuaci n del Programa 7_2 bsp Menu LCDC LCDpin LCDON LCDO LCDpin MoverCrsr PROGRAMA 7_2 bsp
38. uestran el valor de una temperatura La figura No 7 10 muestra el resultado de la ejecuci n de ste programa utilizando el sistema de desarrollo MDK B28 y una pantalla LCD Figura No 7 10 Simulaci n en la LCD Utilizando el programa 7_5 bsp Fuente Elaboraci n Propia Sistema de Desarrollo para MC modelo MDK B28 179 www roso control com Cap tulo No 7 Pantalla de Caracteres LCD Programa 7 _5 bsp Este programa tiene por objetivos 1 La grabaci n y posterior lectura de datos en la EEPROM DATA y RI 2 Descarga y visualizaci n de caracteres personalizados 3 Construcci n de una animaci n compleja 4 Actualizar la memoria CGRAM de una LCD din micamente SSTAMP BS2p S PBASIC 2 5 Las pantallas a mostrar son cargadas en la parte superior de la memoria EEPROM Pantalla 0 DATA 03 02 02 02 502 02 02 5 02 DATA DATA 02 02 04 5 08 508 08 04 503 DATA Pantalla 1 DATA 03 02 02 5 02 02 DATA 18 08 08 08 08 08 DATA 02 02 04 08 08 DATA 08 08 04 02 1C 1 Pantalla 2 DATA 03 02 02 DATA 18 08 08 08 08 DATA 02 02 5 04 s DATA 08 08 04 02 02 1E Pantalla 3 DATA 03 02 02 TA 18 08 08 08 08 DATA 02 02 04 E TA 08 08 04 02 51E 1H Pantalla 4 DATA 03 02 02 8 E ll 08 08 08 08 DATA 502 02 04 1 08 04 1E 1E S1lE Pantalla 5 DATA 03 02 02 02 5 02 i 1 L 08 08 08 TA 5
Download Pdf Manuals
Related Search
Related Contents
サンプル有り Manual de Usuario COAGUCHEK XS Plus MONITOR User Manual - Tinysine (Tinyos) 製品仕様書 LC 120 (LHD) - Toyota Korg AX5B Stereo System User Manual Copyright © All rights reserved.
Failed to retrieve file