Sei sulla pagina 1di 6

Diseo con microcontroladores PIC en lenguajes MikroBasic, MikroC y MikroPascal Docente: Ing.

Roger Guachalla Narvez


xoroger@yahoo.es

PRACTICA 06: Programacin en MikroPascal del display LCD y el Teclado matricial

1. Objetivos:
A travs de las libreras de MikroPascal, Mikrobasic Pro y MikroC Pro: Keypad Library y LCD Library,
realizar la interface entre el PIC16F877A, un teclado matricial de 4 filas por 4 columnas (keypad
4x4) y una pantalla de cristal lquido ASCII de 2 filas por 16 columnas (LCD 2x16).


2. Teora :


MIKRO PASCAL

TECLADO MATRICIAL
Un teclado (keypad) es un arreglo de pulsadores conectados por filas y columnas.

















RUTINAS DE LA LIBRERIA KEYPAD

MikroPascal, MikroBasicPro y MikroC for PIC proveen una librera para trabajar con un teclado
matricial de 4x4. Las rutinas tambin pueden ser usadas para teclados de 4x1, 4x2 o 4x3.

Keypad_Init: Inicializa el puerto del microcontrolador para trabajar con el teclado

Keypad_Key_Press: Funcin que devuelve el cdigo de tecla del keypad cuando la tecla es presionada.
Si no hay tecla presionada, la funcin devuelve Cero (0).

Keypad_Key_Click: Funcin que devuelve el cdigo de tecla del keypad cuando la tecla es presionada y
liberada. Si no hay tecla presionada, la funcin devuelve Cero (0).

Cdigos de Tecla devueltos por las funciones Keypad_Key_Press y Keypad_Key_Click:


Filas

Columnas

1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16



DISPLAY DE CRISTAL LQUIDO LCD

MikroPascal, MikroBasic y MikroC PRO for PIC proveen la librera LCD para trabajar con pantallas
de cristal lquido capaces de desplegar caracteres ASCII alfanumricos.
En el modo de conexin de 4-bit, se requieren 6 lneas de conexin entre el microcontrolador PIC y
el LCD: 2 lneas de Control (RS: Register Select, EN:Enable) y 4 lneas de Datos (D4,D5,D6,D7)
Para especificar la conexin fsica entre el microcontrolador PIC y el LCD, en el programa se
dimensionan (crean) variables que indican los bits de los puertos del PIC correspondientes a cada
una de las 6 lneas de conexin del LCD. Estos bits pueden modificarse de acuerdo a las
necesidades del diseo.
Previo al uso del LCD, se debe inicializar (una sola vez) con la instruccin: LCD_Init()
Se pueden enviar mensajes al LCD indicando la fila (1 al 4), columna (1 al 16) y el texto (ASCII entre
comillas) con la instruccin: LCD_Out(fila,columna,Texto)
Si se requiere enviar Variables (byte, integer, float, etc.) al LCD, se deben utilizar funciones de
conversin de la librera de conversiones (Conversions Library). Por ejemplo para mostrar un dato
tipo byte llamado Temperatura, se debe crear una variable adicional de tipo cadena (string) que
contenga el dato en formato ASCII:


dim Temperatura as byte
dim Temperatura_Txt as string[3]
...
Temperatura=24 Asignar un valor a la variable
ByteToStr(Temperatura,Temperatura_Txt) Convertir la variable a texto
LCD_Out(1,1,Temperatura_Txt)


Tambin se pueden enviar comandos al LCD para su control con la instruccin:
LCD_Cmd(Comando LCD). La siguiente tabla muestra los comandos disponibles:


Comando LCD Propsito
_LCD_FIRST_ROW Mover cursor a la primera fila
_LCD_SECOND_ROW Mover cursor a la segunda fila
_LCD_THIRD_ROW Mover cursor a la tercera fila
_LCD_FOURTH_ROW Mover cursor a la cuarta fila
_LCD_CLEAR Limpiar pantalla
_LCD_RETURN_HOME Retornar el cursor a la fila 1, columna 1
_LCD_CURSOR_OFF Apagar cursor
_LCD_UNDERLINE_ON Activar cursor subrayado
_LCD_BLINK_CURSOR_ON Activar cursor parpadeante
_LCD_MOVE_CURSOR_LEFT Mover cursor a la izquierda
_LCD_MOVE_CURSOR_RIGHT Mover cursor a la derecha
_LCD_TURN_ON Encender la pantalla del LCD
_LCD_TURN_OFF Apagar la pantalla del LCD
_LCD_SHIFT_LEFT Desplazar la pantalla a la izquierda
_LCD_SHIFT_RIGHT Desplazar la pantalla a la derecha




Pantalla de cristal lquido LCD de 2 filas y 16 columnas

