jueves, 26 de noviembre de 2009

manual de conexion de LCD en un PIC(16F84a)


MANUAL DE CONEXIÓN DE LCD EN UN PIC


Introducción
Desarrollo
Material, herramientas
Diagrama de conexiones
Código comentado
Diagrama de flujo
Conclusiones
Bibliografía



Introducción:
PIC 18F84
El juego de instrucciones de un microprocesador o microcontrolador es el conjunto de entradas binarias que producen acciones definidas durante un ciclo de instrucción. Un juego de instrucciones es para el microcontrolador lo mismo que una tabla de verdad es para una puerta lógica, un registro de desplazamiento o un sumador. Por supuesto, las acciones que realiza un microcontrolador con cada instrucción, son más complejas que las que realizan los dispositivos y puertas antes mencionados.
Una instrucción es un patrón de dígitos binarios el cual debe estar a disposición del microcontrolador en el tiempo y forma que éste lo requiera.
Por ejemplo, cuando el procesador de un microcontrolador PIC16F84A recibe el patrón binario de 12 bits '0000 0100 0000' en el momento adecuado, significa: Clear (borrar o poner a cero) el registro W, y corresponde a la instrucción CLRW.
En instrucciones del PIC16F84A se muestra el juego de instrucciones completo del PIC16F84A
Para los PIC se han creado unas instrucciones y una estructura de programa que los hacen más sencillos y atractivos todavía..
Las instrucciones de los microcontrolador PIC cumplen con las siguientes condiciones:
Juego de instrucciones reducido: Por ejemplo, solo existen 35 instrucciones en el PIC16F84A.
Sencillas y rápidas: La mayoría se ejecuta en un ciclo de instrucción, y solo las de salto precisan 2 ciclos. El ciclo de instrucción consta de 4 ciclos de reloj principal. De esta manera un dispositivo con un cristal de cuarzo de 20 MHz realiza 5 millones de instrucciones por segundo.
Ortogonalidad: La ubicación de los operandos que manejan es muy flexible. Cualquier objeto del procesador puede actuar como origen o como destino.
Formato uniforme de las instrucciones: Todas las instrucciones tienen una longitud fija de bits. Esta característica significa un notable ahorro de la memoria de programa y una facilidad en la construcción de compiladores.
Formato uniforme de los datos.
Un programa es una serie de instrucciones mediante las cuales un sistema basado en CPU realiza una tarea en particular y la forma mas simple de realizar un programa es mediante el lenguaje ensamblador (Ver Sistemas microprogramables, Lenguajes de programación para sistemas basados en CPU).
Podríamos decir que el lenguaje ensamblador "es complejo por su sencillez". Esto quiere decir que, a diferencia de los lenguajes de alto nivel, aquí no hay funciones que solucionen y simplifiquen algoritmos, si no que hay que implementar hasta los pasos más elementales.
LCD
Antes de aparecer los módulos LCD, nuestros diseños electrónicos utilizaban los Displays de siete segmentos para poder mostrar la información, además de su gran limitación de podermostrar los caracteres alfa numéricos y símbolos especiales, también consumían demasiada corriente y ocupaban demasiado espacio físico. Posteriormente aparecieron otros tipos de displays mas complejos que podían mostrar algunos caracteres y símbolos; pero tenían de igual manera mucho consumo de corriente y espacio físico desperdiciado.
Finalmente aparecieron los módulos LCD o pantallas de cristal liquido (ver grafico) la cual tiene la capacidad de mostrar cualquier carácter alfa numérico. Estos dispositivos ya vienen con su pantalla y toda la lógica de controlpre-programada en la fabrica y lo mejor de todo es que el consumo de corriente es mínimo y no se tendrán que organizar tablas especiales como se hacia anteriormente con los displays de siete segmentos.
Las aplicaciones de los módulos LCD son infinitas ya que podrán ser aplicados en la informática, comunicaciones, telefonía, instrumentación, robótica, automóviles, equipos industriales, etc. Todo queda a su imaginación la gran cantidad de aplicaciones que tiene un modulo LCD.
Grafico 1. Módulo LCD
Diversidad de algunos módulos LCD
En la actualidad los módulos LCD existen una gran variedad de versiones clasificados en dos grupos. El primer grupo esta referido a los módulos LCD de caracteres ( solamente se podrán presentar caracteres y símbolos especiales en las líneas predefinidas en el modulo LCD) y el segundo 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 la marca; por lo tanto en la actualidad no existe un tamaño estándar para los módulos LCD.

Desarrollo:

Se realiza el programa de su funcionamiento
Se arma el circuito
Se aplica al PIC para hacer las pruebas
Al modificar un registro de E/S con una operación sobre él mismo (por ejemplo MOVF PORTB,1), el valor utilizado es el que se halle presente en las patillas del PORTB. Por ejemplo, si el biestable tiene un "1" para una patilla configurada como entrada y se pone a nivel bajo desde el exterior, el dato se volverá a escribir como "0".
Si se ejecuta esta instrucción sobre el TMR0 y d=1, se borrará el conteo de la preescala asignada (preescaler), si está asignado al TMR0, pero no se borrará la preescala asignada en OPTION_REG, que controla Timer0.
Si se modifica el Contador de Programa PC o una condición de prueba es verdadera, la instrucción requiere dos ciclos máquina. El segundo ciclo se ejecuta como un NOP.

Inicialización del modulo LCD
Todo modulo LCD deberá inicializarse, esta inicialización indicara como deberá operar la pantalla. La inicialización representan las instrucciones que deberán ser ejecutadas por el modulo LCD antes de su funcionamiento normal. Las instrucciones que están dentro de la inicialización solamente se ejecuta después que se enciende el modulo LCD y no podrán ser cambiadas posteriormente. Por ejemplo tenemos algunos parámetros que pueden ser ejecutados 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 líneas 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 la diferencia 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.


Material y herramientas:

PIC 16f84
Resistencias
Capacitares
Cristal
Modulo LCD
Contactor
Programador del PIC
Computador

Diagrama de conexiones:

Conexión de un modulo LCD a un Microcontrolador PIC16F84.
En la actualidad los microcontroladores son los elementos electrónicos de mayor utilidad y ahora describimos en detalle como utilizar un modulo LCD con un microcontrolador de la empresa Microchip modelo PIC16F84.
La conexión entre un módulo LCD y un microcontrolador PIC16F84 debe realizarse como se ilustra en la siguiente gráfica:
Gráfico 8. Esquema del circuito

Código comentado:

Se realizara esta practica para realizar el funcionamiento de lo que es el PIC y el LCD para así saber lo que se aplicara se realiza en un trabajo necesario de la vida cotidiana.

En este diagrama estará representado de manera de que se pueda visualizar lo que se esta realizando ya que el funcionamiento será adecuado para muchas cosas así tomar de este como si fuera la base para muchos proyectos mas.


Conclusiones:

· Al trabajar con un módulo LCD, debemos configurar su bus de datos como de 4 u 8 bits.
· El módulo LCD posee puertos para la entrada de datos y a través de ellos se pueden ingresar caracteres a la pantalla (R/W=0) o se puede leer de él (R/W=1).
· Un módulo LCD posee dentro de sí mismo un microcontrolador.
· Se pueden enviar a la pantalla del móculo LCD la mayoría de los caracteres de una tabla ASCII.


Bibliografías:

· Microprocesadores PIC ( José Maria Angulo ).
· Programación en el lenguaje ensamblando para PC y compatibles.
· http://www.microchip.com/
· www.ucontrol.com.ar/wiki/index.php/PIC_BASIC_(PSI)
· Microprocesador(Mauricio Alberto Orozco Salguero)