lc ds

31
BUSQUEDA RAPIDA MODULOS LCD Lista de Precios © 2000 PCB Electronics Systems Todo los Derechos Reservados. MODULOS LCD INDICE GENERAL HAZ CLICK AQUI PARA IR AL CAPITULO I 1-. Breve Introducción. 2-. Diversidad de algunos módulos LCD. 3-. Identificación de los pines de conexión de un modulo LCD no Matricial. 3.1-. Interpretación del significado de los Pines del Modulo LCD. 4-. Tiempos mínimos requeridos para que una instrucción o un dato puedan ser ejecutados. 4.1-. Diagrama de tiempo para una Instrucción. 4.2-. Diagrama de tiempo para escribir un Dato. 4.3-. Diagrama de tiempo para leer un Dato. 5-. Bus de Datos de 4 y 8 Bits de Longitud. 6-. Inicialización del modulo LCD. 7-. Conjunto de Instrucciones básicas de un modulo LCD. 8-. Posición de los caracteres en la pantalla según el numero de lineas del modulo LCD. 8.1-. Display de una Linea x 40 Caracteres, dirección DD-RAM. 8.2-. Display de dos Lineas x 40 Caracteres, dirección DD-RAM. 8.3-. Display de Cuatro Lineas x 40 Caracteres, dirección DD-RAM. 9-. Caracteres que podrán ser presentados en la pantalla del modulo LCD. 10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un método manual. 10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un método manual HAZ CLICK AQUI PARA IR AL CAPITULO II HobbiePic.Com http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%200.asp (1 of 2) [07/07/2001 05:55:24 p.m.]

Upload: jhonny-villarroel

Post on 12-Jun-2015

569 views

Category:

Documents


4 download

TRANSCRIPT

BUSQUEDA RAPIDA

 

MODULOS LCD

Lista de Precios

 

 

 

 

 

 

 

 

 

 

© 2000 PCB Electronics SystemsTodo los Derechos Reservados.

 

MODULOS LCD

 

 

INDICE GENERALHAZ CLICK AQUI PARA IR AL CAPITULO I

 1-. Breve Introducción.2-. Diversidad de algunos módulos LCD.3-. Identificación de los pines de conexión de un modulo LCD no Matricial.

3.1-. Interpretación del significado de los Pines del Modulo LCD.●

4-. Tiempos mínimos requeridos para que una instrucción o un dato puedan serejecutados.

4.1-. Diagrama de tiempo para una Instrucción.●

4.2-. Diagrama de tiempo para escribir un Dato.●

4.3-. Diagrama de tiempo para leer un Dato.●

5-. Bus de Datos de 4 y 8 Bits de Longitud.6-. Inicialización del modulo LCD.7-. Conjunto de Instrucciones básicas de un modulo LCD.8-. Posición de los caracteres en la pantalla según el numero de lineas del modulo LCD.

8.1-. Display de una Linea x 40 Caracteres, dirección DD-RAM.●

8.2-. Display de dos Lineas x 40 Caracteres, dirección DD-RAM.●

8.3-. Display de Cuatro Lineas x 40 Caracteres, dirección DD-RAM.●

9-. Caracteres que podrán ser presentados en la pantalla del modulo LCD.10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un método manual.10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un método manual 

HAZ CLICK AQUI PARA IR AL CAPITULO II

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%200.asp (1 of 2) [07/07/2001 05:55:24 p.m.]

 11-. Conectando un modulo LCD a un Microcontrolador PIC16F84.

11.1-. Declaración de constantes que serán utilizadas en el programa del PIC16F84.●

11.2-. Reserva de Memoria RAM.●

11.3-. Configuración de los Puertos.●

11.4-. Programa Principal.●

11.5-. Subrrutinas:11.5.1-. Subrrutina para ejecutar una Instrucción.❍

11.5.2-. Subrrutina para escribir un dato o un carácter en el modulo LCD.❍

11.5.3-. Subrrutina de 58 microsegundos.❍

11.5.4-. Subrrutina de 15.37 milisegundos.❍

11.5.6-. Programas para el Microcontrolador.❍

 HAZ CLICK AQUI PARA IR AL CAPITULO III

12-. Controlando un modulo LCD Serialmente, Introducción.12.1-. Diagrama esquemático de la conexión de un modulo LCD serialmentefuncionando con un microcontrolador PIC16F84.

12.2-. Notas importantes.●

12.3-. Teoría básica de como funciona el circuito Integrado 4094.●

12.4-. Teoría básica de como funciona todo el circuito en general.●

12.5-. Explicación del programa básico para trabajar con un microcontroladorPIC16F84 serialmente con un modulo LCD.

12.6-. Listado del programa básico.●

 CAPITULO IV

 13-. Introducción a los módulos LCD de matriz de Puntos.  

 

 

 PCB ELECTRONICS SYSTEMS

Los Aceitunos, Av. 69A N-. 80B-105Maracaibo - Zulia - Venezuela

Teléfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181E-MAIL: [email protected]

      

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%200.asp (2 of 2) [07/07/2001 05:55:24 p.m.]

BUSQUEDA RAPIDA

 

MODULOS LCD

Lista de Precios

 

 

 

 

 

 

 

 

 

 

© 2000 PCB Electronics SystemsTodo los Derechos Reservados.

 

MODULOS LCD

 

Siempre has querido incluir un modulo LCD a tus diseños electrónicos ? Nunca lohabías podido hacer funcionar por que parecían muy complejos y no comprendías suestructura organizacional ? Ahora PCB Electronics Systems dedica esta pequeñasección para informarte en detalle toda la teoría básica de los Módulos LCD o pantallasde cristal liquido basado en la arquitectura HD-44780 de la empresa HITACHI. Aquíencontraras como hacer funcionar los módulos LCD, algunos ejemplos básicos, ejemplode aplicaciones y mucho mas.

 

CAPITULO I1-. Breve Introducción.

Antes de aparecer los módulos LCD, nuestros diseños electrónicos utilizaban los Displays desiete segmentos para poder mostrar la información, ademas de su gran limitación de podermostrar los caracteres alfa numéricos y símbolos especiales, también consumían demasiadacorriente y ocupaban demasiado espacio físico. Posteriormente aparecieron otros tipos dedisplays mas complejos que podían mostrar algunos caracteres y símbolos; pero tenían deigual manera mucho consumo de corriente y espacio físico desperdiciado.

Finalmente aparecieron los módulos LCD o pantallas de cristal liquido la cual tienen lacapacidad de mostrar cualquier carácter alfa numérico. Estos dispositivos ya vienen con supantalla y toda la lógica de control pre-programada en la fabrica y lo mejor de todo es que elconsumo de corriente es mínimo y no se tendrán que organizar tablas especiales como sehacia anteriormente con los displays de siete segmentos.

Las aplicaciones de los módulos LCD son infinitas ya que podrán ser aplicados en lainformática, comunicaciones, telefonía, instrumentación, robotica, automóviles, equiposindustriales, etc. Todo queda a su imaginación la gran cantidad de aplicaciones que tiene un

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (1 of 16) [07/07/2001 06:00:58 p.m.]

modulo LCD.

2-. Diversidad de algunos módulos LCD:

En la actualidad los módulos LCD existen una gran variedad de versiones clasificados en dosgrupos. El primer grupo esta referido a los módulos LCD de caracteres ( solamente se podránpresentar caracteres y símbolos especiales en las lineas predefinidas en el modulo LCD) y elsegundo grupo esta referido a los módulos LCD matriciales ( Se podrán presentar caracteres,símbolos especiales y gráficos). Los módulos LCD varían su tamaño físico dependiendo de lamarca; por lo tanto en la actualidad no existe un tamaño estándar para los módulos LCD.

Para el caso de la empresa VARITRONIX especializada en la fabricación de LCD, existenconfiguraciones mínimas desde una linea con un mínimo de ocho caracteres y por elcontrario, existen configuraciones desde 4 lineas hasta 40 caracteres por cada linea. Lasiguiente imagen muestra las dimensiones de una configuración típica de un modulo LCD dedos lineas por 16 caracteres por cada linea incluyendo los detalles de la matriz de como estaconformado un carácter.

 

Otro patrón importante es el tamaño de los caracteres donde las dimensiones de la matriz queforma los caracteres tienen longitudes diferentes. La siguiente imagen muestra la matrizutilizada para poder representar un símbolo o un carácter alfa numérico en un modulo LCD.Esta matriz define algunos aspectos importantes del carácter o el símbolo que estánmostrando. Los aspectos que define esta matriz son:

Matriz de punto para un solocarácter en un modulo LCD

Aspectos importantes que define la matriz depuntos para un solo caracter en un modulo

LCD

1-. Altura del carácter definida por dos variables:Alto de cada punto que conforma la matriz ylongitud de separación entre cada punto queconforma la matriz.

2-. Ancho del Carácter definido por dosvariables: Ancho de cada punto que conforma lamatriz y longitud de separación entre cada puntoque conforma la matriz.

