Visualización de datos en una LCD con PIC16F628A

23
202

description

Práctica de microcontroladores y microprocesadores para aplicar la visualización de datos en una lcd mediante un PIC16F628A

Transcript of Visualización de datos en una LCD con PIC16F628A

Microprocesadores y Microcontroladores

Autores: Johnny Barreno Diego Crdova Christian Fonseca2014

ContenidoTEMA4OBJETIVOS4MATERIALES4MARCO TEORICO4PIC16F628A4Caractersticas especiales del Microcontrolador:5Diagrama de Pines6Uso de banderas6Ejemplo6Manejo de la LCD6DESARROLLO9Visualizacin de datos en la LCD9Visualizacin de nmeros en la LCD12Contador ascendente/descendente del 0 al 2014CONCLUSIONES17RECOMENDACIONES17BIBLIOGRAFA17ANEXOS18

ndice de IlustracionesIlustracin 1 PIC16F628A5Ilustracin 2 Diagrama de pines del PIC16F628A6Ilustracin 3 LCD 2x16 con controlador7Ilustracin 4 Funcin de cada pin de la LCD7Ilustracin 5 Conexin de un LCD, a 4 bits8Ilustracin 6 Programacin en MicroCode para visualizar texto en la LCD.9Ilustracin 7 Implementacin en Proteus para la visualizacin de texto10Ilustracin 8 Implementacin del circuito fsico para la visualizacin de texto en la LCD10Ilustracin 9 Programacin en MicroCode para la visualizacin de dos nmeros en la LCD11Ilustracin 10 Implementacin en Proteus para la visualizacin de dos nmeros en la LCD.12Ilustracin 11 Implementacin del circuito fsico para la visualizacin de dos nmeros en la LCD12Ilustracin 12 Programacin en MicroCode para la visualizacin del contador en la LCD14Ilustracin 13 Implementacin en Proteus del contador de 0 al 20.14Ilustracin 14 Implementacin del circuito para el contador ascendente/descendente del 0 al 2015Ilustracin 15 Descripcin de los pines del PIC16F628A16Ilustracin 16 Caractersticas generales del PIC16F628A17Ilustracin 17 Caractersticas de la memoria del PIC16F62817

TEMAVISUALIZACIN DE DATOS EN LA LCD CON EL PIC 16F628A OBJETIVOS

Realizar la programacin necesaria del PIC16F628A, para obtener los datos de salida en la LCD. Conocer la forma de utilizar banderas, en vez del anti-rebote; conocimiento que ser necesario para la realizacin del contador ascendente/descendente del 0 al 20. Implementar los circuitos tanto del contador como el de la visualizacin de datos en el simulador de Proteus. Implementar el circuito fsico y comprobar el adecuado funcionamiento del contador y de los datos a visualizar.MATERIALES PIC16F628A. Protoboard. LCD Potencimetro Resistencias 330. Fuente de 5 V. Cables de conexin. Pulsador NA.MARCO TEORICO Micro-procesdores y Micro-controladores_____________________________________________________________________

2

PIC16F628AEste PIC utiliza un procesador con arquitectura Harvard, consiguiendo mayor rendimiento en el procesamiento de las instrucciones, esta arquitectura a diferencia de la Von Neumann, utiliza dos bloques de memorias independientes, una contiene instrucciones y la otra slo datos, cada una con su respectivo sistema de buses de acceso, 8 lneas para los datos y 14 lneas para las instrucciones, con lo que es posible realizar operaciones de acceso lectura o escritura simultneamente en las 2 memorias, a esto se conoce como paralelismo.

Ilustracin 1 PIC16F628A

El CPU del microcontrolador 16F6XX emplea una avanzada arquitectura RISC (computador con juego de instrucciones reducido) con un set de 35 instrucciones poderosas pertenecientes a la gama media de la familia de los microcontroladores PIC, la mayora de instrucciones se ejecuta en un ciclo de instruccin a excepcin de los saltos que requieren de 2 ciclos.

Caractersticas especiales del Microcontrolador: Opciones de oscilador externo e interno: a. Precisin de fbrica del oscilador interno de 4 MHz calibrada a 1%b. Oscilador de 48 kHz y de bajo consumo interno. Modo de ahorro de energa en modo sueo. Resistencias programables PULL-UPS del PORTB. Multiplexado del pin RESET/ Entrada-pin. Temporizador Watchdog con oscilador independiente para un funcionamiento fiable.

Diagrama de Pines

Ilustracin 2 Diagrama de pines del PIC16F628AUso de banderasUn flag o bandera es una variable de un BIT que se denota como un valor booleano, es decir, verdadero o falso (1 o 0) y se usan para determinar el suceso de un evento.Ejemplo: si un proceso se cumple se activa o desactiva el flagEsto es para tener un control de sucesos y se declarara como Flag VAR BIT. No necesariamente tiene que tener un valor BIT puede ser de cualquier tipo. Pero como solo se requiere de un cambio de estado es mejor usar BIT para ahorrar memoria. Tambin en el PIC hay registros que cambian de estado y se usan como Flags.Manejo de la LCDLos mdulos LCD (Display de Cristal Lquido), son utilizados para mostrar mensajes que indican al operario el estado de la mquina, o para dar instrucciones de manejo, mostrar valores, etc. El LCD permite la comunicacin entre las mquinas y los humanos, este puede mostrar cualquier carcter ASCII, y consumen mucho menos que los display de 7 segmentos, existen de varias presentaciones por ejemplo de 2 lneas por 8 caracteres, 2x16, 2x20, 4x20, 4x40, etc. Sin back light (14 pines) o con back light (16 pines, iluminado de pantalla), el LCD ms popular es el 2x16, 2 lneas de 16 caracteres cada una.

