|
Teoría de funcionamiento: No existe un estándar para los conectores de los teclados en aplicaciones de los sistemas de microcontrol, de tal forma que cada modelo exige un hardware de conexión y una subrutina de manejo distintos. La configuración más sencilla es la conocida como matricial, con 4 renglones y 4 columnas, para un total de 16 botones. El teclado hexadecimal matricial de bajo costo mostrado en la foto de la izquierda, es compatible con el puerto para teclado de los sistemas operando cualquier microcontrolador 16F84, 16F628 ó los sistemas EB88 ó Bolt 18F2550. La asignación de señales se muestra en las figuras de abajo. La inserción del teclado es directa al header 8x del sistema EB88 ó Bolt 18F2550. |
DIAGRAMA DEL TECLADO Y SU INTERFAZ CON SISTEMA EB88
|
|
En la figura de arriba se muestran los diagramas del teclado, así como de la asignación de señales en el puerto B, en el conector del sistema y en el conector del teclado. Las señales RB0...RB3 se programan como salidas del puerto B, mientras las señales RB4...RB7 como entradas. 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. El programa de control del teclado tiene dos partes: una es la subrutina de "detección" en la cual el programa detecta que se oprimió una tecla. En su segunda parte, aparece la subrutina de "identificación" mediante la cual el programa identifica que tecla fue la que se oprimió.
|
Algoritmo
de detección e identificación: 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:
Sistema Bolt 18F2550:
Sistemas 16F84, 16F628, 16F88: PROGRAMAS DE PRUEBA: En seguida se proporcionan los archivos de 4 programas de prueba en lenguaje ensamblador para el control del teclado. Se sugiere estudiarlos empezando con la versión 1 y terminando con la versión 4, ya que el grado de complejidad va aumentando. EN LENGUAJE ENSAMBLADOR: EN ANSI C: |