domingo, 17 de noviembre de 2019

Laboratorio Nro 11. Programación de una pantalla LCD

PROGRAMACIÓN DE UNA PANTALLA LCD


1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Conocer el Display LCD y su funcionamiento.
  • Programación eficientemente el LCD
  • Programar HMI para proyecto actual
2. MARCO TEÓRICO 

        2.1 Pantalla LCD


Cuando los simples indicadores luminosos con led ya no son suficientes, habitualmente el siguiente paso para todo programador es ir por una pantalla lcd 16×2. Llegados a este punto, encontramos que existen módulos LCD que facilitan la interfaz con este periférico. El estándar en la industria para estos módulos con “controlador a bordo” es el chipset HD44780 (y otros más compatibles desarrollados a partir de este), para los cuales encontramos soporte en prácticamente cualquier plataforma: Arduino, PIC, AVR, MSP430, etc.


        2.2 Conexiones

En la siguiente imagen de Proteus se puede observar la estructura de sus pines.
Lo  podemos dividir en los Pines de alimentación, pines de control y los pines del bus de datos bidireccional. Por lo general podemos encontrar ademas en su estructura los pines de Ánodo y cátodo de led.


Pines de alimentación:

Vss: Gnd

Vdd: +5 voltios

Vee: corresponde al pin de contraste, lo regularemos con un potenciómetro de 10K


Pines de control:

RS: Corresponde al pin de selección de registro de control de datos (0) o registro de datos(1). Es decir el pin RS funciona paralelamente a los pines del bus de datos. Cuando RS es 0 el dato presente en el bus pertenece a un registro de control/instrucción. y cuando RS es 1 el dato presente en el bus de datos pertenece a un registro de datos o un carácter.

RW: Corresponde al pin de Escritura(0) o de Lectura(1). Nos permite escribir un dato en la pantalla o leer un dato desde la pantalla.

E: Corresponde al pin Enable o de habilitación. Si E(0) esto quiere decir que el LCD no esta activado para recibir datos, pero si E(1) se encuentra activo y podemos escribir o leer desde el LCD.


Pines de Bus de datos:

El Bus de datos bidireccional comprende desde los pines D0 a D7. Para realizar la comunicación con el LCD podemos hacerlo utilizando los 8 bits del bus de datos(D0 a D7) o empleando los 4 bits mas significativos del bus de datos(D4 a D7)


La librería del LCD:

Para poder visualizar los caracteres o símbolos en el LCD es necesario que en el programa de código fuente a emplear, incluyamos la librería.

En este caso empleamos la librería "lcd.c".
La librería viene configurada de esta manera

#define LCD_ENABLE_PIN    PIN_E0
#define LCD_RS_PIN               PIN_E1
#define LCD_RW_PIN             PIN_E2
#define LCD_DATA4               PIN_D4
#define LCD_DATA5               PIN_D5
#define LCD_DATA6               PIN_D6
#define LCD_DATA7               PIN_D7  

        2.3 Funciones a utilizar


        2.4 Entrenador de PICS




        2.5 Software Proteous

Proteus es una aplicación para la ejecución de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño del esquema electrónico, programación del software, construcción de la placa de circuito impreso, simulación de todo el conjunto, depuración de errores, documentación y construcción.

  • Se utilizara la simulación del módulo entrenador en el software Proteous


3. EVIDENCIA DE TAREAS DEL LABORATORIO



4. OBSERVACIONES 

-A la hora de probar el programa el LCD se encontraba muy opaco, no logrando obtener una visualización adecuada, esto fue producto que había unas conexiones sueltas, las cuales se ajustaron.
- En esta oportunidad al colocar el antirebote con el While, cuando se mantiene pulsado el botón, el programa no puede ejecutar mas funciones, ya que puede cambiar por cambiarlos por delays con tiempo de 200ms.

- Al iniciar el programa de coloco signed delante del int16 dato para que pueda contar también de forma negativa, en el caso que no se coloque, no contara de la manera adecuada.

5.CONCLUSIONES

- Se logró comprender el funcionamiento de un LCD con ayuda de su construcción y las funciones para programarlo, mediante el microcontrolador PIC 16F877A.
- Se aplicó y entendió las funciones especiales para el LCD como printf , lcd_gotoxy y %4ld; que nos ayudan a realizar funciones planteadas en el laboratorio.
- Logramos completar el reto propuesto en el laboratorio, logrando desplegar diferentes mensajes como también realizar contar y descontar números con pulsadores.
- Se añadió un enable para habilitar y deshabilitar todo el programa con ayuda de un pulsador y con este mandar un mensaje de deshabilitado.

No hay comentarios:

Publicar un comentario

Laboratorio Nro.13 Lectura de entradas analógicas

LECTURA DE ENTRADAS ANALÓGICAS 1. COMPETENCIA ESPECIFICA DE LA SESIÓN: Lecturas analógicas de un canal del PIC. Configurar de un...