Se utiliza para visualizar los diferentes mensajes en una pantalla LCD. Est basado en el
microcontrolador HD44780 (Hitachi) integrado y puede visualizar mensajes en hasta 4 lneas (filas) con
16 caracteres (columnas) cada una. Puede visualizar todas las letras de alfabeto, letras de alfabeto
griego, signos de puntuacin, smbolos matemticos etc. Tambin es posible visualizar smbolos
creados por el usuario.




A lo largo de un lado de una placa impresa pequea del visualizador LCD se encuentran los pines
que le permiten estar conectado al microcontrolador.
Hay 14 pines en total marcados con nmeros (16 si hay retroiluminacin).
Su funcin de los pines se muestra en la tabla que sigue:

FUNCI N NMERO NOMBRE
ESTADO
LGI CO
DESCRI PCI N
Tierra 1 Vss - 0V
Alimentacin 2 Vdd - +5V
Contraste 3 Vee - 0 - Vdd
Control de
funcionamiento
4 RS
0
1
D0 D7 considerados como comandos
D0 D7 considerados como datos
5 R/W
0
1
Escribir los datos (del microcontrolador al LCD)
Leer los datos (del LCD al microcontrolador)
6 E
Transicin
de 1 a 0
Acceso al visualizador LCD deshabilitado
Funcionamiento normal
Datos/comandos se estn transmitiendo al LCD
Datos / comandos
7 D0 0/1 Bit 0 LSB
8 D1 0/1 Bit 1
9 D2 0/1 Bit 2
10 D3 0/1 Bit 3
11 D4 0/1 Bit 4
12 D5 0/1 Bit 5
13 D6 0/1 Bit 6
14 D7 0/1 Bit 7 MSB

El contraste del visualizador depende del voltaje de alimentacin y de si los mensajes se visualizan en
una o dos lneas. Por esta razn, un voltaje variable 0-Vdd se aplica al pin marcado como Vee. Un
potencimetro se utiliza con frecuencia para este propsito.
Algunos de los visualizadores LCD tienen retroiluminacin incorporada (diodos LED azules o verdes). Al
utilizarlo durante el funcionamiento, se debe de conectar una resistencia en serie a uno de los pines
para limitar la corriente (similar a diodos LED).
3. EJEMPLO: Diagrama Esquemtico


















Componentes Proteus:



4. EJEMPLO: Cdigo fuente en lenguaje MikroPascal Pro for PIC


5. Procedimiento Experimental en Laboratorio

I. 1era Firma:

Simular y Armar en protoboard el programa de EJEMPLO verificando su funcionamiento.


II. 2da Firma:
Usando el lenguaje MikroPascalPro for PIC con el PIC16F877A realizar uno de los siguientes INCISOS:
(Ell inciso a realizar ser asignados por el Docente o por el Auxiliar una vez obtenida la 1era Firma)


a) Candado electrnico: Se ingresa un cdigo de apertura del candado de 3 dgitos. Si el cdigo es
correcto el LCD debe mostrar el mensaje ABIERTO, caso contrario el mensaje ser CERRADO.

b) Calculadora bsica: Se ingresa dos nmeros de 1 dgito (del 0 al 9), posteriormente ingresa una
operacin a realizar: +,-,*,/ Finalmente el LCD muestra el resultado de la operacin.

c) Nmero secreto: Se ingresa un nmero de 2 dgitos, se compara con el nmero secreto. Si el
nmero ingresado el mayor se muestra en el LCD Mayor, si es menor se muestra Menor. El
proceso se repite hasta encontrar el nmero secreto, en cuyo caso el LCD muestra Numero
Secreto.

6. Informe de la Prctica

I. Firmas en la Cartula (0, 1 o 2) que avalen los procedimientos realizados en Laboratorio
II. Imprimir el Diagrama Esquemtico y el Cdigo Fuente en MikroBasic usados para realizar el inciso
asignado para la obtencin de la 2da Firma del Trabajo en Laboratorio
III. TRABAJO DE INVESTIGACION:
Cada trabajo de investigacin debe incluir:
Resumen escrito a mano (de un mnimo de 3 pginas)
Fuentes de Informacin (direcciones web, bibliografa)
Copias impresas de la informacin adquirida a travs de las fuentes

Displays LCD
Secuencia de pasos y valores requeridos para realizar una inicializacin (INIT) de la
pantalla LCD
Explicar en detalle los tres bloques de memoria que posee el display LCD: Memoria
DDRAM, CGRAM y CGROM.
Mostrar en una tabla, el conjunto de caracteres ASCII que puede desplegar un display
LCD
Display LCD grfico (GLCD): Caractersticas, modos de funcionamiento, protocolo de
comunicacin

IV. Conclusiones

Potrebbero piacerti anche