PDF de programación - Práctica 6 - Control de LCD 16x2 con PIC 16F84A

Imágen de pdf Práctica 6 - Control de LCD 16x2 con PIC 16F84A

Práctica 6 - Control de LCD 16x2 con PIC 16F84Agráfica de visualizaciones

Publicado el 8 de Septiembre del 2018
1.251 visualizaciones desde el 8 de Septiembre del 2018
1,2 MB
12 paginas
Creado hace 9a (10/04/2015)
Práctica 6



Control de LCD 16x2 con PIC

16F84A.



Eduardo V. Abad


www.eduardoabad.esy.es

Descripción de las características y

funcionamiento del LCD 44780


Las pantallas de cristal líquido (LCD) se han popularizado mucho en los últimos
años, debido a su gran versatilidad para presentar mensajes de texto (fijos y en
movimiento), valores numéricos y símbolos especiales, su precio reducido, su bajo
consumo de potencia, el requerimiento de solo 6 pines del PIC para su conexión y
su facilidad de programación en lenguajes de alto nivel (por ejemplo, lenguaje C).
Desde todo punto de vista el empleo de la pantalla LCD 2x16 debería
considerarse como la primera opción a la hora de decidir por un dispositivo de
presentación alfanumérica, excepto cuando las condiciones de iluminación
ambiental no sean las más favorables. En este último caso se debería pensar en
el empleo de displays de 7 segmentos, que aunque no tienen la misma
versatilidad tienen la ventaja innegable de sus mejores características de
visibilidad aún en los ambientes más desfavorables. En la actualidad existen
diversos modelos de pantalla LCD, aunque los más comunes son las pantallas
LCD (2 filas x 16 caracteres), gobernados por el microcontrolador Hitachi
HD44780, que se ha convertido en el estándar de facto para las aplicaciones con
PICs. Específicamente se hará referencia al módulo LM016L, que tiene las
características mencionadas, aunque cualquier otro módulo LCD con el
controlador HD44780 o compatible se puede programar con las funciones
indicadas aquí.

La pantalla LCD 2x16 tiene en total 16 pines, La pantalla muestra 14 pines, los dos
pines adicionales son el ánodo (15) y el cátodo (16) del LED de alumbrado de
fondo.



www.eduardoabad.esy.es

La polarización del LED de fondo se logra conectando una resistencia externa de
50 ohm-1/4 W con lo que se asegura el correcto encendido sin una corriente
excesiva. El control de contraste se consigue con un potenciómetro de 10 k con el
cual se ajusta el nivel de voltaje en el pin 3 (Vee ó VLC).



Cómo conectar el LCD 2x16 al PIC

La conexión más recomendable de la pantalla LCD 2x16 requiere 4 pines para los
datos (D7:D4), 1 pin para habilitar/deshabilitar el display (E) y 1 pin para los modos
comando/carácter (RS). En la figura se indica la forma de conectar el display al
PIC 16F88 y al PIC16F628A.

Conexión del LCD al PIC16F88 (16F628A) con 4 bits



www.eduardoabad.esy.es

Control de LCD mediante BUS de 4 bits

Para el trabajo con el módulo LCD se debe añadir la librería Lcd, que contiene las
funciones listadas en la tabla 3.1. Para poder utilizar estas funciones se debe
declarar previamente un total de 12 variables: 6 que definen los pines del PIC y
otras 6 que permiten programar su sentido de circulación de datos (se detallarán
en los ejemplos de este capítulo).



Tabla 3.1 Funciones para LCD de la librería Lcd de mikroC



Ejemplos de mensajes de texto fijos y en movimiento con

valores numéricos

a

este

Estos ejemplos corresponden al PIC16F88. El código fuente para los PICs
16F628A y 16F877A se encuentra en las carpetas correspondientes que
acompañan
libro.
En el siguiente ejemplo se emplea la función ByteToStr de la librería Conversions,
para convertir el contenido de la variable “contador” (un byte) en una cadena de
caracteres (string) y así poderlo visualizar en el display con la función Lcd_Out.

Cada vez que presiona el pulsador conectado en RA4 se incrementa un contador
que se visualiza en el centro de la segunda línea de la pantalla (figura 3.1.1). Si la
cuenta supera 100, el conteo se reinicia desde 0. En el centro de la primera línea
se muestra la palabra “Conteo:”.



