HOME

PRODUCTOS

PROYECTOS

TUTORIALES

VIDEOS

FREEWARE

PROGRAMAS

FUNCIONES C

EMPRESA

ENGLISH

                   

Conexión de un teclado matricial a sistemas PIC 16/18

 

 

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:

 

RB7……RB0 HEXA TECLA RB7…..RB0 HEXA TECLA
11101110 EE "0" 10111110 BE "8"
11101101 ED "1" 10111101         BD "9"
11101011    EB "2" 10111011 BB "A"
11100111   E7 "3" 10110111   B7 "B"
11011110 DE   “4” 01111110 7E "C"
11011101    DD “5” 01111101 7D “D”
11011011 DB   “6” 01111011 7B “E”
11010111 D7 “7”    01110111 77 “F”

Sistema Bolt 18F2550:

Aquí encontrará los programas de prueba en ANSI C disponibles para este teclado y el sistema Bolt 18F2550

Consulte aquí el listado de las funciones de librería disponibles para el teclado hexadecimal con el compilador C18.

 

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: