conexion de teclados
TRANSCRIPT
![Page 1: Conexion de Teclados](https://reader038.vdocuments.pub/reader038/viewer/2022100506/5571f8b649795991698def24/html5/thumbnails/1.jpg)
1
1
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
Teclados Muy utilizado para introducir información al microcontrolador.
El problema de los rebotes.• Debido al efecto muelle del pulsador, se producen oscilaciones en laseñal tanto al pulsar como al soltar la tecla.
• Los hay de varios tipos: de lámina flexible, de efecto Hall, de efectoinductivo, de efecto capacitivo.
• Los más comunes son los de lámina flexible.
+Vcc
u1
R
u1
u1
t
t
IDEAL
REAL
SOLUCIONES
Hw: Red R-CBiestables
Sw: Espera deun tiemposuficiente
SOLUCIONES
Hw: Red R-CBiestables
Sw: Espera deun tiemposuficiente
2
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
Teclados lineales Muy sencillos, pero no permiten disponer de muchas teclas.
E0
E1
En
De este modo, cuando elmicrocontrolador detecteun “0” al final de la línea, sesabrá que se ha pulsado unatecla y, además, se sabrácuál ha sido.
Basta con que el programacompruebe periódicamente elestado de las entradas a lasque se ha conectado el teclado.
Basta con que el programacompruebe periódicamente elestado de las entradas a lasque se ha conectado el teclado.
+Vcc
![Page 2: Conexion de Teclados](https://reader038.vdocuments.pub/reader038/viewer/2022100506/5571f8b649795991698def24/html5/thumbnails/2.jpg)
2
3
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
Teclados matriciales Varias teclas controladas con un número reducido de puertos E/S.
0
0
0
+Vcc
0
1
1
1
1
SF1
SF2
SF3
SF4
EC1
EC2
EC3
EC4
La pulsación de una tecla sepone de manifiesto en lasentradas del microcontroladorconectadas al teclado.
En este ejemplo, se sabeque se ha pulsado una teclade la tercera columna, pero
no se sabe cuál.Se necesita desarrollaralgoritmos que permitan
determinar cuál es la teclaque se ha pulsada.
En este ejemplo, se sabeque se ha pulsado una teclade la tercera columna, pero
no se sabe cuál.Se necesita desarrollaralgoritmos que permitan
determinar cuál es la teclaque se ha pulsada.
0
4
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
Muestreo secuencial.Una vez que se ha detectado que se ha pulsado una tecla, se cambia el valorde las salidas en el microcontrolador de modo que sólo una de ellas valga ‘0’en cada instante.
La combinación que dé lugar a un ‘0’ en alguna de las entradas identificará latecla que se ha pulsado.
1
0
1
+Vcc
1
1
1
0
1
SF1
SF2
SF3
SF4
EC1
EC2
EC3
EC4
1
0
1
+Vcc
1
1
1
0
1
SF1
SF2
SF3
SF4
EC1
EC2
EC3
EC4
SF1 SF2 SF3 SF4 EC1 EC2 EC3 EC4
0 1 1 1 1 1 1 11 0 1 1 1 1 0 11 1 0 1 1 1 1 11 1 1 0 1 1 1 1
Es un método sencillo de implementar,pero tardará más o menos en encontrar
la tecla pulsada en función de laposición que ocupe ésta.
Es un método sencillo de implementar,pero tardará más o menos en encontrar
la tecla pulsada en función de laposición que ocupe ésta.
![Page 3: Conexion de Teclados](https://reader038.vdocuments.pub/reader038/viewer/2022100506/5571f8b649795991698def24/html5/thumbnails/3.jpg)
3
5
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
Inversión de línea.Tras detectar que hay una tecla pulsada, se almacena el valor que hay en lasentradas, se invierten las líneas (las que eran entradas pasan a ser salidas yviceversa) y se saca por las nuevas salidas la combinación almacenada.
Esto dará lugar a que en las nuevasentradas sólo aparezca un cero en lafila a la que pertenece la teclapulsada.
Este método es más rápidoque el anterior y tarda lo
mismo en identificarcualquier tecla.
Este método es más rápidoque el anterior y tarda lo
mismo en identificarcualquier tecla.
1
0
1
+Vcc
1
1
1
0
1
EF1
EF2
EF3
EF4
SC1
SC2
SC3
SC4
6
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
0
0
0
+Vcc
0
1
1
1
1
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
[S]
[E]
pull-up resistors
F1
F2
F3
F4
C1
C2
C3
C4
0
0
0
+Vcc
0
1
1
1
1
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
[S]
[E]
pull-up resistors
F1
F2
F3
F4
C1
C2
C3
C4
0
0
0
+Vcc
0
1
1
1
1
RB0
RB1
RB2
RB3
RB4
RB5
RB6
RB7
[S]
[E]
pull-up resistors
F1
F2
F3
F4
C1
C2
C3
C4
Conexión de teclados matriciales en los PIC. El puerto B de los microcontroladores PIC está especialmente pensado
para conectar un teclado matricial de 4×4.
* La posibilidad dehabilitar resistencias depull-up reduce el número
de componentes externos.
* La existencia de unainterrupción asociada a
cambios en los bitsRB<4:7> avisa de que se ha
pulsado una tecla.
* La posibilidad dehabilitar resistencias depull-up reduce el número
de componentes externos.
* La existencia de unainterrupción asociada a
cambios en los bitsRB<4:7> avisa de que se ha
pulsado una tecla.
![Page 4: Conexion de Teclados](https://reader038.vdocuments.pub/reader038/viewer/2022100506/5571f8b649795991698def24/html5/thumbnails/4.jpg)
4
7
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
El Puerto B es el más indicado para conectar un teclado matricial 4×4debido a la capacidad de habilitar resistencias de pull-up y de generar unainterrupción cada vez que cambia el estado de alguno de sus cuatro bits másaltos RB<4:7>.
Por ello se va a usar este puerto para conectar este tipo de teclados.
Sin embargo debe tenerse en cuenta que el debugger ICD2 hace uso de dospines del Puerto B para llevar a cabo tareas de emulación (RB7 y RB6).
Esto se traducirá en que, durante la emulación delsistema, algunas teclas “no funcionarán”: las filas o
columnas conectadas a las líneas RB6 y RB7 del PORTB Una vez grabado el programa en el microcontroladordefinitivo, todas las teclas pasarán a estar operativas.
8
Sistemas basados en Microcontroladores
Teclados ©ATE-Universidad de Oviedo
Extensión a teclados de más de 16 teclas. Se puede ampliar el tamaño del teclado sin más que utilizar codificadores
y decodificadores.
0
0
0
+Vcc
0
1
1
1
1
SF1
SF2
SF3
SF4
EC1
EC2
EC3
EC4
Decodif.
4 ÷ 16
Codif
16 ÷ 4
TecladoMatricial
16 × 16
+Vcc
1
1
1
1
SF1
SF2
SF3
SF4
EC1
EC2
EC3
EC4
Decodif.
4 ÷ 16
Codif
16 ÷ 4
TecladoMatricial
16 × 16
En este caso se debería usar la exploración secuencial
Barr
ido
en c
omb.
de s
alid
a