www.eduardoabad.esy.es

//LCD1.c
//Declaración de las 12 variables necesarias para la conexión
//de la pantalla LCD 2x16.
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// Fin de declaración de variables de conexión.

char contador=0,estado=1,texto1[]="Conteo:", texto2[4];

void main(){
OSCCON=0x40; //Oscilador interno a 1MHz.
while (OSCCON.IOFS==0);//Esperar mientras el oscilador está inestable.
ANSEL=0x00; //Bits AN6:AN0 como E/S digital.
Lcd_Init(); //Inicializa el LCD.
Lcd_Cmd(_LCD_CLEAR); //Borra el display.
Lcd_Cmd(_LCD_CURSOR_OFF); //Apaga el cursor.
Lcd_Out(1,6,texto1); //Escribe el texto1.
while (1)
{
if (Button(&PORTA,4,1,0)) estado=0; //Si se pulsa.
if (estado==0 && Button(&PORTA,4,1,1)) //Si se pulsa y se libera.
{
contador++; //"contador" contiene el número de pulsaciones.
if (contador>100) contador=0;
estado=1;
}
ByteToStr(contador,texto2); //Convierte el contenido de la variable
//en texto.
Lcd_Out(2,6,texto2); //Escribe el texto2.
}
}



www.eduardoabad.esy.es




Cuestionario


Menciona que registros y bits de estos registros se afectan en el control del LCD
16x2.


Se escriben primero los 4 bits menos significativos y después los otros 4. El modo
requiere el doble de ciclos de escritura que el anterior y complica levemente la
implementación, pero presenta la ventaja de necesitar sólo 7 líneas, utilizando así
un puerto del microcontrolador.

Dado que sobra un bit del puerto, éste se suele utilizar para el encendido de la
retroiluminación (en los displays de los que se disponga de ella).

Las 3 señales de control adicionales son las siguientes:

 E [Enable]: Señal de strobe o pulso de escritura/lectura. Cuando esta señal
se pone a nivel alto se le está indicando al LCD que se deben leer/escribir
los datos del bus.

 RW [Read/Write]: Señal que indica al LCD si los datos se van a leer o

escribir.

 RS [Register select]: Señal de selección de registro. Indica al LCD si se

quiere acceder al registro de comandos o de datos.



Describe el funcionamiento de cada uno de los ejercicios propuestos.

En los ejercicios propuestos se observa claramente lo que se vio en esta
investigación ya que se manipula mediante 4 bits y los registros y bits que se usan
los ejercicios son los comunes.

Vemos declaración de variables, inicializaciones, el cuerpo del programa, inicializa
el lcd, manda señal al lcd, y al compilar los códigos generamos los archivos
requeridos para la simulación, cabe mencionar que muchas de las funciones
usadas en estos programas ya han sido utilizadas anteriormente en otros
ejemplos.



www.eduardoabad.esy.es

Código 1: verificamos que esta nuestro código y están agregadas las librerías.


CODIGOS EN MPLAB


Verificamos que no hubo errores y que genero el HEX.



www.eduardoabad.esy.es



Código 2: verificamos que esta el código con las librerías necesarias.



Verificamos que no tuvo error y que genero el HEX.



www.eduardoabad.esy.es



Código 3: verificamos que esta el código con las librerías necesarias.



Verificamos que no hubo errores y genero el HEX.



www.eduardoabad.esy.es




CODIGO 1: Nos damos cuenta que se genero el HEX y ahora lo importamos.


PROTEUS


Ahora verificamos que importamos correctamente y corremos


www.eduardoabad.esy.es



CODIGO 2: Nos damos cuenta que se genero el HEX y ahora lo importamos.



Ahora verificamos que importamos correctamente y corremos



www.eduardoabad.esy.es

CODIGO 3: Nos damos cuenta que se genero el HEX y ahora lo importamos.



Ahora verificamos que importamos correctamente y corremos



www.eduardoabad.esy.es
  • Links de descarga
http://lwp-l.com/pdf13422

Comentarios de: Práctica 6 - Control de LCD 16x2 con PIC 16F84A (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad