El Teclado matricial

Anuncio
Microcontroladores
El Teclado matricial
M.C.
M.C. Carlos E. Canto Quintal
El PPI 8255
Microprocesadores
Conexión de Interruptores como Entradas digitales
+5v
10K
I~
=0
V=5
V=5
Cuando a una entrada TTL
está
está en ALTO prá
prácticamente
no fluye corriente en el
circuito y cuando la entrada
está
está en BAJO hay una
corriente directa de1.6 mA
que puede fluir de la
terminal.
Cuando el interruptor está
está abierto, no fluye corriente
por la resistencia y por lo tanto el voltaje en la
terminal de entrada es 5 V.
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Conexión de Interruptores como Entradas digitales
+5v
10K
I=1.6 mA
V=0
V=0
Cuando se cierra el interruptor la
terminal es conectada
directamente a tierra.
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Rebote mec
ánico de un Interruptor
mecánico
•
La apertura de un interruptor es limpia y sin rebote, sin embargo
cuando se cierra los contactos oscilan entre cerrado y abierto
rápidamente por aproximadamente de 20 a 30 ms.
• Para el humano es un tiempo muy corto pero para el
microcontrolador es un tiempo muy largo. Si no se elimina el rebote
el microcontrolador “piensa” que ell interruptor fue cerrado y abierto
muchas veces.
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Ejemplo de un problema que resultar
ía sino eliminamos el
resultaría
rebote de una tecla
Imaginémonos que se está usando un push-buttom
para incrementar la salida de una fuente de poder de un
microcontrolador si se conecta el interruptor sin
eliminar el rebote al microcontrolador, cuando se oprima
el interruptor resultará que el voltaje de salida se va
incrementar muchas veces porque el microcontrolador
responderá como si el interruptor hubiera sido oprimido
muchas veces
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Eliminaci
ón del rebote por Hardware
Eliminación
•
•
•
Como se puede apreciar de la forma de onda, cuando el switch está cerrado el voltaje del
capacitor cae a 0V.Cuando el switch rebota a abierto el condensador comienza a cargarse hasta
5V, pero debido a la constante RC,no puede cargarse hasta el voltaje de referencia ALTO del
Schmitt trigger antes que el switch rebote a cerrado de nuevo.
Una vez que el switch es cerrado, el capacitor de nuevo cae a 0V. Ya que el voltaje del capacitor
nunca llega al voltaje alto de referncia del Schmitt trigger durante el rebote del switch, la salida se
mantiene en bajo y el rebote del switch no se vee en la terminal de del puerto.
Cuando el switch es físicamente abierto, el capacitor tiene suficiente tiempo para cargars al
voltaje de referencia ALTO del Schmitt trigger, punto en el que la salida del trigger se pone en
ALTO y esto es lo que ve la terminal del puerto.
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Teclado matricial
Los teclados matriciales son
ensamblados en forma de matriz ,
como se ilustar en la figura.
figura.
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Renglón 0
Renglón 1
Renglón 2
Renglón 3
Columna 3
Columna 2
Columna 1
El diagrama muestra un teclado
como una matriz de 4X4 - 16
teclas configuradas en 4
columnas y 4 renglones.
renglones.
Cuando no se ha oprimido
ninguna tecla,
tecla, (todos
(todos las teclas
abiertas)
)
no
hay
conexió
abiertas
conexión entre
renglones y columnas .
Cuando se oprime una tecla se
hace una conexió
conexión entre la
columna y el rengló
renglón de la tecla.
tecla.
Columna 0
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Decodificador de teclado
Muchos teclados comerciales ya traen incluido su decodificador,
decodificador, que escanena
el teclado y si,
si, una tecla es presionada,
presionada, regresa un número que identifica la
tecla.
tecla.
Otra alternativa es adquirir por separado un chip decodificador y conectarlo al
teclado.
teclado.
El decodificador mostrado tiene 8 entradas;
entradas; las 4 entradas “X” son conectadas a
las 4 columnas del teclado y las 4 entradas “Y “son conectadas al los 4
renglones.
renglones. No se muestran los capacitores que gobiernan la rapidez a la que se
escanea el teclado.
teclado.
Cuando se oprime una tecla el código de 4 bits de la tecla ( con 16 teclas,
teclas, los
códigos está
están entre 0000 y1111 en binario)
binario) aparecerá
aparecerá en las 4 líneas de salida
y la línea de dato disponible (DA) se pone en BAJO. Si se conecta a una línea de
interrupció
interrupción el microporcesador será
será interrumpido cuando se oprima alguna
tecla.
tecla. La Rutina de Servicio de la Interrupció
Interrupción, entonces lee los 4 bits y procesa
el dato .
El chip del decodificador se encarga de eliminar el rebote de las teclas,
teclas, lo que
libera al programador de esta responsabilidad,
responsabilidad, esto es una ventaja al usar un
chip decodificador.
decodificador.
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
DECODIFICADOR DE TECLADO MATRICIAL HEXADECIMAL
X4
X3
X2
X1
FF
E
E
D
D
C
C
Y4
B
B
A
A
99
88
Y3
77
66
55
44
Y2
33
22
11
00
Y1
Q1
Q2
Q3
Q4
DA
INT
Decodificador de teclado de
4X4
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
MM74C922 • MM74C923
16-Key Encoder • 20-Key Encoder
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
TECLADO MATRICIAL HEXADECIMAL
0
3
2
1
4
5
6
7
8
9
A
B
C
D
E
F
8255
Renglón 0
Renglón 1
Renglón 2
Renglón 3
Columna 3
Columna 2
Columna 1
Columna 0
Z80
Bus
BusdedeDatos
Datos
PC0
PC1
PC2
PC3
Puerto C
PC4
PC7
PC6PC5
PC5PC4
PC4 PC3
PC3PC2
PC2PC1
PC1PC0
PC0
PC7PC6
PC5
PC6
Columnas
(entradas)
PC7
Renglones
(salidas)
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
TECLADO MATRICIAL HEXADECIMAL Y DISPLAY LCD
ss
BUS
BUSDE
DEDATOS
DATOS
00
44
88
11
55
99
22
66
A
A
33
77
B
B
PC0
Renglón 1
Renglón 2
Renglón 3
C
C
D
D
E
E
8255
Renglón 0
FF
PC1
PC2
D0-D7
PC3
PC4
PB.0
Columna 2
PC5
PB.1
Columna 1
PC6
Columna 3
Módulo LCD de 2X16
PTO. A
RS
E
R/ W
Columna 0 PC7
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Tareas básicas a realizar para un teclado matricial
Se
Secargan
cargan ceros
cerosaa
todos
los
renglones
todos los renglonesen
en
elel Puerto
PuertoCC, ,se
seleen
leen
las
lascolumnas
columnasyyse
se
pregunta
preguntasisison
sonpuros
puros
unos
unos
Checar
Checarsisise
se
se
seoprimió
oprimió
alguna
algunatecla
tecla
No
Se
Seoprimió
oprimióalguna
alguna
Tecla
Tecla??
regresar
Se
Secarga
carga cero
ceroaa los
los
renglones
uno
renglones unoaauno
uno
hasta
hastaque
quese
seencuentre
encuentre
lalacolumna
donde
columna dondeestá
estálala
tecla
oprimida
tecla oprimida
Si
Rastrear
Rastrearrenglones
renglones
Para
Paraencontrar
encontrarlalacolumna
columna
de
delalatecla
teclaoprimida
oprimida
Una
Unavez
vezidentificada
identificadalala
columna
y
conociendo
columna y conociendoelel
renglón
renglónse
seaplica
aplicaelel
algoritmo
para
algoritmo paraobtener
obtenerelel
binario
binariode
delalatecla
tecla
oprimida
oprimida
Descifrar
Descifraroodecodificar
decodificar
que
quetecla
teclase
seoprimió
oprimió
Carlos E. Canto Q.
El PPI 8255
Microprocesadores
Diagrama de flujo del programa del teclado matricial
rastreo
rastreodederenglón
renglóni i
PtoCÅScan
PtoCÅScan
Inicio
Inicio
ret
SI
mandar
mandarceros
ceros
aalos
losrenglones
renglones
leer
leerlas
lascolumnas
columnas
leer
leerlas
lascolumnas
columnas
columnas
columnas
enen1’s?
1’s?
columnas
columnas
enen1’s?
1’s?
columna
columna0=0
0=0??
NO
contador
contadordederenglón
renglónaa00
RiÅ0
RiÅ0
NO
SI
SI
RiRiÅ
ÅRi+1
Ri+1
colÅ
colÅ00
Desplaza
DesplazaScan
Scan
AAlalaizquierda
izquierda
TeclaÅ4*Ri
TeclaÅ4*Ri+col
+col
SI
Ri=4?
Ri=4?
ret
NO
columna
columna1=0
1=0??
Inicializar
Inicializarrastreo
rastreo
dederenglones
renglones
ScanÅ11111110
ScanÅ11111110
NO
columna
columna2=0
2=0??
SI
SI
ColÅ
ColÅ11
colÅ
colÅ22
NO
NO
columna
columna3=0
3=0??
SI
ColÅ
ColÅ33
Carlos E. Canto Q.
Descargar