Ilustracin 3 LCD 2x16 con controlador

Ilustracin 4 Funcin de cada pin de la LCDLA DECLARACIN LCDOUT. Sirve para mostrar items en una pantalla de cristal lquido, se utiliza escribiendo: LCDOUT, luego escribiendo $FE, y seguido por el comando a utilizar, el siguiente cuadro muestra los comandos ms utilizados:Tabla 1 Comandos ms utilizados para manejar la LCD

Los LCD se puede conectar con el PIC con un bus de 4 u 8 bits, la diferencia est en el tiempo que se demora, pues la comunicacin a 4 bits, primero enva los 4 bits ms altos y luego los 4 bits ms bajos, mientras que la de 8 bits enva todo al mismo tiempo, esto no es un inconveniente si consideramos que el LCD trabaja en microsegundos. Pero la gran ventaja de hacer conexin a 4 bits, son los pocos cables que se deben conectar, como podemos ver en la figura 5.5.1.4. slo debemos conectar el bit de Registro, el Enable y los 4 bits ms altos del LCD, con esto es suficiente para enviar los mensajes.

Ilustracin 5 Conexin de un LCD, a 4 bits

DESARROLLOVisualizacin de datos en la LCD1. Realizar el cdigo necesario para poder observar en una primera instancia las palabras SEPTIMO y MECATRONICA, para luego de un determinado tiempo observar las palabras MICROCONTROLADOR y PIC

Ilustracin 6 Programacin en MicroCode para visualizar texto en la LCD.2. Cargar el archivo .HEX a travs de Proteus en el circuito armado para luego proceder a su simulacin.

Ilustracin 7 Implementacin en Proteus para la visualizacin de texto

3. Programar el circuito en el PIC 16F628A con el cdigo realizado.4. Verificar su funcionamiento acorde con lo previsto en el programa, el cambio de texto debe cambiar segn accionamos cada pulsador.

Ilustracin 8 Implementacin del circuito fsico para la visualizacin de texto en la LCD

Visualizacin de nmeros en la LCD1. Realizar el cdigo necesario para observar dos nmeros, los cuales debern cambiar mediante dos pulsadores, en donde el primer pulsador activa la visualizacin de un nmero y de igual manera el otro pulsador para el segundo nmero.

Ilustracin 9 Programacin en MicroCode para la visualizacin de dos nmeros en la LCD

2. Cargar el archivo .HEX mediante Proteus previo al armado del circuito para luego proceder a su simulacin.

Ilustracin 10 Implementacin en Proteus para la visualizacin de dos nmeros en la LCD.3. Programar el circuito en el PIC 16F628A con el cdigo realizado.4. Verificar su funcionamiento, con cada pulsacin el PIC debe cambiar de nmero en la LCD.

Ilustracin 11 Implementacin del circuito fsico para la visualizacin de dos nmeros en la LCD

Contador ascendente/descendente del 0 al 201. Realizar el cdigo necesario para observar un contador del 0 al 20, en donde habr dos pulsadores de control, es decir, el primer pulsador permitir aumentar en +1 el valor del nmero en la LCD y el segundo pulsador har el proceso inverso, disminuir el nmero en -1 en la LCD.

Ilustracin 12 Programacin en MicroCode para la visualizacin del contador en la LCD2. Cargar el archivo .HEX mediante Proteus previo al armado del circuito para luego proceder a su simulacin.

Ilustracin 13 Implementacin en Proteus del contador de 0 al 20.3. Programar el circuito en el PIC 16F628A con el cdigo realizado.4. Verificar su funcionamiento, con cada pulsacin el PIC debe cambiar de nmero en la LCD.

Ilustracin 14 Implementacin del circuito para el contador ascendente/descendente del 0 al 20CONCLUSIONES

Se verific la metodologa para la visualizacin de contenido en una LCD mediante el control de pulsadores; de manera que se reconozcan caracteres ya sean letras o nmeros. Se pudo observar el correcto funcionamiento del contador ascendente/descendente del 0 al 20, mediante el PIC16F628A y a base de programacin que describe los procesos electrnicos a seguir para obtener los datos en la LCD, todo aquello con un par de pulsadores de control. Cuando se usa la LCD se identific que si no se alimentaba los puertos 15 y 16 de la misma, el programa funciona pero no se visualiza en la pantalla de la LCD. Para el contador se utiliz un flag el cual hace las veces de una estructura de anti-rebote, con la diferencia de que el flag imprime el valor al presionar el pulsador y el anti-rebote lo hace luego de presionar el botn, sin embargo se consigui el resultado que se esperaba. No fue necesario un oscilador externo que generase el tren de pulsos debido a que el PIC16F628A cuenta con un oscilador interno. RECOMENDACIONES

Borrar el cdigo anterior del PIC antes de cargar un nuevo programa porque se pueden sobrescribir los datos. Cuando se va a grabar el programa en el PIC tener en cuenta que se debe dejar libre la primera fila y colocar el PIC a partir de la segunda.

BIBLIOGRAFA

Reyes, C. A. (2008). Microcontroladores PIC Programacin en Basic. Quito: RISPERGRAF.Extrado el 01 de diciembre del 2014 de: diapositivas de trabajo en aula de clase.

ANEXOS

Ilustracin 15 Descripcin de los pines del PIC16F628A

Ilustracin 16 Caractersticas generales del PIC16F628A

Ilustracin 17 Caractersticas de la memoria del PIC16F62

17