3-. Calidad gráfica del carácter ( A mayorcantidad de puntos dentro de la matriz, mayorserá la calidad visual del carácter presentado porel modulo LCD.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (2 of 16) [07/07/2001 06:00:58 p.m.]

Los primeros módulos LCD tenían los caracteres de color negro y el fondo de la pantalla erade color verdoso claro. Posteriormente se crearon otros colores en donde los caracteres erande color plata y así sucesivamente fueron variando los colores en el fondo y en los caracteresincluyendo una luz posterior para los módulos LCD denominada Back Light diseñadaespecialmente para mejorar la visualización de la pantalla sobre todo en lugares muy oscuros.

El Back Light existe en varias versiones de colores, entre los mas conocidos tenemos el colorverdoso y el azul cielo; pero hasta la fecha los Back Light tienen un alto consumo decorriente. Teóricamente según un reportaje realizado por Edison Duque C. en la revistaColombiana de Electrónica y Computadores N-. 12 del Tercer año dice: Los pines que lesuministran la corriente al Back Light se le deben suministrar 5 Voltios pero a una frecuenciaaproximada de 60 Hz. para evitar que se presenten altas temperaturas en el modulo LCD. Lasiguiente imagen representa un modulo LCD del tipo matricial y que tienen encendida la luzposterior ( Back Light ).

Ahora la tecnología esta disponible en color para los módulos LCD desde 4 colores hasta los256 y las combinaciones de ellos.

3-. Identificación de los pines de conexión de un modulo LCD no Matricial:

Los pines de conexión de un modulo LCD han sido estandarizados por el cual en la mayoríade ellos son exactamente iguales siempre y cuando la linea de caracteres no sobrepase losochenta caracteres por linea. En el caso de que esto suceda, localice la hoja de característicasdel fabricante. Por otro lado es de suma importancia localizar exactamente cual es el PinNumero 1 ya que en algunos módulos se encuentra hacia la izquierda y en otros módulos seencuentra a la derecha. En caso de no estar seguro de la asignación de los pines, localice lahoja de características del fabricante.

Pin N-. Sismología Nivel I/O Función

 1 VSS - - 0 Vlts. Tierra ( GND ).

2 VCC - - + 5 Vlts. DC.

3 Vee = Vc - - Ajuste del Contraste.

4 RS 0/1 I0= Escribir en el modulo LCD.

1= Leer del modulo LCD

5 R/W 0/1 I0= Entrada de una Instrucción.

1= Entrada de un dato.

6 E 1 I Habilitación del modulo LCD

7 DB0 0/1 I/O BUS DE DATO LINEA 1 ( LSB ).

8 DB1 0/1 I/O BUS DE DATO LINEA 2

9 DB2 0/1 I/O BUS DE DATO LINEA 3

10 DB3 0/1 I/O BUS DE DATO LINEA 4

11 DB4 0/1 I/O BUS DE DATO LINEA 5

12 DB5 0/1 I/O BUS DE DATO LINEA 6

13 DB6 0/1 I/O BUS DE DATO LINEA 7

14 DB7 0/1 I/O BUS DE DATO LINEA 8 (MSB).

15 A - - LED (+) Back Light

16 K - - LED (-) Back Light.

 

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (3 of 16) [07/07/2001 06:00:58 p.m.]

3.1-. Interpretación del significado de los Pines del Modulo LCD:

El Pin numero 1 y 2 están destinados para conectarle los 5 Voltios que requiere el modulopara su funcionamiento y el Pin numero 3 es utilizado para ajustar el contraste de la pantalla;es decir colocar los caracteres mas oscuros o mas claros para poderse observar mejor.Observe la siguiente imagen de como deberán estar conectados los tres primeros pines. Laresistencia representada como R3 es un potenciometro variable que puede oscilar entre 10 K y20 K indiferentemente.

El Pin numero 4: denominado "RS" trabaja paralelamente al Bus de datos del modulo LCD (Bus de datos son los Pines del 7 al 14 ). Este bus es utilizado de dos maneras, ya que ustedpodrá colocar un dato que representa una instrucción o podrá colocar un dato que tan solorepresenta un símbolo o un carácter alfa numérico; pero para que el modulo LCD puedaentender la diferencia entre un dato o una instrucción se utiliza el Pin Numero 4 para tal fin.Si el Pin numero 4 = 0 le dirá al modulo LCD que esta presente en el bus de datos unainstrucción, por el contrario, si el Pin numero 4 = 1 le dirá al modulo LCD que esta presenteun símbolo o un carácter alfa numérico.

El Pin numero 5: denominado "R/W" trabaja paralelamente al Bus de datos del modulo LCD( Bus de datos son los Pines del 7 al 14 ). También es utilizado de dos maneras, ya que ustedpodrá decirle al modulo LCD que escriba en pantalla el dato que esta presente en el Bus; porotro lado también podrá leer que dato esta presente en el Bus. Para entender mejor elfuncionamiento del Pin numero 5, tenemos un ejemplo practico que aclara este ultimo punto.

Supongase que usted tiene armado un circuito electrónico con un modulo LCD incluyendo unteclado muy limitado que tan solo tiene 5 teclas ( Mover Cursor arriba, Mover cursor a laderecha, mover cursor abajo, mover cursor a la izquierda y Enter ). La finalidad de esteteclado es poderse desplazar por toda la pantalla y seleccionar una opción con la tecla deENTER. Si nuestro circuito electrónico por ejemplo le pregunta al usuario por medio delmodulo LCD lo siguiente:

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (4 of 16) [07/07/2001 06:00:59 p.m.]

Que refresco desea ?

Coca Cola / Pepsi Cola

Usted tendría que ubicar el cursor para seleccionar una de las dos opciones presentadas enpantalla. En el momento que usted presiona la tecla de Enter le dice a nuestro pequeñocircuito que ya la opción esta seleccionada. He aquí la importancia del Pin numero 5 ya queusted podrá leer la selección que hizo nuestro usuario directamente del bus de datos delmodulo LCD.

Si el Pin numero 5 = 0 el modulo LCD escribe en pantalla el dato que esta presente el el Bus;pero si el Pin numero 5 = 1 significa que usted necesita leer el dato que esta presente el el busdel modulo LCD.

El Pin numero 6: denominado "E" que significa habilitación del modulo LCD tiene unafinalidad básica: conectar y desconectar el modulo. Esta desconexión no estará referida alvoltaje que le suministra la corriente al modulo; la desconexión significa tan solo que se harácaso omiso a todo lo que este presente en el bus de datos de dicho modulo LCD.

En la mayoría de los circuitos electrónicos modernos que incluyan elementos electrónicoscomo Microcontroladores, Memorias y Módulos LCD, utilizan el mismo bus de datos. Estoes para no tener un bus de datos independientemente por cada elemento electrónico, estoimplicaría que los circuitos electrónicos sean mucho mas grandes por la cantidad deconexiones necesaria a cada uno de los elementos.

Ahora como los Microcontroladores, memorias y módulos LCD utilizan el mismo bus dedatos, deberá existir en cada uno de ellos un Pin de habilitación"E" que permita desconectar yconectar cuando sea necesario. Por ejemplo si usted necesita trabajar con la memoria RAMpara obtener o escribir cierta información, será necesario que desabilite el modulo LCD paraque no presente basura en la pantalla, o se ejecuten instrucciones no deseadas.

Los Pines desde el numero 7 hasta el numero 14 representan 8 lineas que se utilizan paracolocar el dato que representa una instrucción para el modulo LCD o un carácter alfanumérico. El Bus de datos es de 8 Bits de longitud y el Bit menos significativo estarepresentado en el Pin numero 7, el Pin mas significativo esta representado en el Pin numero14

Los Pines 15 y 16: estarán destinados para suministrar la corriente al Back Light. Esimportante conocer que no todos los módulos LCD disponen del Back Light aunque tenga lospines de conexión en el circuito impreso.

4-. Tiempos mínimos requeridos para que una instrucción o un dato puedan serejecutados.

Los Pines de control ( E, RS y E/W ) están estrechamente relacionados ya que por medio deellos podemos especificar si queremos ejecutar una instrucción o leer / escribir un dato en lapantalla o la memoria RAM; sin embargo existe una condición importante que deberátomarse en cuenta referida directamente al tiempo necesario que se necesita para cambiar deun estado a otro en los pines de control. ( E, RS y R/W ). En el caso de que este tiempo seamas pequeño que el tiempo mínimo requerido, entonces el modulo LCD no tendrá el tiemposuficiente para responder a las instrucciones solicitadas por el usuario y por consecuencia seperderán los datos o instrucciones según sea el caso.

En otras palabras, las personas suelen cometer un error común cuando se esta intentandohacer funcionar un modulo LCD en el cual no consideran la velocidad de proceso delmicroprocesador o el microcontrolador específicamente en los pines de control ( E, RS y R/W), esto quiere decir que si usted tuviera conectado un modulo LCD a un microcontrolador que

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (5 of 16) [07/07/2001 06:01:00 p.m.]

tiene una velocidad de proceso demasiado alta en los pines de control, cuando se ejecuta unasolicitud de cualquier tipo ( escritura / lectura e Instrucción. ), el modulo LCD no tendrá lacapacidad de entender la solicitud hecha por el microcontrolador ya que esta se ejecutodemasiado rápida. Para ello los programas o los circuitos electrónicos que manejan unmodulo LCD deberán respetar los siguientes diagramas de tiempo:

4.1-. Diagrama de tiempo para una Instrucción:

Para enviarle una instrucción al modulo, primero hay que colocar la instrucción en el bus dedatos ( Pines del 7 al 14 ). Una vez que esta presente la instrucción en el bus de datos seprocede a ejecutar el diagrama de tiempo requerido para una instrucción en los pines decontrol. Este diagrama de tiempo es muy sencillo de entender, tan solo usted deberá colocar elPin RS = 0, el Pin R/W = 0 y el Pin E = 0; Una vez colocados los pines con las tensionesmencionadas, proceda a cambiar el estado del Pin E = 1. El nuevo estado de este Pin "E"deberá permanecer por lo menos 450 ns antes de volver a cambiar de estado para que lapantalla pueda entender la instrucción.

 

4.2-. Diagrama de tiempo para escribir un Dato:

Para escribir un dato en el modulo LCD, primero hay que colocar el dato en el bus ( Pines del7 al 14 ). Una vez que esta presente el dato en el bus se procede a ejecutar el diagrama detiempo requerido para escribir un dato en los pines de control. Este diagrama de tiempo esmuy sencillo de entender, tan solo usted deberá colocar el Pin RS = 1, el Pin R/W = 0 y el PinE = 0; Una vez colocados los pines con las tensiones mencionadas, proceda a cambiar elestado del Pin E = 1. El nuevo estado de este Pin "E" deberá permanecer por lo menos 450 nsantes de volver a cambiar de estado para que la pantalla pueda entender la instrucción.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (6 of 16) [07/07/2001 06:01:00 p.m.]

4.3-. Diagrama de tiempo para leer un Dato:

Para leer un dato de la pantalla o la memoria RAM en el modulo LCD, los pines de controldeberán estar colocados como sigue: Pin RS = 1, Pin R/W = 1 y el Pin E = 0; Una vezcolocados los pines con las tensiones mencionadas, proceda a cambiar el estado del Pin E = 1.El nuevo estado de este Pin "E" deberá permanecer por lo menos 450 ns antes de volver acambiar de estado para que la pantalla pueda entender la instrucción.

Nota importante:

Notese que en los tres diagramas de tiempos el Pin denominado como "E" tiene que estarpreviamente en el estado lógico"CERO", posteriormente se cambia el estado lógico a "UNO"la cual permanecerá por lo menos unos 450 nano segundos y finalmente vuelve al estadológico" CERO ", en el preciso momento que el Pin "E" del modulo LCD tiene el flanco debajada, es cuando se ejecuta la instruccion o el dato presente en el bus de control.

5-. Bus de Datos de 4 y 8 Bits de Longitud:

El Bus de datos de un modulo LCD puede ser configurado para trabajar con 4 Bits y con 8Bits. Para los diseños electrónicos que están limitados por la cantidad de lineas utilizadas enel Bus de datos, podrán utilizar un bus de datos con una longitud de 4 Bits; sin embargo sieste no fuera su caso, podrá utilizar el bus de datos completo de 8 Bits. Las señales de control

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (7 of 16) [07/07/2001 06:01:00 p.m.]

( RS - R/W - E ) y los diagramas de tiempo explicados anteriormente, trabajan igual sea paraun bus de datos de 4 Bits o de 8 Bits. Sin embargo, si usted esta interesado en trabajar el busde datos con una longitud de 8 Bits, deberá saber que cuando se enciende el modulo LCD laconfiguración para 8 Bits entra por defecto; es decir que no necesitara programarse, pero laconfiguración del bus de datos con una longitud de 4 Bits requiere una secuencia cuidadosade instrucciones previas inmediatamente después de encender el modulo LCD.

La longitud escogida para trabajar el bus de datos deberá hacerce en el principio de laprogramación del modulo LCD. En la siguiente imagen se puede observar la inicialización deun modulo LCD para trabajar con un bus de datos de 8 (izquierda) y 4 Bits (Derecha).

6-. Inicialización. del modulo LCD:

Todo modulo LCD deberá inicializarse, esta inicialización indicara como deberá operar lapantalla. La inicialización representan las instrucciones que deberán ser ejecutadas por elmodulo LCD antes de su funcionamiento normal. Las instrucciones que están dentro de lainicialización solamente se ejecuta después que se enciende el modulo LCD y no podrán sercambiadas posteriormente. Por ejemplo tenemos algunos parámetros que pueden serejecutados en la inicialización antes de comenzar a funcionar nuestro modulo LCD:

Selección de la longitud del bus de datos ( 4 Bits / 8 Bits ).●

Activar el numero de lineas que se visualizaran el el modulo LCD.●

Encender el Modulo LCD.●

Las siguientes instrucciones también podrán ser colocadas en la inicialización, con ladiferencia que podrán ser cambiadas en cualquier parte del programa.

Mantener el mensaje fijo y desplazar el cursor.●

Desplazar el mensaje y mantener el cursor fijo.●

Hacer que el carácter señalado parpadee o no.●

7-. Conjunto de Instrucciones básicas de un modulo LCD:

La siguiente tabla representa el conjunto de instrucciones de un modulo LCD, en ella se

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (8 of 16) [07/07/2001 06:01:00 p.m.]

muestran toda la información necesaria que se requiere para cada instrucción, peroposteriormente se da una explicación mas amplia de algunas de ellas.

TABLA N-. 1: INSTRUCCIONES BASICAS

Instrucción.CODIGO

Descripción Tiempo deejecuciónRS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

Borrar Pantalla 0 0 0 0 0 0 0 0 0 1Borra la pantalla y retornael cursor a la dirección 0 (Home )

1.64 mS.

Cursor Home 0 0 0 0 0 0 0 0 1 * Retorna el cursor al inicio (Dirección o) 1.64 mS.

Modo de entrada decaracteres 0 0 0 0 0 0 0 1 I/D S

Donde I/D=0 Decrementela posición del cursor,I/D=1 incrementa laposición del cursor,. S=0El texto de la pantalla nose desplaza, S=1 El textode la pantalla se desplazaen el momento que seescribe un carácter

40 uS.

Apagado y encendidode la pantalla. 0 0 0 0 0 0 1 D C B

Donde D=0 Pantallaapagada, D=1 Pantallaencendida, C=0 Cursorapagado, C=1 Cursorencendido, B=0Intermitencia del cursorapagado, B=1Intermitencia del cursorencendido.

40 uS..

Cursor and DisplayShift 0 0 0 0 0 1 S/C R/L * * 40 uS.

Funtion Set 0 0 0 0 1 DL N F * * 40 uS.

Set CG RAM address 0 0 0 1 ACG 40 uS.

Set DD RAM address 0 0 1 ADD 40 uS.

Ready busy flag &address 0 1 BF AC 1 uS.

Write data to CG orDD RAM 1 0 Escribir el Dato 120 uS.

Read data to CG or DDRAM 1 1 Leer el Dato 40 uS.

La tabla numero dos, esta referida a las nomenclaturas utilizadas en la tabla numero uno

Tabla 2: NOMENCLATURAS

Nomenclatura Variable = 1 Variable = 0

I/D I/D=1 Incrementa el Cursor en unaposición

I/D=0 Decrementa el Cursor en unaposición.

D D=1 Pantalla Encendida D=0 Pantalla Apagada.

C C=1 Cursor Encendido. C=0 Cursor Apagado.

B B=1 Intermitencia del cursorencendida. B=0 Intermitencia del cursor apagado

S/C S/C=1 Mover todo el texto. S/C=0 Mover el cursor.

R/L R/L=1 Mover todo el texto a laizquierda. R/L=1 Mover todo el texto a la derecha.

DL DL=1 Bus de datos de 8 Bits. DL=0 Bus de datos de 4 Bits.

S S=1 Desplazamiento del texto. S=0 No desplazamiento del texto

BF BF=1 Operación Interna en progreso. BF=0 No puede aceptar instrucción

F F=1 Matriz para el carácter de 5 X 10dots F=0 Matriz del carácter de 5 x 7 Dost

N N=1 Activación de dos lineas. N=0 Activación de 1 linea

La tabla numero tres, esta referida a las abreviaturas utilizadas en la tabla numero uno

Tabla 3: ABREVIATURAS

Abreviatura  

DD RAM Display Data RAM

CG RAM Generador de Caracteres RAM

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%201.asp (9 of 16) [07/07/2001 06:01:01 p.m.]

8-. Posición de los caracteres en la pantalla según el numero de lineas del modulo LCD:

En la actualidad existen diversidad de módulos LCD por ejemplo tenemos pantallas con unasola linea con tan solo ocho caracteres y módulos con 4 lineas con 40 caracteres por cadalinea. Estos son algunos ejemplos básicamente. Ahora en los módulos LCD según la cantidadde lineas cada uno de los caracteres tiene una posición numérica dentro del DD-RAM (Display Data RAM ). Comencemos con algunos ejemplos basados para módulos LCD de unasola linea.

8.1-. Display de Una Linea x 40 Caracteres, dirección DD-RAM

Tamaño de la pantallaUbicación física del carácter en el modulo LCD

Posición del Carácter Dirección DD-RAM1Linea X 08 Caracteres 00 al 07 00h al 07h1Linea X 16 Caracteres 00 al 15 00h al 0Fh1Linea X 20 Caracteres 00 al 19 00h al 13h1Linea X 24 Caracteres 00 al 23 00h al 17h1Linea X 32 Caracteres 00 al 31 00h al 1Fh1Linea X 40 Caracteres 00 al 39 00h al 27h

DISPLAY DE UNA LINEA X 40 CARACTERES01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...................... 40

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 ...LINEA 1... 27

8.2-. Display de dos Lineas x 40 Caracteres, dirección DD-RAM

Para un modulo LCD que contenga dos lineas tenemos la siguiente ubicación física de loscaracteres en la pantalla.

Tamaño de la pantallaUbicación física del carácter en el modulo LCD

Posición del Carácter Dirección DD-RAM    LINEA 1 LINEA 2

2 Linea X 16 Caracteres 00 al 15 00h al 0Fh + 40h al 4Fh2 Linea X 20 Caracteres 00 al 19 00h al 13h + 40h al 53h2 Linea X 24 Caracteres 00 al 23 00h al 17h + 40h al 57h2 Linea X 32 Caracteres 00 al 31 00h al 1Fh + 40h al 5Fh2 Linea X 40 Caracteres 00 al 39 00h al 27h + 40h al 67h

DISPLAY DE DOS LINEAS X 40 CARACTERES01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...................... 4000 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D LINEA 1 2740 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D LINEA 2 29

8.3-. Display de Cuatro Lineas x 40 Caracteres, Dirección DD-RAM:

Para un modulo LCD que contenga cuatro lineas sucede algo diferente e interesante conrespecto a la ubicación física que debe tener cada carácter en la pantalla del modulo LCD yaque en realidad el final del la linea numero 1 tiene su continuación en la linea numero 3; peroel final de la linea numero 2, tiene su continuación en la linea numero 4.

Tamaño de la pantallaUbicación física del carácter en el modulo LCD

Posición delCarácter Dirección DD-RAM

4 Linea X 16 Caracteres 00 al 15 00h al 0Fh + 40h al 4Fh + 14h al 23h + 54h al 63h4 Linea X 20 Caracteres 00 al 19 00h al 13h + 40h al 53h + 14h al 27h + 54h al 67h4 Linea X 24 Caracteres 00 al 23 00h al 17h + 40h al 57h + 14h al 2Bh + 54h al 6Bh4 Linea X 32 Caracteres 00 al 31 00h al 20h + 40h al 5Fh + 14h al 33h + 54h al 73h4 Linea X 40 Caracteres 00 al 39 00h al 27h + 40h al 67h + 14h al 59h + 54h al 7Bh

DISPLAY DE 4 LINEAS X 40 CARACTERES

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (10 of 16) [07/07/2001 06:01:01 p.m.]

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...................... 40

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D LINEA 1 2750 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 7A 7B 7C 7D LINEA 3 7740 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D LINEA 2 4F78 79 80 LINEA 4 29

9-. Caracteres que podrán ser presentados en la pantalla del modulo LCD:

La siguiente tabla representan los caracteres que podrán ser mostrados en un modulo LCD.Cada uno de los caracteres tienen su representación binaria de ocho bits. Por ejemplo si ustednecesita el carácter"A" deberá representarlo con el siguiente código 01000001 por otro lado siquisiera utilizar el carácter"T" deberá representarlo por el código 01010100. Este códigodeberá ser colocado en el Bus de Datos del Modulo LCD ( Lineas del 7 al 14 ).

TABLA DE CARACTERES

10-. Ejemplo de como hacer funcionar el modulo LCD por medio de un método manual:

Ahora podemos realizar un ejemplo practico de como hacer funcionar el modulo LCD de unamanera manual paso a paso incluyendo la inicialización hasta presentar una serie decaracteres en la pantalla. La siguiente imagen muestra el pequeño circuito que tendrá quemontar para realizar la practica. Si la imagen no la puede observar bien, puedes hacer ClickAquí para obtener una imagen mas detallada del circuito.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (11 of 16) [07/07/2001 06:01:01 p.m.]

En la imagen anterior, mostramos el circuito básico que usted necesita montar en unProtoBoard para realizar el experimento. En circuito deberá ser alimentado con 5 Voltios DC.En esta sección practica procederemos a escribir en el modulo LCD la palabra PCBELECTRONICS SYSTEMS. Observemos los pasos y sus procedimientos de una formamanual:

Una vez que este montado el circuito esquemático que mostramos en la imagen anterior,proceda a realizar los siguientes pasos:

PASO 1: Corte toda la energia al circuito del modulo LCD y coloque todos los suiches del circuito atierra; es decir los suiches denominados SW DIP-2 ( Lineas de control ) y SW DIP-8 ( Bus de datos )colocados o conectados a tierra ( Gnd ).

PASO 2: En el circuito esquematico no tenemos un interruptor, por lo tanto tan solo suministre laenergía al circuito del Modulo LCD con una tension de 5 Voltios DC. A partir de aqui se deberátomar en cuenta la resistencia variable denominada R1 que representa un potenciometro de 10 K.Como puede observarse en el circuito, la parte central del potenciometro esta conectado al pin numero3 del modulo LCD. La parte central del potenciometro podra ser ajustado entre 0 voltios y 5 voltios. Amedida de que el voltaje el el Pin numero 3 del modulo LCD se acerque a los 5 voltios se observaracon mayor detalle las matrices que forman a los caracteresen el modulo LCD; pero si el voltajesuministrado para el Pin numero 3 del modulo se acerca a 0 Voltios, el modulo aparentara que no estaencendido por que las matrices que forman a los caracteres tienen muy poca intensidad para poder serobservados, por lo tanto, para comenzar con nuestro pequeño experimento recomendamos ubicar elpotenciometro en la parte central y posteriormente se ajustara cuando el modulo este funcionando.Otro punto importante referente al modulo LCD cuando es encendido, es que se debera esperar unos15 mili Segundos que se utilizan para estabilizar todas las tensiones dentro del modulo LCD.

PASO 3: Ahora debemos especificar al modulo LCD si va a trabajar en el formato de 8 Bits o de 4Bits. Es importante saber que los modulos LCD cuando son encendidos, vienen por defecto paratrabajar con un bus de datos de 8 bits la cual no sera necesario especificar esta instruccion; pero comoestamos realizando un experimento manual con nuestro modulo LCD ejecutaremos la instruccionindiferentemente con la finalidad de que pueda ser observado los procedimientos necesarios.

Para trabajar con un bus de datos de 8 bits se debera colocar el siguiente codigo en el bus dedatos y bus de control.

CODIGO: BUS DE DATOS DE 8 BITSBUS DE

CONTROL BUS DE DATOS

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 1 X X X X

En el bus de datos, especificamente en los pines DB3, DB2, DB1, DB0 tienen como valorasignado una letra "X". En la teoria electronica la letra "X" representa cualquier valor entre

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (12 of 16) [07/07/2001 06:01:01 p.m.]

"0" y "1" indiferentemente. Una vez que este colocado el codigo en el bus de datos y el bus decontrol, proceda a presionar ( Una sola Vez ) el pulsador denominado SW1. Este pulsador estaconectado con el pin 6 del modulo LCD especificamente en el "ENABLE" y la condicionminima que requiere es que el pulsador debera estar presionado por lo menos 450 nanosegundos.

PASO 4: La siguiente instruccion sera para especificarle al modulo LCD con cuantas lineas deseausted trabajar. para ello debera escribir el siguiente codigo en el bus de datos y el bus de control:

CODIGO: ACTIVACION DE NUMERO DE LINEASBUS DE

CONTROL BUS DE DATOS

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 1 N F X X

El Pin numero 10 que representa a DB3 tiene la letra "N" la cual tan solo usted debera saber siva a trabajar con una linea o con dos lineas. Para N=0 el modulo LCD trabajara con una lineay para N=1 el modulo LCD trabajara con dos lineas. Este ultimo punto esta dirigido solamentepara los modulos LCD que tienen por lo menos 4 lineas fisicamente, como hemos explicadoanteriormente, para un modulo LCD de 4 lineas ( Fisicamente ), internamente tan solo tienedos ya que la primera linea del moldulo LCD esta conformada por la linea N-. 1 y N-. 3fisicamente del modulo LCD y la linea N-. 2 esta conformada por la linea N-. 2 y N-. 4 delmodulo LCD. Entonces podemos concluir para este paso 4 que solamente sera necesario siusted esta utilizando un modulo LCD de 4 y de 2 lineas ( Fisicamente ). Para nuestro pequeñoexperimente, coloque a N=1 y F=0.

PASO 5: La siguiente instruccion sera para encender la pantalla y el cursor; para ello deberaescribirse el siguiente codigo en el bus de datos y en el bus de control:

CODIGO: ACTIVACION DEL CURSOR Y LA PANTALLA

BUS DECONTROL BUS DE DATOS

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 1 1 1 0

Para ejecutar el codigo colocado en el bus de datos y el bus de control volvemos nuevamente apresionar el pulsador denominado SW1.

PASO 6: Finalmente, la ultima instruccion de la inicializacion se refiere que cuando se escriba uncaracter en la pantalla, el cursor se desplase automaticamente a la derecha.

CODIGO: SHIFT Y CURSOR A LA DERECHABUS DE

CONTROL BUS DE DATOS

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 1 1 0

Hasta aqui hemos terminado la inicializacion basica de un modulo LCD, ahora podemosproceder a escribir "PCB ELECTRONICS".

PASO 7: Ahora podemos escribir nuestros caracteres con la secuencia como se señala en la siguientetabla:

CODIGO: ESCRIBIR PCB ELECTRONICSBUS DE

CONTROL BUS DE DATOS

CARACTER RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0P 1 0 0 1 0 1 0 0 0 0

ACTIVAR EL SUICHE SW1 = ENABLEC 1 0 0 1 0 0 0 0 1 1

ACTIVAR EL SUICHE SW1 = ENABLEB 1 0 0 1 0 0 0 0 1 0

ACTIVAR EL SUICHE SW1 = ENABLEESPACIO 1 0 1 1 1 1 1 1 1 0

ACTIVAR EL SUICHE SW1 = ENABLEE 1 0 0 1 0 0 0 1 0 1

ACTIVAR EL SUICHE SW1 = ENABLEL 1 0 0 1 0 0 1 1 0 0

ACTIVAR EL SUICHE SW1 = ENABLEE 1 0 0 1 0 0 0 1 0 1

ACTIVAR EL SUICHE SW1 = ENABLEC 1 0 0 1 0 0 0 0 1 1

ACTIVAR EL SUICHE SW1 = ENABLET 1 0 0 1 0 1 0 1 0 0

ACTIVAR EL SUICHE SW1 = ENABLER 1 0 0 1 0 1 0 0 1 0

ACTIVAR EL SUICHE SW1 = ENABLE

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (13 of 16) [07/07/2001 06:01:02 p.m.]

O 1 0 0 1 0 0 1 1 1 1ACTIVAR EL SUICHE SW1 = ENABLE

N 1 0 0 1 0 0 1 1 1 0ACTIVAR EL SUICHE SW1 = ENABLE

I 1 0 0 1 0 0 1 0 0 1ACTIVAR EL SUICHE SW1 = ENABLE

C 1 0 0 1 0 0 0 0 1 1

ACTIVAR EL SUICHE SW1 = ENABLE

S 1 0 0 1 0 1 0 1 0 0ACTIVAR EL SUICHE SW1 = ENABLE

NOTAS:

1-. Activar el suiche que hemos denominado como SW1 la cual su funcion es enviar un "1"logico miestras el suiche se encuentre presionado, podria causar fallas de rebote; esto quieredecir que podria aparecer varios caracteres en la pantalla si el efecto de rebote se hacepresente.

2-. El tiempo minimo que necesita el pulsador SW1 sera de 450 nano segundos. Este tiempono tendra nada de importancia para este procedimiento manual, pero si tendra muchisimaimportancia para cuando el sistema funcione con un microprocesador o un microcontrolador.

HAZ CLICK AQUI PARA IR AL CAPITULO II

Amigo Visitante, si usted tiene alguna sugerencia, comentario de nuestro trabajo, cualquiercosa que nos quiera informar, le agradeceríamos mucho que se pusiera en contacto connosotros por medio del siguiente correo electrónico: [email protected] En elcorreo, por favor coloque de que Pais pertenece y su ciudad donde vive y finalmente en que seespecializa usted ?.

 PCB ELECTRONICS SYSTEMS

Los Aceitunos, Av. 69A N-. 80B-105Maracaibo - Zulia - Venezuela

Teléfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181E-MAIL: [email protected]

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCION...SAS/Modulos%20LCD/Modulos%20LCD%201.asp (14 of 16) [07/07/2001 06:01:02 p.m.]

BUSQUEDA RAPIDA

 

MODULOS LCDCONECTADO CON UN

PIC16F84

Lista de Precios

 

 

 

 

 

 

 

 

 

 

© 2000 PCB Electronics SystemsTodo los Derechos Reservados.

 

MODULOS LCD

 

CAPITULO II

11-. Conectando un modulo LCD a un Microcontrolador PIC16F84.

En la actualidad los microcontroladores son los elementos electrónicos de mayor utilidad yesta sección nos describe en detalle como utilizar un modulo LCD con un microcontroladorde la empresa Microship modelo PIC16F84.

Aquí suministraremos los diagramas de conexión electrónica, programas de ejemplo para elmicrocontrolador comenzando con un nivel muy básico hasta un nivel medianamenteavanzado. Estos programas podrás obetenerlo directamente por DOWNLOAD en esta paginaWEB de PCB Electronics Systems.

Si usted esta interesado en aprender a manejas completamente el microcontrolador PIC16F84puede hacer doble click Aquí. En ella encontrara un curso completo de todo lo referente alPIC-16F84. Para esta sección usted necesitara conocimientos mínimos de como programar elmicrocontrolador PIC16F84.

Sabemos ahora que los microcontroladores han dado un giro de 360 grados ya que hansimplificado la gran cantidad de componentes electrónicos que se utilizaban anteriormentecomo por ejemplo la arquitectura de un microprocesador Z-80. En la siguiente imagen semuestra el circuito electrónico completo con un microcontrolador PIC16F84 para manejar unmodulo LCD.

Es importante destacar que el programa realizado para este proyecto tiene las rutinas detiempo calculadas con un cristal de 4 MHZ; En el caso de que usted trabaje con un cristalmucho mayor o diferente de 4 Mhz, las rutinas de tiempo establecidas en el programa seránmucho mas cortas si el cristal utilizado es mayor de 4 Mhz y para el caso de que el cristal seamenor que 4 Mhz, las rutinas de tiempo serán mucho mas largas, por lo tanto dependiendo delcristal utilizado podría causar problemas de entendimiento con el modulo LCD.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (1 of 7) [07/07/2001 06:01:57 p.m.]

 

11.1-. Declaración de constantes que serán utilizadas en el programa del PIC16F84:

El siguiente código representa algunas constantes reservadas del microcontrolador PIC16F84y otras de asignación personal. Estas instrucciones son para el ensamblador y las constantestratadas serán usadas básicamente en todo nuestro programa. La sección azul representa losregistros de funciones especiales del microcontrolador, la sección amarilla representa los Bitsdel puerto "A" destinados al bus de control del modulo LCD y finalmente la sección moradarepresenta las constantes que definirán los tiempos de las rutinas de temporización.DECLARACION DE CONSTANTES.CODIGO: COMENTARIOPORTB EQU 0X06 Dirección del puerto BTRISB EQU 0X06 Configurador del puerto B para I/O.PORTA EQU 0X05 Dirección del puerto ATRISA EQU 0X05 Configurador del puerto A para I/O.STATUS EQU 0X03 Dirección del registro STATUS.LCD_E EQU 2 Bit del puerto A para control de E.LCD_RW EQU 1 Bit del puerto A para control de R/W.LCD_RS EQU 0 Bit del puerto A para control de RS.RETARDO1 EQU 0X0D Constante del temporizador 1RETARDO2 EQU 0X00 Constante del temporizador 2

11.2-. Reserva de Memoria RAM:

El PIC16F84 tiene disponible 68 Bytes de memoria RAM. La memoria comienza desde ladirección 0X0C ( Posición numero Décima Tercera del mapa de registros ) y termina en laposición 0X4F ( Posición numero 80 del mapa de registros ).

La instrucción ORG le indica al ensamblador donde debe comenzar a reservar la memoriaRAM que a continuación declaramos.

Para nuestro pequeño experimento, tan solo necesitamos dos bytes de memoria RAM.RESERVA DE MEMORIA RAMCODIGO: COMENTARIO

ORG 0X0C Inicio de los registros de Uso generalCONT1 RES 1 Reserva un Byte para la Variable CONT1CONT2 RES 1 Reserva un Byte para la Variable CONT2

11.3-. Configuración de los Puertos:

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (2 of 7) [07/07/2001 06:01:57 p.m.]

El siguiente código le dice al microcontrolador PIC16F84 que el puerto "A" con sus cincolineas y el puerto "B" con sus ocho lineas serán configurados como salidas para nuestropequeño experimento.CONFIGURACION DE LOS PUERTOS:CODIGO: COMENTARIO

ORG 0X00BSF STATUS,5 Cambio al banco 1MOVLW b'00000000'MOVWF TRISA Configura todo el puerto A como salida.MOVLW b'00000000'

  MOVWF TRISB Configura todo el puerto B como salidaBCF STATUS,5 Cambio al banco 0

11.4-. Programa Principal:

El programa principal en nuestro pequeño proyecto, lo hemos dividido en dos secciones decolores. La sección en color azul representan las instrucciones necesarias para lainicialización del modulo LCD. La sección en color amarillo representa el programa que seencargara de escribir la palabra "PCB ELECTRONICS". En la columna de COMENTARIOdel programa, hemos agregado una pequeña información para que usted entienda que es loque sucede cuando se ejecuta la instrucción señalada.

 PROGRAMA PRINCIPAL:CODIGO: COMENTARIO

CALL TEMPO2

Llamada de sub-rrutina de tiempo de 15milisegundos. Esta Subrrutina es solicitada en elmomento que se enciende el circuito para esperarque el modulo LCD estabilice sus voltajesinternos.

MOVLW b'00110000'

Este comando carga en el acumulador delPIC16F84 el numero binario que representa elcomando en el modulo LCD para trabajar con unbus de datos de 8 Bits. Posteriormente a estainstrucción se ejecuta una subrrutina llamadaLCDI ( LCD INSTRUCCION) que estaráencargada de colocar el dato en el modulo LCD (Bus de datos ) y ejecuta la secuencia requeridapara el bus de control del modulo LCD.

CALL LCDI

Llamada de una sub-rrutina que estará encargadade colocar el dato en el modulo LCD ( Bus dedatos ) y ejecuta la secuencia requerida para elbus de control del modulo LCD.

MOVLW b'00111000'

Este comando carga en el acumulador delPIC16F84 el numero binario que representa elcomando en el modulo LCD para trabajar conActivación de dos lineas en el modulo LCD.Posteriormente a esta instrucción se ejecuta unasubrrutina llamada LCDI que fue explicada en lainstrucción numero 2 de esta misma tabla.

CALL LCDI

Llamada de una sub-rrutina que estará encargadade colocar el dato en el modulo LCD ( Bus dedatos ) y ejecuta la secuencia requerida para elbus de control del modulo LCD.

MOVLW b'00001110'

Este comando carga en el acumulador delPIC16F84 el numero binario que representa elcomando en el modulo LCD para trabajar conencendido de la pantalla y el cursor en el moduloLCD. Posteriormente a esta instrucción se ejecutauna subrrutina llamada LCDI que fue explicadaen la instrucción numero 2 de esta misma tabla.

CALL LCDI

Llamada de una sub-rrutina que estará encargadade colocar el dato en el modulo LCD ( Bus dedatos ) y ejecuta la secuencia requerida para elbus de control del modulo LCD.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (3 of 7) [07/07/2001 06:01:57 p.m.]

MOVLW b'00000110'

Este comando carga en el acumulador delPIC16F84 el numero binario que representa elcomando en el modulo LCD para trabajar con eldesplazamiento del cursor a la derechaPosteriormente a esta instrucción se ejecuta unasubrrutina llamada LCDI que fue explicada en lainstrucción numero 2 de esta misma tabla.

CALL LCDI

Llamada de una sub-rrutina que estará encargadade colocar el dato en el modulo LCD ( Bus dedatos ) y ejecuta la secuencia requerida para elbus de control del modulo LCD.

MOVLW "P" Coloca el carácter ASCII en WCALL LCDC Rutina para escribir un carácter en el LCD.MOVLW "C" Coloca el carácter ASCII en WCALL LCDC Rutina para escribir un carácter en el LCD.MOVLW "B" Coloca el carácter ASCII en WCALL LCDC Rutina para escribir un carácter en el LCD.

  MOVLW " " Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "E" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "L" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "E" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "T" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "R" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "O" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "N" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "I" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "C" Coloca el carácter ASCII en W  CALL LCDC Rutina para escribir un carácter en el LCD.  MOVLW "S" Coloca el carácter ASCII en WCICLO GOTO CICLO

11.5-. Subrrutinas:

11.5.1-. Subrrutina para ejecutar una Instrucción.

Esta subrrutina que la hemos llamado LCDI configura el bus de control del modulo LCD paraejecutar una instrucción que esta presente en el bus de datos. La instrucción esinmediatamente ejecutada por el modulo LCD cuando se activa el ENABLE. Esta subrrutinaes utilizada por el programa principal solamente cuando se requiere dar una Instrucción almodulo LCD.SUBRRUTINA LCDI: ( EJECUCION DE UNA INSTRUCCION )CODIGO: COMENTARIOLCDI BCF PORTA,LCD_RW Coloca "0" en el Pin RW.

BCF PORTA,LCD_RS Coloca "0" en el Pin RS.BSF PORTA,LCD_E Coloca "1" en el Pin E

MOVWF PORTB Coloca el contenido de "W" en el bus dedatos del modulo LCD.

BCF PORTA,LCD_E Coloca "0" en el Pin E

CALL TEMPO1 Llamada de una sub-rutina de tiempo de 40micro segundos.

RETURN Finaliza la Rutina de tiempo.

11.5.2-. Subrrutina para escribir un dato o un carácter en el modulo LCD.

Esta subrrutina configura el bus de control del modulo LCD para escribir un dato que esta

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (4 of 7) [07/07/2001 06:01:57 p.m.]

presente en el bus de datos del modulo LCD . El dato se escribe en la pantallainmediatamente cuando se activa el ENABLE. Esta subrrutina es utilizada por el programaprincipal solamente cuando se quiere escribir un caracter en el modulo LCD.SUBRRUTINA LCDC: ( ESCRIBIR UN DATO O CARACTER )CODIGO: COMENTARIOLCDC BCF PORTA,LCD_RW Coloca "0" en el Pin RW.

BSF PORTA,LCD_RS Coloca "1" en el Pin RS.BSF PORTA,LCD_E Coloca "1" en el Pin E

MOVWF PORTB Coloca el contenido de "W" en el bus dedatos del modulo LCD.

BCF PORTA,LCD_E Coloca "0" en el Pin E

CALL TEMPO1 Llamada de una sub-rutina de tiempo de 40micro segundos.

RETURN Finaliza la Rutina de tiempo.

11.5.3-. Subrrutina de 58 microsegundos.

Esta subrrutina de tiempo es solicitada cuando se ejecuta una instrucción o un dato para dar eltiempo necesario que requiere el modulo LCD para finalizar el proceso. Esta sub-rrutinadenominada TEMPO1 tiene una curación de 58 microsegundos basados en un cristal de 4Mhz.SUBRRUTINA DE TIEMPO ( TEMPO1 )CODIGO: COMENTARIOTEMPO1 MOVLW RETARDO1

MOVWF CONT1CICLOT1 NOP

DECFSZ CONT1,1GOTO CICLOT1RETURN  

11.5.4-. Subrrutina de 15.37 milisegundos.

Esta subrrutina de tiempo es utilizada solamente cuando se enciende la pantalla para laestabilizacion de los voltajes. Esta sub-rrutina denominada TEMPO2 tiene una duracion de15.37 milisegundos basados en un cristal de 4 Mhz.SUBRRUTINA DE TIEMPO ( TEMPO2 )CODIGO: COMENTARIOTEMPO2 MOVLW RETARDO2

MOVWF CONT2CICLOT2 CALL TEMPO1

DECFSZ CONT2,1GOTO CICLOT2RETURN  

Estas son todas las instrucciones que usted necesita para controlar un modulo LCD con unmicrocontrolador PIC16F84. La información presentada en esta sección ha sido probada quefunciona correctamente.

Para facilitarle a usted el tiempo de transcripción de los programas de prueba para nuestropequeño experimento, podrá obtener los archivos originales por DOWNLOAD. Tan solohaga doble click con el mouse en el nombre respectivo para obtener el archivo.

Nombre del Archivo ComentarioLCD1.ASM Archivo principal en lenguaje asembler.LCD1.HEX Archivo compilado.

Una pequeña explicación referida a los dos archivos tendrá algo de importancia en el cual elarchivo denominado LCD1.ASM es un archivo que podrá ser observado en cualquier editorde textos. El archivo LCD1.HEX es la traducción en lenguaje de maquina del archivoLCD1.ASM y es el que necesita el microcontrolador.

HAZ CLICK AQUI PARA IR AL CAPITULO III MODULOS LCDCONECTADOS SERIALMENTE CON UN PIC16F84

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (5 of 7) [07/07/2001 06:01:57 p.m.]

Amigo Visitante, si usted tiene alguna sugerencia, comentario de nuestro trabajo, cualquier cosa que nosquiera informar, le agradeceríamos mucho que se pusiera en contacto con nosotros por medio del siguientecorreo electrónico: [email protected] En el correo, por favor coloque de que Pais pertenece y suciudad donde vive y finalmente en que se especializa usted ?.

 PCB ELECTRONICS SYSTEMS

Los Aceitunos, Av. 69A N-. 80B-105Maracaibo - Zulia - Venezuela

Teléfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181E-MAIL: [email protected]

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (6 of 7) [07/07/2001 06:01:57 p.m.]

      

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%202.asp (7 of 7) [07/07/2001 06:01:57 p.m.]

BUSQUEDA RAPIDA

 

MODULOS LCD

Lista de Precios

 

 

 

 

 

 

 

 

 

 

© 2000 PCB Electronics SystemsTodo los Derechos Reservados.

 

MODULOS LCD

CAPITULO III

 

12-. Controlando un Modulo LCD Serialmente, Introducción.

En la actualidad sabemos que un modulo LCD requiere de 8 lineas para el bus de datos y 3lineas para el bus de control, por lo tanto tenemos un total de 11 lineas que se necesitan paracontrolar un modulo LCD. Esta cantidad de lineas son demasiadas para algunos proyectoselectrónicos. Para el caso de un microcontrolador PIC16F84 que tan solo dispone de 13lineas, le sobran dos lineas para ser aplicados a cualquier parte de nuestro proyecto quepodrían ser insuficientes. Es por eso que aquí presentamos una opción en donde podráscontrolar un modulo LCD con solo tres lineas de un microcontrolador, dando así mayorcobertura para el resto del proyecto, para el caso del microcontrolador PIC16F84 tendríamos10 lineas para nuestro proyecto.

El siguiente diagrama electrónico fue diseñado originalmente por el señor Marc Simons enOctubre del año 1996 para el microcontrolador PIC16C54; y modificado por PCB ElectronicsSystems en Febrero del 2001 para el microcontrolador PIC16F84.

 

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (1 of 8) [07/07/2001 06:02:53 p.m.]

Si la imagen presentada anteriormente no la puede observar bien, puedes obtener una copiahaciendo click aquí. El tamaño del archivo es de 137 Kb.

NOTAS IMPORTANTES ANTES DE COMENZAR:En el diagrama esquemático, el circuito integrado 4094 no tiene planteado los pines desuministro de voltaje la cual beberán ser tomados en cuenta a la hora de montarlo en unprotoboard para las respectivas pruebas.

El circuito planteado en esta sección, solamente tendrá la capacidad de poder enviar undato al modulo LCD ( Escribir caracteres en la pantalla ) y enviar alguna instrucciónespecifica de modulo; pero no tendrá la capacidad de leer información almacenadadentro del modulo LCD.

Para utilizar este circuito electrónico ( Método Serial ) se requiere que la persona tengaun mínimo de conocimientos del las funciones de cada uno de los pines de control delmodulo LCD.

Para entender este circuito electrónico primero comenzaremos con observar que elmicrocontrolador PIC16F84 utiliza los pines RB0, RB1 y RB2 para transferir el datoserialmente y para controlar el bus de control del modulo LCD.

Ahora explicaremos la teoría básica que se requiere para escribir un carácter el la pantalla delmodulo LCD con este método:

El circuito integrado 4094 es conocido como un integrado que recibe una información enforma serial y es organizada en forma paralela desde Q1 hasta Q8 que representan las salidas.Este tipo de circuito integrado esta clasificado como un registro de desplazamiento y estaconformado por 8 Flip Flops interconectados serialmente. La información que estaalmacenada en los flip flops experimentan un corrimiento hacia la derecha o hacia laizquierda con cada pulso de reloj. Un bit almacenado en un flip flop de la cadena se transfiereo se desplaza ( Derecha o Izquierda ) al flip flop siguiente o adyacente.

Por ejemplo, si nosotros queremos escribir el carácter"A" en el modulo LCD, tenemos quesaber que la representación binaria del carácter"A = 01000001", un programa interno en elmicrocontrolador ( diseñado por el programador ) deberá tomar cada uno de los bits queconforman el carácter"A" comenzando por el bit menos significativo; es decir, primero tomael "1", seguidamente el "0", "0", "0", "0", "0", "1" y finalmente el ultimo bit "0". Cada uno de

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (2 of 8) [07/07/2001 06:02:53 p.m.]

estos bits son emitidos por el Pin del microcontrolador denominado RB1 el cual estaconectado con el Circuito Integrado 4094 en el Pin numero 2 denominado "D". Cada vez quese emita un Bit, el microcontrolador (RB0) también emite un pulso de reloj al Pin No. 3 delC.I. 4094. El Bit que esta presente en el Pin No. 2 es tomado y colocado en los registrosinternos del CI 4094.

Cuando la palabra completa de 8 Bits se encuentra dentro de los registros del C.I. 4094 seprocede a emitir un pulso desde el microcontrolador (RB2) que esta conectado con el Pin No.1 del C.I. 4094 (STR), este pulso autoriza al C.I. 4094 a colocar el dato completo de 8 bits enlas salidas desde Q1 hasta Q8.

Ahora tenemos nuestro carácter"A" presente en las salidas del C.I. 4094 lo cual quiere decirque ya se encuentra presente el carácter"A" en el bus de datos del modulo LCD. El dato seráleído por el modulo LCD si su bus de control esta configurado para ello. Observemos ennuestro circuito que Pin R/W del modulo LCD esta conectado a tierra y el Pin "E" del moduloLCD esta conectado directamente a RB2 del microcontrolador, finalmente el Pin "RS" estaconectado a un pequeño circuito conformado por un transistor. Ahora sabemos que para poderescribir un dato en la pantalla del modulo LCD tenemos que tener configurado el Pin R/W =0, RS=1 y el Pin denominado E del modulo LCD deberá colocarse en E = 1 durante 450 nanosegundos y volverlo a colocar en E = 0 para que tome el dato presente en el bus para escribirel carácter en el modulo LCD.

Ahora aquí viene la parte interesante de nuestro circuito en el cual le tenemos que decirle almodulo LCD que tome el carácter"A" presente en el bus de datos. Observe primero que el PinNo 8 del microcontrolador (RB2) esta conectado a dos partes diferentes en el circuito,primero esta conectado al Pin No 1 del C.I. 4093 (STR) y segundo esta conectado al moduloLCD en el Pin No. 6 denominado "E", lo cual quiere decir que el Pin RB2 delmicrocontrolador es utilizado para dos funciones:

La primera función del Pin No. 8 del Microcontrolador (RB2) es emitir un pulso para que searecibido por el Pin N-. 1 del C.I. 4094 (STR) en el momento que la palabra completa de 8 bitsse encuentre presente dentro del registro de desplazamiento. Esta palabra de 8 bits aparece enla salida del C.I. 4094 en los pines desde Q1 hasta Q8 en el momento que STR recibe elPulso.

La segunda función del Pin No. 8 del Microcontrolador (RB2) viene inmediatamente despuésde haber realizado la primera función. En el momento que se ejecuta la primera función, eldato esta presente en las salidas del C.I. 4094 por ende el dato estará presente en el bus dedatos del modulo LCD; pero para poder escribir un carácter en la pantalla del modulo, setiene como condición obligatoria que el Pin No. 6 del modulo LCD "E" deberá permanecer enE=1 durante 450 nano segundos, en este momento se debe volver a cambiar el estado logicode "E" a 0, haciendo que el modulo capture el caracter "A" y lo escriba en la pantalla.

Por otra parte, el Pin No. 4 (RS) del bus de control del modulo LCD deberá estar colocado en"1" para escribir un carácter en la pantalla. En nuestro circuito el Pin RS del modulo LCDesta controlado por el Pin RB0 del microcontrolador por medio de un pequeño circuitoconformado por C1, Q1, R1 y R4. Se podrá observar que RB0 del microcontrolador tambiénestará encargado de emitir el tren de pulsos que requiere el C.I. 4094 para capturar el dato ensus registros.

Si queremos escribir un carácter, primero debemos colocar RB0 = 1 durante 500 microsegundos para que se cargue el condensador C1, permitiendo que el transistor Q1 se active ycoloque a RS = 1. Seguidamente se envía el tren de pulsos que esta relacionado con los bitsque conforman el dato. Este tren de pulsos no altera el voltaje del capacitor C1 asegurandosede esta manera RS = 1 durante un tiempo dentro el cual se debe activar el Pin denominado"E" del modulo LCD para escribir el carácter en la pantalla.

Si queremos enviar una instrucción al modulo LCD, primero debemos colocar RB0 = 0 paraque el condensador proceda a descargarse, desactivando el transistor Q1 y colocando a RS =0 y se procede de igual manera con el tren de pulsos que esta relacionado con los bits queconforman a la instrucción.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (3 of 8) [07/07/2001 06:02:53 p.m.]

12-. Programas necesarios para el Microcontrolador PIC16F84, comezaremos con ladeclaración de constantes que serán utilizadas en el programa:

El siguiente código representa algunas constantes reservadas del microcontrolador PIC16F84y otras de asignación personal. Estas instrucciones son para el ensamblador y las constantestratadas serán usadas básicamente en todo nuestro programa. La sección azul representa losregistros de funciones especiales del microcontrolador, y finalmente la sección moradarepresenta las constantes que definirán los tiempos de las rutinas de temporización.DECLARACION DE CONSTANTES.CODIGO: COMENTARIOPORTB EQU 0X06 Dirección del puerto BTRISB EQU 0X06 Configurador del puerto B para I/O.STATUS EQU 0X03 Dirección del registro STATUS.

CARRY EQU 0 Bit del registro STATUS que informa si existeacarreo o no.

RETARDO1 EQU 0X0D Constante del temporizador 1RETARDO2 EQU 0X00 Constante del temporizador 2INSTRUCT EQU 0 Bit de banderas

ClockOut EQU 0 Bit del puerto B para controlar el CLOCK del CI4094

DataOut EQU 1 Bit del puerto B para controlar el DATO del CI 4094

StrobeOut EQU 2 Bit del puerto B para controlar el STROBE del CI4094

12.1-. Reserva de Memoria RAM:

El PIC16F84 tiene disponible 68 Bytes de memoria RAM. La memoria comienza desde ladirección 0X0C ( Posición numero Décima Tercera del mapa de registros ) y termina en laposición 0X4F ( Posición numero 80 del mapa de registros ).

La instrucción ORG le indica al ensamblador donde debe comenzar a reservar la memoriaRAM que a continuación declaramos.

Para nuestro pequeño experimento, tan solo necesitamos seis bytes de memoria RAM.RESERVA DE MEMORIA RAMCODIGO: COMENTARIO

ORG 0X0C Inicio de los registros de Uso generalCONT1 RES 1

RESERVA DE UN BITE DE MEMORIA RAMPARA LAS VARIABLES CONT1, CONT2,BANDERAS, OUTPUTREG, COUNTERREG Ycont1

CONT2 RES 1BANDERAS RES 1cont1 RES 1OutPutReg RES 1CounterReg RES 1

12.2-. Configuración de los Puertos:

El siguiente código le dice al microcontrolador PIC16F84 que el puerto "A" con sus cincolineas y el puerto "B" con sus ocho lineas serán configurados como salidas para nuestropequeño experimento.CONFIGURACION DE LOS PUERTOS:CODIGO: COMENTARIO

ORG 0X00BSF STATUS,5 Cambio al banco 1MOVLW b'11111000'MOVWF TRISB Configura todo el puerto Bcomo salida.BCF STATUS,5 Cambio al banco 0

12.3-. Programa Principal:

El programa principal en nuestro pequeño proyecto, lo hemos dividido en dos secciones decolores. La sección en color azul representan las instrucciones necesarias para lainicialización del modulo LCD. La sección en color amarillo representa el programa que seencargara de escribir la palabra "PCB ELECTRONICS". En la columna de COMENTARIOdel programa, hemos agregado una pequeña información para que usted entienda que es lo

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (4 of 8) [07/07/2001 06:02:53 p.m.]

que sucede cuando se ejecuta la instrucción señalada.

 PROGRAMA PRINCIPAL:CODIGO: COMENTARIO

CALL TEMPO2

Llamada de sub-rrutina de tiempo de 15milisegundos. Esta Subrrutina es solicitadaen el momento que se enciende el circuitopara esperar que el modulo LCD estabilicesus voltajes internos.

BSF BANDERAS,INSTRUCT  

MOVLW b'00110000'

Este comando carga en el acumulador delPIC16F84 el numero binario que representael comando en el modulo LCD para trabajarcon un bus de datos de 8 Bits.Posteriormente a esta instrucción se ejecutauna subrrutina llamada LCDI ( LCDINSTRUCCION) que estará encargada decolocar el dato en el modulo LCD ( Bus dedatos ) y ejecuta la secuencia requerida parael bus de control del modulo LCD.

CALL salidaLCD

Llamada de una sub-rrutina que estaráencargada de colocar el dato en el moduloLCD ( Bus de datos ) y ejecuta la secuenciarequerida para el bus de control del moduloLCD.

CALL TEMPO1

MOVLW b'00111000'

Este comando carga en el acumulador delPIC16F84 el numero binario que representael comando en el modulo LCD para trabajarcon Activación de dos lineas en el moduloLCD. Posteriormente a esta instrucción seejecuta una subrrutina llamada LCDI quefue explicada en la instrucción numero 2 deesta misma tabla.

CALL SALIDALCD

Llamada de una sub-rrutina que estaráencargada de colocar el dato en el moduloLCD ( Bus de datos ) y ejecuta la secuenciarequerida para el bus de control del moduloLCD.

CALL TEMPO1

MOVLW b'00001110'

Este comando carga en el acumulador delPIC16F84 el numero binario que representael comando en el modulo LCD para trabajarcon encendido de la pantalla y el cursor enel modulo LCD. Posteriormente a estainstrucción se ejecuta una subrrutinallamada LCDI que fue explicada en lainstrucción numero 2 de esta misma tabla.

CALL SALIDALCD

Llamada de una sub-rrutina que estaráencargada de colocar el dato en el moduloLCD ( Bus de datos ) y ejecuta la secuenciarequerida para el bus de control del moduloLCD.

CALL TEMPO1

MOVLW b'00000110'

Este comando carga en el acumulador delPIC16F84 el numero binario que representael comando en el modulo LCD para trabajarcon el desplazamiento del cursor a laderecha Posteriormente a esta instrucción seejecuta una subrrutina llamada LCDI quefue explicada en la instrucción numero 2 deesta misma tabla.

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (5 of 8) [07/07/2001 06:02:53 p.m.]

CALL SALIDALCD

Llamada de una sub-rrutina que estaráencargada de colocar el dato en el moduloLCD ( Bus de datos ) y ejecuta la secuenciarequerida para el bus de control del moduloLCD.

CALL TEMPO1BCF BANDERAS, INTRUCTMOVLW "P" Coloca el carácter ASCII en WCALL SALIDALCD Rutina para escribir un carácter en el LCD.MOVLW "C" Coloca el carácter ASCII en WCALL SALIDALCD Rutina para escribir un carácter en el LCD.MOVLW "B" Coloca el carácter ASCII en WCALL SALIDALCD Rutina para escribir un carácter en el LCD.

  MOVLW " " Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "E" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "L" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "E" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "T" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "R" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "O" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "N" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "I" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "C" Coloca el carácter ASCII en W  CALL SALIDALCD Rutina para escribir un carácter en el LCD.  MOVLW "S" Coloca el carácter ASCII en WCICLO GOTO CICLO

12.4-. Subrrutinas:

12.4.1-. Subrrutina para la comunicacion con el modulo LCD.

Esta subrrutina que la hemos llamado SALIDALCD que consiste en enviar un dato de ochobits por el pin de datos de forma sincrona ( Uno detras del otro) controlados por el pulso dereloj. Despues de transmitir el dato se aplica la seña del strobe para que el dato completo delCI 4094 pase a sus salidas y el LCD lo capture. Todo este proceso se hace tomando en cuentalos tiempos de carga y descarga del capacitor y el tiempo de respuesta del modulo LCD.SUBRRUTINA DE TIEMPO ( SALIDALCD)CODIGO: COMENTARIOSALIDALCD MOVWF OUTPUTREG

BCF PORTB,CLOCLOUTBTFSS BANDERAS,INSTRUCTBSF PORTB,CLOCKOUTMOVLW .140MOVWF CONT1

LOADCAPLOOP DECFSZ CONT1,1GOTO LOADCAPLOOPBSF PORTB,CLOCKOUTMOVLW .8MOVWF COUNTERREGBCF PORTB,CLOCKOUTBCF PORTB,DATAOUTRLF OUTPUTREG,1BTFSC STATUS,CARRYBSF PORTB,DATAOUTBSF PORTB,CLOCKOUTDECFSZ COUNTERREG,1

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (6 of 8) [07/07/2001 06:02:53 p.m.]

GOTO NEXTOUTBCF PORTB,CLOCKOUTBSF PORTB,STROBEOUTBCF PORTB,STROBEOUTRETLW 0

 

12.4.2-. Subrrutina de 58 microsegundos.

Esta subrrutina de tiempo es solicitada cuando se ejecuta una instrucción o un dato para dar eltiempo necesario que requiere el modulo LCD para finalizar el proceso. Esta sub-rrutinadenominada TEMPO1 tiene una curación de 58 microsegundos basados en un cristal de 4Mhz.SUBRRUTINA DE TIEMPO ( TEMPO1 )CODIGO: COMENTARIOTEMPO1 MOVLW RETARDO1

MOVWF CONT1CICLOT1 NOP

DECFSZ CONT1,1GOTO CICLOT1RETURN  

12.4.3-. Subrrutina de 15.37 milisegundos.

Esta subrrutina de tiempo es utilizada solamente cuando se enciende la pantalla para laestabilizacion de los voltajes. Esta sub-rrutina denominada TEMPO2 tiene una duracion de15.37 milisegundos basados en un cristal de 4 Mhz.SUBRRUTINA DE TIEMPO ( TEMPO2 )CODIGO: COMENTARIOTEMPO2 MOVLW RETARDO2

MOVWF CONT2CICLOT2 CALL TEMPO1

DECFSZ CONT2,1GOTO CICLOT2RETURN  

Estas son todas las instrucciones que usted necesita para controlar un modulo LCD con unmicrocontrolador PIC16F84. La información presentada en esta sección ha sido probada quefunciona correctamente.

Para facilitarle a usted el tiempo de transcripción de los programas de prueba para nuestropequeño experimento, podrá obtener los archivos originales por DOWNLOAD. Tan solohaga doble click con el mouse en el nombre respectivo para obtener el archivo.

Nombre del Archivo ComentarioLCD1.ASM Archivo no copilado en .ASM

HAZ CLICK AQUI PARA IR AL CAPITULO IV MODULOS LCDMATRICIALES

Amigo Visitante, si usted tiene alguna sugerencia, comentario de nuestro trabajo, cualquier cosa que nosquiera informar, le agradeceríamos mucho que se pusiera en contacto con nosotros por medio del siguientecorreo electrónico: [email protected] En el correo, por favor coloque de que Pais pertenece y suciudad donde vive y finalmente en que se especializa usted ?.

 

 PCB ELECTRONICS SYSTEMS

Los Aceitunos, Av. 69A N-. 80B-105Maracaibo - Zulia - Venezuela

Teléfonos: Fax: (061)-753-51-10 PROVISIONAL - (014)-361-9181

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (7 of 8) [07/07/2001 06:02:53 p.m.]

E-MAIL: [email protected]

      

HobbiePic.Com

http://www.hobbiepic.com/COMO%20FUNCIONA...OSAS/Modulos%20LCD/Modulos%20LCD%203.asp (8 of 8) [07/07/2001 06:02:53 p.m.]