Documente Academic
Documente Profesional
Documente Cultură
CONTROL DE TECLADO
El teclado es un dispositivo de entrada de datos que consta de 16 teclas o pulsadores,
dispuestos e interconectados en filas y columnas. Dispone de un conector SIL (Single In Line)
macho de 8 pines que se corresponden con las 4 filas y las cuatro columnas de las que
dispone.
FUNCIONAMIENTO:
En la siguiente figura vemos el esquema de conexiones interno del teclado matricial y sus
correspondientes pines de salida numerados de izquierda a derecha mirando el teclado tal
y como se ve en la foto anterior. Cuando se presiona una tecla se conecta una fila con una
columna, teniendo en cuenta este hecho es muy fácil averiguar que tecla fue pulsada.
También podemos ver las conexiones típicas con el puerto B del PIC.
Como observamos en la imagen anterior nace la necesidad de conectar las resistencias
externas, pero algunos microcontroladores como por ejemplo el 16F877A trae internamente
estas resistencias conectadas en el puerto B.
PROGRAMA:
processor 16f877
include<P16f877.inc>
;Declaración de VARIABLES
;Contador de caractéres
INICIO:
;Inicio
START:
clrf caracter
INICIA_LCD:
movwf PORTD
movwf PORTD
movwf PORTD
return
ENVIA:
return
COMANDO:
return
LINEA2:
movwf PORTD
goto NEW_SCAN
; Rutina de retardo
DELAY:
movlw 0xFF
movwf cont2
loop1:
movlw 0xFF
movwf cont1
loop2:
decfsz cont1,1
goto loop2
decfsz cont2,1
goto loop1
return
NEW_SCAN:
movwf PORTB
Nop ; Espera estabilizar la señal
CHK_COL:
NEXT_COL:
; recorrida
Espera1
Espera2
Espera3
Espera4
;numTecla en W
CONV_TECLA
addwf PCL,1
end
Ahora para saber que tecla esta siendo pulsada necesitamos escanear el teclado, y esto se consigue
mediante las rutinas NEW_SCAN y CHK_COL que consisten en ir poniendo una a una las líneas RB0 a
RB3 (conectadas a las filas del teclado) a nivel bajo ya que estas salidas tienen conectada la resistencia
de polarización a Vcc y por lo tanto están siempre a nivel lógico alto. Cada vez que una fila se pone a
nivel bajo se hacen 4 comprobaciones para ver si una de las cuatro columnas se a puesto a nivel bajo
y así saber la tecla pulsada mediante el contador numTecla.
DIAGRAMAS CONTROL DE TECLADO MATRICIAL:
BIBLIOGRAFÍA: (PAGINAS CONSULTADAS)
http://www.openboxer.260mb.com/asignaturas/microcomp/teclado4x4.html
http://www.puntoflotante.net/PROY_TECL.htm
http://www.x-robotics.com/rutinas.htm
http://monasezaelectronics.blogspot.com/2008/11/lcd-teclado-pic16f877.html?m=1