8
Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 93 ANEXO A PANTALLA LCD DE CARACTERES 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 convertido en el estándar de visualización más utilizado con los microcontroladores. El sistema de desarrollo iBOARD III, incluye una pantalla LCD 2x16 caracteres, la cual, es extraíble a través de un conector tipo lineal de 14 pines. La figura A.1. muestra el diagrama de conexiones de la pantalla LCD al sistema de desarrollo iBOARD III. Figura A.1. Conexiones de la pantalla LCD 2x16 al sistema de desarrollo iBOARD III. La pantalla LCD deL iBOARD III, incluye un microcontrolador interno como el HITACHI 44780 ó compatible y puede entre otras cosas: · Presentar caracteres ASCII y griegos · Recibir y mostrar caracteres personalizados · Desplazamiento de caracteres (Scroll) tanto a la derecha como a la izquierda · Cambiar el aspecto y el movimiento del cursor · 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 y generalmente son compatibles pin a pin con la distribución de pines mostrada en la Figura A.2. Figura A.2. Distribución de pines de conexión de la pantalla LCD 2x16 del iBOARD III. COMANDOS UTILIZADOS La información que se envía a la pantalla LCD puede interpretarse de dos formas: como un comando, cuando se coloca al (pin) denominado RS en nivel bajo y como un carácter, cuando el (pin) RS está en nivel alto. Un comando es un dato numérico de 8 bits que le indica al controlador HITACHI 44780 ó compatible, que deber realizar una operación; entre las cuales, se encuentran las mostradas en la figura A.3. CONJUNTO (SET) DE CARACTERES Aún cuando los comandos mostrados en la tabla de la figura A.3. son suficientes para manejar la pantalla LCD, en la mayoría de las aplicaciones, un usuario puede crear sus propios comandos de control para el manejo de la LCD. Para ello deberá utilizar las especificaciones que suministra fabricante. La totalidad de las pantallas LCD compatibles con la Hitachi 44780, incluyen un conjunto de caracteres precargados en la memoria RAM. Este conjunto de caracteres lo podemos observar a través de la figura A.4.

Manual Iboard III Anexo a (Lcd)

Embed Size (px)

Citation preview

Page 1: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 93

ANEXO A

PANTALLA LCD DE CARACTERES

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 convertido en el estándar de visualización más utilizado con los microcontroladores. El sistema de desarrollo iBOARD III, incluye una pantalla LCD 2x16 caracteres, la cual, es extraíble a través de un conector tipo lineal de 14 pines. La figura A.1. muestra el diagrama de conexiones de la pantalla LCD al sistema de desarrollo iBOARD III.

Figura A.1. Conexiones de la pantalla LCD 2x16 al sistema de desarrollo iBOARD III.

La pantalla LCD deL iBOARD III, incluye un microcontrolador interno como el HITACHI 44780 ó compatible y puede entre otras cosas:

· Presentar caracteres ASCII y griegos · Recibir y mostrar caracteres personalizados · Desplazamiento de caracteres (Scroll) tanto a la derecha como a la izquierda · Cambiar el aspecto y el movimiento del cursor · 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 y generalmente son compatibles pin a pin con la distribución de pines mostrada en la Figura A.2.

Figura A.2. Distribución de pines de conexión de la pantalla LCD 2x16 del iBOARD III.

COMANDOS UTILIZADOS

La información que se envía a la pantalla LCD puede interpretarse de dos formas: como un comando, cuando se coloca al (pin) denominado RS en nivel bajo y como un carácter, cuando el (pin) RS está en nivel alto. Un comando es un dato numérico de 8 bits que le indica al controlador HITACHI 44780 ó compatible, que deber realizar una operación; entre las cuales, se encuentran las mostradas en la figura A.3. CONJUNTO (SET) DE CARACTERES

Aún cuando los comandos mostrados en la tabla de la figura A.3. son suficientes para manejar la pantalla LCD, en la mayoría de las aplicaciones, un usuario puede crear sus propios comandos de control para el manejo de la LCD. Para ello deberá utilizar las especificaciones que suministra fabricante. La totalidad de las pantallas LCD compatibles con la Hitachi 44780, incluyen un conjunto de caracteres precargados en la memoria RAM. Este conjunto de caracteres lo podemos observar a través de la figura A.4.

Page 2: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 94

Figura A.3. Comandos disponibles en una pantalla LCD con controlador

HITACHI 44780 ó compatible. TÉRMINOS UTILIZADOS CON LAS LCD’S CGRAM (Character Generator RAM): Memoria volátil de 64 bytes que permite almacenar hasta 8 caracteres personalizados para ser mostrados en la pantalla.

SCRRAM (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, en la cual, se almacenan los caracteres predefinidos que soportan la pantalla y su controlador CARACTERES PERSONALIZADOS

Si el set de caracteres estándar de la LCD no contiene un carácter requerido por usted, puede utilizar la memoria CGRAM para almacenar hasta ocho (8) caracteres personalizados. La memoria CGRAM de un LCD estándar compatible con el controlador HITACHI 44780, es una memoria volátil, lo que significa, que no almacena la información en forma permanente. Una vez desenergizada la LCD, la memoria CGRAM perderá su contenido. Todo carácter visualizado en la pantalla LCD está conformado por una matriz de 5x8 pixel, con la fila inferior reservada para la visualización del cursor.

Usted podrá crear sus propios símbolos; simplemente vaya a la dirección de la memoria de símbolos de la LCD (CGRAM) y escriba en ella los ocho bytes que contienen su selección. Sólo se utilizarán los bit 0 al 4.

Figura A.4. Conjunto (set) de caracteres para una pantalla LCD con controlador HITACHI 44780 ó compatible.

Page 3: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 95

Parallax,inc dispone de una aplicación que facilita la creación de caracteres especiales denominada LCDCC.exe "LCD Character Creator", la cual, viene en el CD que se ha entregado a usted junto al sistema de desarrollo iBOARD III, en la carpeta 34 Aplicaciones\10 LCDCC\LCDCC.exe. En la Figura A.5. se muestra el programa “LCD Character Creador” de la empresa Parallax.inc, mediante el cual, usted podrá crear sus propios caracteres especiales. Como se observa en la figura, puede dibujar cualquier píxel, el de su preferencia, al final el programa le indica el código en hexadecimal del carácter por cada una de los 8 líneas de la matriz 5x8. El código puede expresarse en Hexadecimal ó en formato decimal como aparece también el la figura A.6.

Figura A.5. Programa LCD Carácter Creador de Parallax, inc. Fuente: www.parallax.com

Figura A.6. Código en formato decimal para un carácter especial.

La figura A.7. muestra una fotografía del sistema de desarrollo iBOARD III, ejecutando el programa de demostración de la pantalla LCD. Este ejemplo se encuentra en el CD entregado a usted, en la carpeta Ejemplos/ CAP_04/iBOARD_III_DEMO.bas. Ya en el capítulo 04, se había descrito como cargar y ejecutar el programa de demostración. En esta sección explicaremos su funcionamiento, sin embargo, antes se describirán los comandos en alto nivel que posee en compilador Basic® PROTON® para el manejo de una pantalla LCD.

Figura A.7. Fotografía de la ejecución del programa CAP_04_Ejemplo_01.bas en el sistema de desarrollo iBOARD III.

Page 4: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 96

COMANDO EN ALTO NIVEL PARA EL MANEJO DE UNA LCD

El compilador Basic® PROTON® dispone de un comando para el manejo de las pantallas LCD.

PRINT Item { , Item... }

Item - Es una constante, variable, expresión, modificador de formato y/o un(a) string. También el comando PRINT acepta modificadores de formato como los mostrados en la siguiente tabla.

AT ypos,xpos CLS

BIN{1..32} DEC{1..10} HEX{1..8}

SBIN{1..32} SDEC{1..10} SHEX{1..8}

IBIN{1..32} IDEC{1..10} IHEX{1..8}

ISBIN{1..32} ISDEC{1..10}

ISHEX{1..8} REP c\n

STR array\n CSTR cdata

Posiciona el cursor de una pantalla al valor x,y de la LCD Limpia la Pantalla LCD y crea un retardo de 30ms Envía dígitos en formato binario Envía dígitos en formato decimal Envía dígitos en formato hexadecimal Envía dígitos en formato binario con signo Envía dígitos en formato decimal con signo Envía dígitos en formato hexadecimal con signo Envía dígitos en formato binario precedidos de '%' Envía dígitos en formato decimal precedidos de '#' Envía dígitos en formato hexadecimal precedidos de '$' Envía dígitos en formato binario con signo precedidos de '%' Envía dígitos en formato decimal con signo precedidos de '#’ Envía dígitos en formato hexadecimal con signo prec. de '$' Envía el carácter “c” repetido “n” veces Envía todo ó parte de un arreglo Envía datos tipo “string” definidos por el comando CData

A fin de utilizar la pantalla LCD de caracteres con el sistema de desarrollo iBOARD III, primero hay que configurarla a través de las directivas del compilador. Estas directivas son las denominadas “Declares”. Existen seis declaraciones diferentes para la configuración de una LCD. DECLARE LCD_TYPE 1 or 0 , GRAPHIC or ALPHA Informa al compilador el tipo de pantalla LCD a utilizar. (1) selecciona una pantalla LCD del tipo gráfica. (0) selecciona una pantalla LCD del tipo carácter. Por defecto se escoge el uso de una pantalla de caracteres. DECLARE LCD_DTPIN PORT . PIN Asigna el Puerto y el pin de conexión que se utilizarán para la conexión de la línea data de la pantalla LCD. Por defecto se utiliza el pin PORTB<4>.

DECLARE LCD_ENPIN PORT . PIN Asigna el Puerto y el pin de conexión que se utilizarán para la conexión de la línea de habilitación (EN) de la pantalla LCD. Por defecto se utiliza el pin PORTB<2>. DECLARE LCD_RSPIN PORT . PIN Asigna el Puerto y el pin de conexión que se utilizarán para la conexión de la línea de selección (RS) de la pantalla LCD. Por defecto se utiliza el pin PORTB<3>. DECLARE LCD_INTERFACE 4 or 8 Informa al compilador si la pantalla LCD trabajará en modo 4 bits ó 8 bits. Por defecto se utiliza el modo 4 bits. DECLARE LCD_LINES 1 , 2 , or 4 Informa al compilador el número de líneas de la pantalla LCD. Por defecto se utiliza el valor de dos (2) líneas. Ejemplos de utilización pantalla LCD. Ya en el capítulo 4, se había cargado y ejecutado el programa CAP_04_Ejemplo_01.bas, el cual, hace uso de la pantalla LCD para mostrar un mensaje inicial y luego el valor incremental de una variable. La codificación del programa es mostrada a continuación: ' CAP_04_Ejemplo_01.bas ' Ejemplo básico de utilización del sistema iBOARD III con LCD ' ------------------------------------------------------------------- Device = 16F876 ' Define el microcontrolador utilizado ALL_DIGITAL = True ' Config. todos los puertos como dig. XTAL = 20 ' Define la velocidad del resonador ' Pines de conexión a la pantalla LCD Declare LCD_DTPIN PORTB.4 ' Pin de Datos LCD conec. al PORTB.4 Declare LCD_ENPIN PORTB.3 ' Pin de Enable LCD conec. al PORTB.3 Declare LCD_RSPIN PORTB.1 ' Pin de RS LCD conec. al PORTB.1 TRISB.2 = 0 ' Declara a PORTB.2 como Salida Dig. PORTB.2 = 0 ' Coloca en PORTB.2 un cero (0) Lógico Dim Contador As Byte ' Declaración de var. de uso general Dim ValorF As Float ' Declaracion de var. de uso general ValorF = 0 ' Inicializa la variable en cero TRISA = $FF ' Declara el Puerto A como entrada dig. TRISC = $00 ' Declara el Puerto C como salida dig.

Page 5: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 97

Main: Print $FE, 1 ' Comando para limpiar pantalla LCD Print At 1,1, "Sist. Desarrollo" ' Lleva el cursos a posic. 1,1 Print At 2,4, "iBOARD III" ' Lleva el cursor a posic. 2,4 DelayMS 2000 ' Pausa de 2000 ms For Contador = 0 To 255 ' Ciclo iterativo "For" ValorF = ValorF + 0.1 ' éste segmento de código Print At 2,3, "Valor = ", DEC1 ValorF ' mostrará en la pantalla PORTC.2 = PORTA.0 ' Si presionan los pulsa_ PORTC.3 = PORTA.1 ' dores, encenderán los PORTC.4 = PORTA.2 ' Led's correspondientes PORTC.5 = PORTA.3 ' a la posición corresp. DelayMS 100 ' Retardo de 100 ms Next ' GoTo Main End

Note que en el programa anterior, se realiza la configuración de los pines de conexión entre el sistema de desarrollo iBOARD III y la pantalla LCD. Esto se logra a través de las siguientes directivas: Declare LCD_DTPIN PORTB.4 ' Pin de Datos LCD conec. al PORTB.4 Declare LCD_ENPIN PORTB.3 ' Pin de Enable LCD conec. al PORTB.3 Declare LCD_RSPIN PORTB.1 ' Pin de RS LCD conec. al PORTB.1 TRISB.2 = 0 ' Declara a PORTB.2 como Salida Dig. PORTB.2 = 0 ' Coloca en PORTB.2 un cero (0) Lógico

Las primeras tres instrucciones se utilizan para indicarle al compilador cual pin del microcontrolador será utilizado para manejar las líneas de datos, habilitación y selección de la pantalla LCD. La cuarta línea TRISB.2 = 0, configura al pin PORTB<2> como una salida digital. La instrucción cinco: PORTB.2 = 0, coloca un cero (0) lógico 0 Vdc en el pin PORTB<2>. Este pin está conectado al pin RW de la pantalla LCD, el cual, deberá estar conectado a tierra para que la pantalla reciba los datos del microcontrolador. Como el compilador Basic® PROTON® sólo da soporte para la escritura de la LCD y no la lectura, no incluye la definición de este pin dentro de las directivas del compilador. Si RW en la pantalla LCD se coloca a cero (0) lógico 0 Vdc, la pantalla LCD se habilitara en modo de escritura y estará lista para visualizar la información enviada desde el microcontrolador. Esto es justamente lo que hace la instrucción cinco: PORTB.2 = 0. Coloca al pin RW de la LCD a cero. Las instrucción: Print $FE, 1 ' Comando para limpiar pantalla LCD

Se utiliza para limpiar la pantalla LCD. Esto es: Borrar todo el contenido mostrado en la pantalla LCD, colocar el cursor en la primera línea – columna y generar un retardo de 30ms. Otras instrucciones se utilizan para visualizar mensajes en la LCD. Note que el comando Print At (Linea, Columna) posiciona el cursor de la pantalla LCD a la posición especificada, así: Print At 1,1, "Sist. Desarrollo" ' Lleva el cursos a posic. 1,1 Print At 2,4, "iBOARD III" ' Lleva el cursor a posic. 2,4 Mostrará el contenido dentro de las comillas en la posición (línea1, columna1) y el texto “BOARD III” en la (línea 2, columna 4). Por último, la instrucción: Print At 2,3, "Valor = ", DEC1 ValorF Permite visualizar el valor d la variable “ValorF” con un digito decimal. Esto lo hace a partir de la línea 2, columna 3. En la figura A.7. puede visualizar el resultado de la ejecución del programa mencionado. Ejemplo_02. Creando un carácter especial ' Anexo_A_Ejemplo_02.bas ' Creación y visualización de un caracter especial en LCD ' ------------------------------------------------------------------- Device = 16F876 ALL_DIGITAL = True XTAL = 20 Declare LCD_DTPIN PORTB.4 ' Pin de Datos LCD conect. al PORTB.4 Declare LCD_ENPIN PORTB.3 ' Pin de Enable LCD conect. al PORTB.3 Declare LCD_RSPIN PORTB.1 ' Pin de RS LCD conect. al PORTB.1 TRISB.2 = 0 ' Declara a PORTB.2 como Salida Digital PORTB.2 = 0 ' Coloca en PORTB.2 un Edo. Bajo 0 VDC Symbol CGRAM = $64 ' Apuntador a la Memoria CGRAM del LCD Dim I As Byte Main: 'CARGANDO EL 1ER. CARACTER PERSONALIZADO EN LA CGRAM Print 254,64, 31,04,14,10,10,14,04,31 Print Cls ' Limpia la pantalla LCD ' Muestra texto en línea1 Print At 1,1, "CaracterEspecial" ' CaracterEspecial Print At 2,7, 0 ' muestra caracter especial DelayMS 1000 ' segunda línea GoTo Main End

Page 6: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 98

Figura A.8. Fotografía de la ejecución del programa Anexo_A_Ejemplo_02.bas Creación de un carácter especial en CGRAM de la LCD.

Ejemplo 3. Creación de ocho caracteres especiales ' Anexo_A_Ejemplo_03.bas ' Creación y visualización de 8 caracteres especiales en LCD ' ------------------------------------------------------------------- Device = 16F876 ALL_DIGITAL = True XTAL = 20 Declare LCD_DTPIN PORTB.4 ' Pin de Datos LCD conect. al PORTB.4 Declare LCD_ENPIN PORTB.3 ' Pin de Enable LCD conect. al PORTB.3 Declare LCD_RSPIN PORTB.1 ' Pin de RS LCD conect. al PORTB.1 TRISB.2 = 0 ' Declara a PORTB.2 como Salida Digital PORTB.2 = 0 ' Coloca en PORTB.2 un Edo. Bajo 0 VDC Symbol CGRAM = $64 ' Apuntador a la Memoria CGRAM del LCD Dim I As Byte Main: 'CARGANDO EL 1ER. CARACTER PERSONALIZADO EN LA CGRAM Print 254,64, 31,04,14,10,10,14,04,31 'CARGANDO EL 2DO. CARACTER PERSONALIZADO EN LA CGRAM Print 254,72, 31,31,31,31,31,31,31,31 'CARGANDO EL 3RO. CARACTER PERSONALIZADO EN LA CGRAM

Print 254,80, 31,00,31,00,31,00,31,00 'CARGANDO EL 4TO. CARACTER PERSONALIZADO EN LA CGRAM Print 254,88, 31,21,21,21,21,21,21,31 'CARGANDO EL 5TO. CARACTER PERSONALIZADO EN LA CGRAM Print 254,96, 00,21,21,21,21,21,21,00 'CARGANDO EL 6TO. CARACTER PERSONALIZADO EN LA CGRAM Print 254,104, 00,27,27,04,04,04,17,14 'CARGANDO EL 7MO. CARACTER PERSONALIZADO EN LA CGRAM Print 254,112, 31,31,31,04,04,31,31,31 'CARGANDO EL 8VO. CARACTER PERSONALIZADO EN LA CGRAM Print 254,120, 00,27,27,04,04,00,14,17 Print Cls ' Limpia la pantalla LCD For I = 0 To 7 Print I," " ' muestra los 8 caracteres DelayMS 1000 Next GoTo Main End

Figura A.9. Fotografía de la ejecución del programa Anexo_A_Ejemplo_03.bas Creación de ocho caracteres especiales en CGRAM de la LCD.

Page 7: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 99

Ejemplo 4. Efectos especiales con una Pantalla LCD El siguiente programa presentará un mensaje en la pantalla LCD y lo correrá hacia la izquierda (Scroll Left) dieciséis posiciones. Luego lo correrá a la derecha (Scroll Right) otras dieciséis posiciones. ' Anexo_A_Ejemplo_04.bas ' Efectos especiales con una pantalla LCD ' ------------------------------------------------------------------- Device = 16F876 ALL_DIGITAL = True XTAL = 20 Dim Index As Byte Symbol SCRLEFT = 24 ' Constante para hacer SCR a la izq. Symbol SCRRIGHT = 28 ' Constante para hacer SCR a la der. Declare LCD_DTPIN PORTB.4 ' Pin de Datos LCD conect. al PORTB.4 Declare LCD_ENPIN PORTB.3 ' Pin de Enable LCD conect. al PORTB.3 Declare LCD_RSPIN PORTB.1 ' Pin de RS LCD conect. al PORTB.1 TRISB.2 = 0 ' Declara a PORTB.2 como Salida Digital PORTB.2 = 0 ' Coloca en PORTB.2 un Edo. Bajo 0 VDC Main: Print $FE, 1 ' Limpia la pantalla LCD Print At 1,1, " Pantalla LCD " ' Visualiza mensaje en la Print At 2,1, " iBOARD III " ' Línea 1 y Línea 2 DelayMS 2000 GoSub Scroll_Izquierda 'Desplaza todo el texto a la izquierda GoSub Scroll_Derecha 'Desplaza todo el texto a la derecha DelayMS 1000 GoTo Main 'SUB-RUTINAS '-------------------------------------------------------------------- Scroll_Izquierda: For Index = 0 To 15 Print $FE, SCRLEFT DelayMS 300 Next Return Scroll_Derecha: For Index = 0 To 15 Print $FE, SCRRIGHT DelayMS 300 Next Return

Figura A.10. Fotografía de la ejecución del programa Anexo_A_Ejemplo_04.bas Efectos especiales con una pantalla LCD.

Page 8: Manual Iboard III Anexo a (Lcd)

Sistema de desarrollo para microcontroladores PIC®, iBOARD III. 100

Ejemplo 5. Gráfica de Barras con LCD ' Programa: Anexo_A_Ejemplo_05.bas ' Ejemplo para generar un código de barras horizontal en la LCD ' |||||||||||||||||||||| ' Valor = xx ' ------------------------------------------------------------------ Device = 16F876 ALL_DIGITAL = True ' Config. todos los puertos como dig. XTAL = 20 ' Define la velocidad del resonador ' Pines de conexión a la pantalla LCD Declare LCD_DTPIN PORTB.4 ' Pin de Datos LCD conec. al PORTB.4 Declare LCD_ENPIN PORTB.3 ' Pin de Enable LCD conec. al PORTB.3 Declare LCD_RSPIN PORTB.1 ' Pin de RS LCD conec. al PORTB.1 Low PORTB.2 ' Pin de RW LCD conec. al PORTB.2 ' Declaración de variables y constantes ' ----------------------------------------------------------------- Dim BAR_VAL As Byte ' Valor a graficar Dim BARS As Byte ' Numero de barras ||| a graficar Dim BALANCE As Byte ' Balance a la izq. | después barras Dim BALF As Byte ' Se necesita un caracter de balance Symbol B_WDTH = 16 ' Max No. de caracteres en la barra Symbol MAXBAR = B_WDTH * 3 ' Max No. de segmentos barra Symbol FULLBAR = 3 ' Valor ASCII de la barra ||| Symbol BASEBAR = 0 ' Valor ASCII de la barra en blanco Symbol CGRAM = 64 ' Retardo requerido por la LCD DelayMS 1000 ' Limpia todas variables en RAM Cls 'CARGANDO EL 1ER. CARACTER ( ) PERSONALIZADO EN LA CGRAM Print 254,64, $00,$00,$00,$00,$00,$00,$00,$00 'CARGANDO EL 2DO. CARACTER (| ) PERSONALIZADO EN LA CGRAM Print 254,72, $10,$10,$10,$10,$10,$10,$10,$10 'CARGANDO EL 3RO. CARACTER (|| )PERSONALIZADO EN LA CGRAM Print 254,80, $14,$14,$14,$14,$14,$14,$14,$14 'CARGANDO EL 4TO. CARACTER (|||)PERSONALIZADO EN LA CGRAM Print 254,88, $15,$15,$15,$15,$15,$15,$15,$15 ' Programa Principal '------------------------------------------------------------------ Main: For BAR_VAL = 0 To 48 GoSub Bargraph DelayMS 100 Next

For BAR_VAL = 48 To 0 Step -1 GoSub Bargraph DelayMS 100 Next GoTo Main 'SubRutinas '------------------------------------------------------------------ Bargraph: WARNINGS = OFF BYTE_MATH = On BARS = (BAR_VAL Min MAXBAR) / 3 BALANCE = (BAR_VAL Min MAXBAR) //3 BALF = BALANCE Min 1 Print At 1,1,Rep FULLBAR\BARS,Rep (BALANCE + BASEBAR)\BALF,_ Rep " " \B_WDTH - (BARS + BALF) Print At 2,1,"Valor = ", Dec BAR_VAL," " BYTE_MATH = OFF WARNINGS = On Return

Figura A.11. Fotografía de la ejecución del programa Anexo_A_Ejemplo_05.bas Gráfica de barras con una pantalla LCD.