SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
El Teclado matricialEl Teclado matricialEl Teclado matricial
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
Teclado matricialTeclado matricialTeclado matricial
LosLos tecladosteclados matricialesmatriciales sonson
ensambladosensamblados en forma deen forma de matrizmatriz ,,
comocomo sese ilustarilustar en laen la figurafigura..
ElEl diagramadiagrama muestramuestra unun tecladoteclado
comocomo unauna matrizmatriz de 4X4de 4X4 -- 1616
teclasteclas configuradasconfiguradas en 4en 4
columnascolumnas y 4y 4 renglonesrenglones..
CuandoCuando no se hano se ha oprimidooprimido
ningunaninguna teclatecla, (, (todostodos laslas teclasteclas
abiertasabiertas) no hay) no hay conexiconexióónn entreentre
renglonesrenglones yy columnascolumnas ..
CuandoCuando sese oprimeoprime unauna teclatecla sese
hacehace unauna conexiconexióónn entreentre lala
columnacolumna y ely el renglrenglóónn de lade la teclatecla..
Renglón 0
Renglón 1
Renglón 2
Renglón 3
Columna 0
Columna 1
Columna 2
Columna 3
0 1 3
4 5 6 7
8 9 A B
C D E F
2
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
Decodificador de tecladoDecodificadorDecodificador dede tecladoteclado
MuchosMuchos tecladosteclados comercialescomerciales yaya traentraen incluidoincluido susu decodificadordecodificador,, queque escanenaescanena
elel tecladoteclado yy sisi,, unauna teclatecla eses presionadapresionada,, regresaregresa unun nnúúmeromero queque identificaidentifica lala
teclatecla..
OtraOtra alternativaalternativa eses adquiriradquirir porpor separadoseparado un chipun chip decodificadordecodificador yy conectarloconectarlo alal
tecladoteclado..
ElEl decodificadordecodificador mostradomostrado tienetiene 88 entradasentradas;; laslas 44 entradasentradas ““XX”” sonson conectadasconectadas aa
laslas 44 columnascolumnas deldel tecladoteclado yy laslas 44 entradasentradas ““YY ““sonson conectadasconectadas alal loslos 44
renglonesrenglones. No se. No se muestranmuestran loslos capacitorescapacitores queque gobiernangobiernan lala rapidezrapidez a laa la queque sese
escaneaescanea elel tecladoteclado..
CuandoCuando sese oprimeoprime unauna teclatecla elel ccóódigodigo de 4 bits de lade 4 bits de la teclatecla ( con 16( con 16 teclasteclas,, loslos
ccóódigosdigos estestáánn entreentre 0000 y1111 en0000 y1111 en binariobinario)) aparecerapareceráá enen laslas 44 llííneasneas dede salidasalida
y lay la llííneanea dede datodato disponibledisponible (DA) se pone en BAJO.(DA) se pone en BAJO. SiSi sese conectaconecta aa unauna llííneanea dede
interrupciinterrupcióónn elel microporcesadormicroporcesador serseráá interrumpidointerrumpido cuandocuando sese oprimaoprima algunaalguna
teclatecla. La. La RutinaRutina dede ServicioServicio de lade la InterrupciInterrupcióónn,, entoncesentonces leelee loslos 4 bits y4 bits y procesaprocesa
elel datodato ..
El chip delEl chip del decodificadordecodificador sese encargaencarga dede eliminareliminar elel reboterebote dede laslas teclasteclas, lo, lo queque
liberalibera alal programadorprogramador dede estaesta responsabilidadresponsabilidad,, estoesto eses unauna ventajaventaja alal usarusar unun
chipchip decodificadordecodificador..
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
DECODIFICADOR DE TECLADO MATRICIAL HEXADECIMALDECODIFICADOR DE TECLADO MATRICIAL HEXADECIMAL
DD CCFF EE
99 88BB AA
55 4477 66
11 0033 22
X4
X3
X2
X1
Y4
Y1
Y3
Y2
Decodificador de teclado de
4X4
INTDA
Q4
Q3
Q2
Q1
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
OE
MM74C922 • MM74C923
16-Key Encoder • 20-Key Encoder
MM74C922 • MM74C923
16-Key Encoder • 20-Key Encoder
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
ConexiConexióón de un LCD y un Teclado Matricial de 16 teclas aln de un LCD y un Teclado Matricial de 16 teclas al µµ80518051
+Vcc
10 KΩ
ren0
ren1
ren2
ren3
Col 3
Col 2
Col 1
Col 0
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
0123
4567
89AB
CDEF
4.7 KΩ
DB7
DB6
DB5
DB4
P1.7
P1.6
P1.5
P1.4
P1.3
RS E R/W
P1.4
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
Tareas básicas a realizar para un teclado matricial
Checar si se
se oprimió
alguna tecla
Checar si se
se oprimió
alguna tecla
Se oprimió alguna
Tecla ?
Se oprimió alguna
Tecla ?
Rastrear renglones
Para encontrar la columna
de la tecla oprimida
Rastrear renglones
Para encontrar la columna
de la tecla oprimida
Descifrar o decodificar
que tecla se oprimió
Descifrar o decodificar
que tecla se oprimió
regresar
No
Si
Se cargan ceros a
todos los renglones en
el Puerto C , se leen
las columnas y se
pregunta si son puros
unos
Se cargan ceros a
todos los renglones en
el Puerto C , se leen
las columnas y se
pregunta si son puros
unos
Se carga cero a los
renglones uno a uno
hasta que se encuentre
la columna donde está la
tecla oprimida
Se carga cero a los
renglones uno a uno
hasta que se encuentre
la columna donde está la
tecla oprimida
Una vez identificada la
columna y conociendo el
renglón se aplica el
algoritmo para obtener el
binario de la tecla
oprimida
Una vez identificada la
columna y conociendo el
renglón se aplica el
algoritmo para obtener el
binario de la tecla
oprimida
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
¿Cómo saber que tecla se oprimió?
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
0 1 2 3
4 5 6 7
8 9 A B
C D E F
COLUMNA 0
COLUMNA 1
COLUMNA 2
COLUMNA 3
RENGLÓN 0
RENGLÓN 1
RENGLÓN 2
RENGLÓN 3
TECLA = 4xRi +TECLA = 4xRi + CjCj
Donde:
Tecla=la tecla oprimida en binario
Ri= # del renglón escaneado
Cj= #.de la columna donde se encontró la tecla
EjemploEjemplo,si se oprimió la tecla 6,
ésta se encuentra en el renglón 1 y
columna 2, entonces:
Tecla=4x1+2=6Tecla=4x1+2=6
Diagrama de flujo del programa del teclado matricial
mandar ceros
a los renglones
mandar ceros
a los renglones
leer las columnasleer las columnas
columnas
en 1’s?
columnas
en 1’s?
contador de renglón a 0
Ri 0
contador de renglón a 0
Ri 0
Inicializar rastreo
de renglones
Scan 11111110
Inicializar rastreo
de renglones
Scan 11111110
columnas
en 1’s?
columnas
en 1’s?
rastreo de renglón i
Renglones Scan
rastreo de renglón i
Renglones Scan
leer las columnasleer las columnas
Ri Ri+1Ri Ri+1 Desplaza Scan
A la izquierda
Desplaza Scan
A la izquierda
col 0col 0columna 0=0 ?columna 0=0 ?
Col 1Col 1columna 1=0 ?columna 1=0 ?
Ri=4?Ri=4?
col 2col 2columna 2=0 ?columna 2=0 ?
Col 3Col 3columna 3=0 ?columna 3=0 ?
Tecla 4*Ri +colTecla 4*Ri +col ret
ret
InicioInicio
SI
SI
SI
SI
SI
SI
NO
SI
NO
NO
NO
NO
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
MOV P3,#0F0H
MOV A,P3
CJNE A,#0F0H,SCAN_REN
RET
SCAN_REN: MOV R0,#00
MOV P3,#0FEH
MOV A,P3
ANL A,#0F0H
CJNE A,#0FH,SCAN_COL
INC R0
RR A (Rotate Right the Accumulator)
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
cada bit es desplazado una localidad hacia la derecha, donde elcada bit es desplazado una localidad hacia la derecha, donde el bit 0 sebit 0 se
va al bit 7.va al bit 7.
Esta instrucciEsta instruccióón rota el contenido del acumulador hacia la derecha:n rota el contenido del acumulador hacia la derecha:
RL A (RL A (RotateRotate LeftLeft thethe AccumalatorAccumalator))
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
CadaCada bit es desplazado una localidad hacia la izquierda , tal que elbit es desplazado una localidad hacia la izquierda , tal que el bit 7bit 7
se va al bit 0se va al bit 0
Esta instrucciEsta instruccióón rota el contenido del acumulador hacia la izquierda:n rota el contenido del acumulador hacia la izquierda:
RRC A (RRC A (RotateRotate RightRight throughthrough thethe CarryCarry ))
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
CadaCada bit es desplazado una localidad hacia la derecha , donde el bitbit es desplazado una localidad hacia la derecha , donde el bit 0 se0 se
va al bit de acarreo (C) del PSW, mientras que el acarreo se vava al bit de acarreo (C) del PSW, mientras que el acarreo se va al bit 7al bit 7
(esto es: si el acarreo ten(esto es: si el acarreo teníía 1 antes de la ejecucia 1 antes de la ejecucióón de RRC A, entonces eln de RRC A, entonces el
bit 7 del acumulador contendrbit 7 del acumulador contendráá un 1 despuun 1 despuéés de la ejecucis de la ejecucióón del RRC A.n del RRC A.
Esta instrucciEsta instruccióón rota el contenido del acumulador hacia la derecha an rota el contenido del acumulador hacia la derecha a
travtravéés del Acarreo ( C ) :s del Acarreo ( C ) :
Otra alternativaOtra alternativa
• Mientras no se oprima ninguna tecla el programa
escanea renglón 0, renglón1, renglón 2, renglón 3 y se
regresa de nuevo al renglón 0 continuamente.
• cuando se oprime una tecla, el número de esa tecla es
puesto en R0.
• Ya que el número de la tecla presionada será
almacenada en R0, R0 inicialmente es 0. Cada tecla es
escaneada y sino es la tecla oprimida, R0 es
incrementado, de esa forma cuando la tecla oprimida es
encontrada , R0 contendrá el número de la tecla.
• la bandera de propósito general F0, será usada por la
subrutina de scaneo de las columnas, para indicar
cuando una tecla se oprimió o no en esa columna. Si al
regresar de la subrutina F0 es “1”, significa que la tecla
fue encontrada..
MicrocontroladoresMicrocontroladores
M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
Teclado Matricial

Más contenido relacionado

La actualidad más candente

Subestaciones eléctricas
Subestaciones eléctricasSubestaciones eléctricas
Subestaciones eléctricas
Karene Barrales
 
Trabajo familias logicas
Trabajo familias logicasTrabajo familias logicas
Trabajo familias logicas
wm_black
 
Lenguaje Ladder
Lenguaje LadderLenguaje Ladder
Lenguaje Ladder
Ruth Cano
 

La actualidad más candente (20)

DigSILENT PF - 04 cortocircuitos
DigSILENT PF - 04 cortocircuitosDigSILENT PF - 04 cortocircuitos
DigSILENT PF - 04 cortocircuitos
 
Subestaciones eléctricas
Subestaciones eléctricasSubestaciones eléctricas
Subestaciones eléctricas
 
Los Flip Flops
Los Flip FlopsLos Flip Flops
Los Flip Flops
 
Diagrama unifilar
Diagrama unifilarDiagrama unifilar
Diagrama unifilar
 
PLC y Electroneumática: Control de motores eléctricos
PLC y Electroneumática: Control de motores eléctricos PLC y Electroneumática: Control de motores eléctricos
PLC y Electroneumática: Control de motores eléctricos
 
Anillo configuracion
Anillo configuracionAnillo configuracion
Anillo configuracion
 
PWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros InvolucradosPWM con PIC16F877A: Modulos y Registros Involucrados
PWM con PIC16F877A: Modulos y Registros Involucrados
 
Sistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempoSistemas lineales invariantes en el tiempo
Sistemas lineales invariantes en el tiempo
 
Ingeniería de control: Retroalimentación y sistemas de control.pdf
Ingeniería de control: Retroalimentación y sistemas de control.pdfIngeniería de control: Retroalimentación y sistemas de control.pdf
Ingeniería de control: Retroalimentación y sistemas de control.pdf
 
Trabajo familias logicas
Trabajo familias logicasTrabajo familias logicas
Trabajo familias logicas
 
Comunicación cade simu con pc_simu
Comunicación cade simu con pc_simuComunicación cade simu con pc_simu
Comunicación cade simu con pc_simu
 
Cuaderno de logo
Cuaderno de logoCuaderno de logo
Cuaderno de logo
 
Facts potencia
Facts potenciaFacts potencia
Facts potencia
 
Antenas microstrip
Antenas microstripAntenas microstrip
Antenas microstrip
 
Lenguaje Ladder
Lenguaje LadderLenguaje Ladder
Lenguaje Ladder
 
Variadores de velocidad
Variadores de velocidadVariadores de velocidad
Variadores de velocidad
 
Filtros activos en general
Filtros activos en generalFiltros activos en general
Filtros activos en general
 
Cuadripolos
CuadripolosCuadripolos
Cuadripolos
 
Guia1 electroneumatica
Guia1 electroneumaticaGuia1 electroneumatica
Guia1 electroneumatica
 
Motores y tableros
Motores y tablerosMotores y tableros
Motores y tableros
 

Similar a Teclado Matricial

Digital
DigitalDigital
Digital
toni
 
Digital E
Digital EDigital E
Digital E
toni
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Daniel Pardo
 

Similar a Teclado Matricial (20)

Teclado matricial - sistemas empotraddos
Teclado matricial - sistemas empotraddosTeclado matricial - sistemas empotraddos
Teclado matricial - sistemas empotraddos
 
Teclado
TecladoTeclado
Teclado
 
Ejercicio 05 Subrutinas
Ejercicio 05 SubrutinasEjercicio 05 Subrutinas
Ejercicio 05 Subrutinas
 
Digital
DigitalDigital
Digital
 
Digital E
Digital EDigital E
Digital E
 
El club de Programación de microcontroladores PIC
El club de Programación de microcontroladores PIC El club de Programación de microcontroladores PIC
El club de Programación de microcontroladores PIC
 
Clase Timer 1
Clase Timer 1Clase Timer 1
Clase Timer 1
 
Clase 2 cdii
Clase 2 cdiiClase 2 cdii
Clase 2 cdii
 
Clase 2 cdii
Clase 2 cdiiClase 2 cdii
Clase 2 cdii
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 
Tutorial creación de modulo 60 en proteus
Tutorial creación de modulo 60 en proteusTutorial creación de modulo 60 en proteus
Tutorial creación de modulo 60 en proteus
 
Tramas phillips
Tramas phillipsTramas phillips
Tramas phillips
 
Protocolo phillips
Protocolo phillipsProtocolo phillips
Protocolo phillips
 
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizadorLab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
Lab 8 eeprom_de_datos_y_tmr0_contador_y_temporizador
 
Circuitos secuenciales=u.o
Circuitos secuenciales=u.oCircuitos secuenciales=u.o
Circuitos secuenciales=u.o
 
Universidad autonoma de chiapas fcp
Universidad autonoma de chiapas fcpUniversidad autonoma de chiapas fcp
Universidad autonoma de chiapas fcp
 
Trabajo final matematicas
Trabajo final matematicasTrabajo final matematicas
Trabajo final matematicas
 
Circuitos digitales
Circuitos digitales Circuitos digitales
Circuitos digitales
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 

Último (20)

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 

Teclado Matricial

  • 1. El Teclado matricialEl Teclado matricialEl Teclado matricial MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal Teclado matricialTeclado matricialTeclado matricial LosLos tecladosteclados matricialesmatriciales sonson ensambladosensamblados en forma deen forma de matrizmatriz ,, comocomo sese ilustarilustar en laen la figurafigura.. ElEl diagramadiagrama muestramuestra unun tecladoteclado comocomo unauna matrizmatriz de 4X4de 4X4 -- 1616 teclasteclas configuradasconfiguradas en 4en 4 columnascolumnas y 4y 4 renglonesrenglones.. CuandoCuando no se hano se ha oprimidooprimido ningunaninguna teclatecla, (, (todostodos laslas teclasteclas abiertasabiertas) no hay) no hay conexiconexióónn entreentre renglonesrenglones yy columnascolumnas .. CuandoCuando sese oprimeoprime unauna teclatecla sese hacehace unauna conexiconexióónn entreentre lala columnacolumna y ely el renglrenglóónn de lade la teclatecla.. Renglón 0 Renglón 1 Renglón 2 Renglón 3 Columna 0 Columna 1 Columna 2 Columna 3 0 1 3 4 5 6 7 8 9 A B C D E F 2 MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
  • 2. Decodificador de tecladoDecodificadorDecodificador dede tecladoteclado MuchosMuchos tecladosteclados comercialescomerciales yaya traentraen incluidoincluido susu decodificadordecodificador,, queque escanenaescanena elel tecladoteclado yy sisi,, unauna teclatecla eses presionadapresionada,, regresaregresa unun nnúúmeromero queque identificaidentifica lala teclatecla.. OtraOtra alternativaalternativa eses adquiriradquirir porpor separadoseparado un chipun chip decodificadordecodificador yy conectarloconectarlo alal tecladoteclado.. ElEl decodificadordecodificador mostradomostrado tienetiene 88 entradasentradas;; laslas 44 entradasentradas ““XX”” sonson conectadasconectadas aa laslas 44 columnascolumnas deldel tecladoteclado yy laslas 44 entradasentradas ““YY ““sonson conectadasconectadas alal loslos 44 renglonesrenglones. No se. No se muestranmuestran loslos capacitorescapacitores queque gobiernangobiernan lala rapidezrapidez a laa la queque sese escaneaescanea elel tecladoteclado.. CuandoCuando sese oprimeoprime unauna teclatecla elel ccóódigodigo de 4 bits de lade 4 bits de la teclatecla ( con 16( con 16 teclasteclas,, loslos ccóódigosdigos estestáánn entreentre 0000 y1111 en0000 y1111 en binariobinario)) aparecerapareceráá enen laslas 44 llííneasneas dede salidasalida y lay la llííneanea dede datodato disponibledisponible (DA) se pone en BAJO.(DA) se pone en BAJO. SiSi sese conectaconecta aa unauna llííneanea dede interrupciinterrupcióónn elel microporcesadormicroporcesador serseráá interrumpidointerrumpido cuandocuando sese oprimaoprima algunaalguna teclatecla. La. La RutinaRutina dede ServicioServicio de lade la InterrupciInterrupcióónn,, entoncesentonces leelee loslos 4 bits y4 bits y procesaprocesa elel datodato .. El chip delEl chip del decodificadordecodificador sese encargaencarga dede eliminareliminar elel reboterebote dede laslas teclasteclas, lo, lo queque liberalibera alal programadorprogramador dede estaesta responsabilidadresponsabilidad,, estoesto eses unauna ventajaventaja alal usarusar unun chipchip decodificadordecodificador.. MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal DECODIFICADOR DE TECLADO MATRICIAL HEXADECIMALDECODIFICADOR DE TECLADO MATRICIAL HEXADECIMAL DD CCFF EE 99 88BB AA 55 4477 66 11 0033 22 X4 X3 X2 X1 Y4 Y1 Y3 Y2 Decodificador de teclado de 4X4 INTDA Q4 Q3 Q2 Q1 MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal OE
  • 3. MM74C922 • MM74C923 16-Key Encoder • 20-Key Encoder MM74C922 • MM74C923 16-Key Encoder • 20-Key Encoder MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal ConexiConexióón de un LCD y un Teclado Matricial de 16 teclas aln de un LCD y un Teclado Matricial de 16 teclas al µµ80518051 +Vcc 10 KΩ ren0 ren1 ren2 ren3 Col 3 Col 2 Col 1 Col 0 P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 0123 4567 89AB CDEF 4.7 KΩ DB7 DB6 DB5 DB4 P1.7 P1.6 P1.5 P1.4 P1.3 RS E R/W P1.4 MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal
  • 4. Tareas básicas a realizar para un teclado matricial Checar si se se oprimió alguna tecla Checar si se se oprimió alguna tecla Se oprimió alguna Tecla ? Se oprimió alguna Tecla ? Rastrear renglones Para encontrar la columna de la tecla oprimida Rastrear renglones Para encontrar la columna de la tecla oprimida Descifrar o decodificar que tecla se oprimió Descifrar o decodificar que tecla se oprimió regresar No Si Se cargan ceros a todos los renglones en el Puerto C , se leen las columnas y se pregunta si son puros unos Se cargan ceros a todos los renglones en el Puerto C , se leen las columnas y se pregunta si son puros unos Se carga cero a los renglones uno a uno hasta que se encuentre la columna donde está la tecla oprimida Se carga cero a los renglones uno a uno hasta que se encuentre la columna donde está la tecla oprimida Una vez identificada la columna y conociendo el renglón se aplica el algoritmo para obtener el binario de la tecla oprimida Una vez identificada la columna y conociendo el renglón se aplica el algoritmo para obtener el binario de la tecla oprimida MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal ¿Cómo saber que tecla se oprimió? MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal 0 1 2 3 4 5 6 7 8 9 A B C D E F COLUMNA 0 COLUMNA 1 COLUMNA 2 COLUMNA 3 RENGLÓN 0 RENGLÓN 1 RENGLÓN 2 RENGLÓN 3 TECLA = 4xRi +TECLA = 4xRi + CjCj Donde: Tecla=la tecla oprimida en binario Ri= # del renglón escaneado Cj= #.de la columna donde se encontró la tecla EjemploEjemplo,si se oprimió la tecla 6, ésta se encuentra en el renglón 1 y columna 2, entonces: Tecla=4x1+2=6Tecla=4x1+2=6
  • 5. Diagrama de flujo del programa del teclado matricial mandar ceros a los renglones mandar ceros a los renglones leer las columnasleer las columnas columnas en 1’s? columnas en 1’s? contador de renglón a 0 Ri 0 contador de renglón a 0 Ri 0 Inicializar rastreo de renglones Scan 11111110 Inicializar rastreo de renglones Scan 11111110 columnas en 1’s? columnas en 1’s? rastreo de renglón i Renglones Scan rastreo de renglón i Renglones Scan leer las columnasleer las columnas Ri Ri+1Ri Ri+1 Desplaza Scan A la izquierda Desplaza Scan A la izquierda col 0col 0columna 0=0 ?columna 0=0 ? Col 1Col 1columna 1=0 ?columna 1=0 ? Ri=4?Ri=4? col 2col 2columna 2=0 ?columna 2=0 ? Col 3Col 3columna 3=0 ?columna 3=0 ? Tecla 4*Ri +colTecla 4*Ri +col ret ret InicioInicio SI SI SI SI SI SI NO SI NO NO NO NO MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal MOV P3,#0F0H MOV A,P3 CJNE A,#0F0H,SCAN_REN RET SCAN_REN: MOV R0,#00 MOV P3,#0FEH MOV A,P3 ANL A,#0F0H CJNE A,#0FH,SCAN_COL INC R0
  • 6. RR A (Rotate Right the Accumulator) MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal cada bit es desplazado una localidad hacia la derecha, donde elcada bit es desplazado una localidad hacia la derecha, donde el bit 0 sebit 0 se va al bit 7.va al bit 7. Esta instrucciEsta instruccióón rota el contenido del acumulador hacia la derecha:n rota el contenido del acumulador hacia la derecha: RL A (RL A (RotateRotate LeftLeft thethe AccumalatorAccumalator)) MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal CadaCada bit es desplazado una localidad hacia la izquierda , tal que elbit es desplazado una localidad hacia la izquierda , tal que el bit 7bit 7 se va al bit 0se va al bit 0 Esta instrucciEsta instruccióón rota el contenido del acumulador hacia la izquierda:n rota el contenido del acumulador hacia la izquierda:
  • 7. RRC A (RRC A (RotateRotate RightRight throughthrough thethe CarryCarry )) MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal CadaCada bit es desplazado una localidad hacia la derecha , donde el bitbit es desplazado una localidad hacia la derecha , donde el bit 0 se0 se va al bit de acarreo (C) del PSW, mientras que el acarreo se vava al bit de acarreo (C) del PSW, mientras que el acarreo se va al bit 7al bit 7 (esto es: si el acarreo ten(esto es: si el acarreo teníía 1 antes de la ejecucia 1 antes de la ejecucióón de RRC A, entonces eln de RRC A, entonces el bit 7 del acumulador contendrbit 7 del acumulador contendráá un 1 despuun 1 despuéés de la ejecucis de la ejecucióón del RRC A.n del RRC A. Esta instrucciEsta instruccióón rota el contenido del acumulador hacia la derecha an rota el contenido del acumulador hacia la derecha a travtravéés del Acarreo ( C ) :s del Acarreo ( C ) : Otra alternativaOtra alternativa • Mientras no se oprima ninguna tecla el programa escanea renglón 0, renglón1, renglón 2, renglón 3 y se regresa de nuevo al renglón 0 continuamente. • cuando se oprime una tecla, el número de esa tecla es puesto en R0. • Ya que el número de la tecla presionada será almacenada en R0, R0 inicialmente es 0. Cada tecla es escaneada y sino es la tecla oprimida, R0 es incrementado, de esa forma cuando la tecla oprimida es encontrada , R0 contendrá el número de la tecla. • la bandera de propósito general F0, será usada por la subrutina de scaneo de las columnas, para indicar cuando una tecla se oprimió o no en esa columna. Si al regresar de la subrutina F0 es “1”, significa que la tecla fue encontrada.. MicrocontroladoresMicrocontroladores M.CM.C. Carlos E. Canto Quintal. Carlos E. Canto Quintal