El teclado viene organizado con 4 renglones (X1...X4) y 4 columnas (Y1...Y4), de tal forma de que cada tecla queda
identificada por la intersección de un renglón y una columna. En la figura se muestran los diagramas del teclado, así como de la
asignación de señales en el puerto B, en el conector de EDUPIC y en el conector del teclado.
La técnica de programación para detectar qué botón fue oprimido, es escribir en los bits del puerto B en forma
secuencial un "CERO" en las columnas Y1, Y2, Y3, Y4, y leer cada vez los renglones X1, X2, X3, X4. Cuando una tecla es
oprimida, la lectura en alguno de los renglones será "CERO" y el código de 8 bits X-Y hallado se convierte en el código ASCII de la
tecla oprimida mediante una tabla. La tabla de abajo muestra esta relación:
Código en B
Hexa
B7......B0
11101110
EE
11101101
ED
11101011
EB
1110 0111
E7
11011110
DE
11011101
DD
11011011
DB
11010111
D7
PROGRAMAS DE PRUEBA PARA EL TECLADO: Mediante la tabla de arriba, el programa que controla al teclado
pasa de la parte de detección a otra que identifica el código ASCII de la tecla oprimida. Por favor abra los archivos que se encuentran
en el disco de aplicación, en el subdirectorio "archivos16F628". El nombre de estos archivos es: "teclado1F628", "teclado2F628",
"teclado3F628" y "teclado4F628". Lea en cada archivo la función que desarrolla. La secuencia del 1 al 4 está hecha para facilitar la
comprensión del control del teclado. "teclado4F628" muestra la tecla oprimida en el LCD.
CONEXIÓN DEL TECLADO A EDUPIC: usando los diagramas de las figuras 1, 13 y 15, se conectan las señales de los
renglones y columnas del teclado a los pines pares: 2, 4, 6, 8, 10, 12, 14, 16 en el HEADER 16X del sistema EDUPIC. Recuerde que
este diagrama está hecho específicamente para el teclado del modelo mostrado. Tome nota de la forma en que están numerados los
pines del HEADER, ya que siguen una convención distinta a la de los circuitos integrados, estando los pines pares en una fila y los
nones en la otra.
Conexión a un LCD:
A diferencia del teclado, los fabricantes del display de cristal líquido ("Liquid Cristal Display") LCD, han
estandarizado sus señales en un conector de 14 pines, así como sus comandos de control para el manejo del mismo. El LCD es
actualmente el circuito más barato y confiable para mostrar datos en un proceso de monitoreo y control. Su interfaz con los
controladores se realiza a través de un conector de 14 pines, cuya configuración es respetada por la mayoría de los fabricantes.
En el LCD se pueden mostrar datos como la hora y la fecha, así como valores de variables tales como nivel, presión,
gasto, temperatura, etc. En la interfaz de 14 pines, 8 son señales de datos. Estos datos se manejan en códigos ASCII y se escriben en
la memoria del LCD en forma secuencial. A través de estas mismas señales pueden escribirse también comandos. En las siguientes
tablas se ilustran, en la primera, la distribución de señales de la interfaz y en la segunda algunos de los comandos más comúnmente
empleados.
El módulo LCD lleva integrado a sus circuitos una memoria ROM conocida como "generador de caracteres" que
habrá de generar los patrones de puntos de los caracteres en la pantalla. También tiene una RAM interna que almacena los caracteres
en forma secuencial y los exhibe en el módulo LCD.
Todas las señales de datos y control llevan niveles TTL (0 a 5 volts), con excepción de la señal de control de
intensidad, en el cual hay que aplicar tierra para la mayor intensidad y 5 volts para la menor. En EDUPIC, este voltaje ya viene
preajustado con un divisor de resistencias formado por R26 y R25, de 1K y 100K para dar la intensidad adecuada.
El diagrama general de conexiones del display se muestra en la figura 9. En su aplicación más simple, se desea solo
escritura al LCD y el pin 5 se conecta permanentemente a tierra. La forma de escribir datos en el display es la siguiente :
•
se mandan comandos de inicialización al display, con la señal RS=0 (en estado bajo). Los comandos típicos son los
4 mostrados en la tabla. Para mandar el comando, se escribe su código en los 8 bits DB0 a DB7 y se le da un pulso
BAJO a la señal EN. Esta señal debe estar NORMALMENTE ALTA y se pueden manejar pulsos de 50 ms. Es
importante esperar a que los datos estén estables antes de aplicar el pulso.
28
Tecla
Código en B
B7.....B0
"0"
10111110
"1"
10111101
"2"
10111011
"3"
10110111
"4"
01111110
"5"
01111101
"6"
01111011
"7"
01110111
EDUPIC 16F628 Punto Flotante, S.A. 2010
Hexa
Tecla
BE
"8"
BD
"9"
BB
"A"
B7
"B"
7E
"C"
7D
"D"
7B
"E"
77
"F"