6661021-Teclado-Matricial-4x4.doc

4
3 Curso: Sistemas Digitales II Tema: Te clado Matr icial 4x4 TECLADO MATRICIAL 4X4 TECLADO MATRICIAL 4X4  Introducción: Los sistemas con micro controladores tienen como finalidad el proceso de datos. Éstos se obtienen de formas muy variadas puede ser de manera automática por medio de sensores que midan par ámet ros físicos o de maner a manual, en cuyo caso ti enen que se r  suministrados por los usuarios. Para este último caso se pueden usar pulsadores cuando la información es muy simple, tal como se ha hecho hasta ahora, o mediante teclados de mayor o menor complejidad.  Descripción: ispositivo de entrada de datos que consta de !" teclas o pulsadores, dispuestos e interconectados en filas y columnas. ispone de un conector #$L %#in&le $n Line' macho de ( pines que se corresponden con las ) filas y las cuatro columnas de las que dispone.  Funcionamiento: *n la si&uiente fi&ura vemos el esquema de cone+ionado interno del teclado matricial y sus correspondientes pines de salida numerados de iquierda a derecha mirando el teclado tal y como se ve en la foto anterior. -uando se presiona un pulsador se conecta una fila con una columna, teniendo en cuenta este hecho es muy fácil averi&uar que tecla fue pulsada. ambi/n podemos ver el cone+ionado típico con el puerto 0 del 1- P$-. Las resistencias de 232 son nece sa ri as para po der co mpartir el puerto del pi c independientemente del teclado y por ejemplo poder conectar un L- o una barra de leds al mismo tiempo. urante la fase de lectura del teclado la mitad de la puerta 0 es confi&urada como entrada y la otra mitad como lectura y durante la escritura en el lcd o otro sistema, la puerta 0 es confi&urada como salidas. *ntonces se podrían cortocircuitar accidentalmente las salidas de los puertos provocando su destrucción, si pulsásemos al&una tecla es ese momento con lo que al poner estas resistencias evitamos este hecho y así si se produjera el cortocircuito tan solo circularía una peque4a corriente y el puerto del 1- no correría nin&ún ries&o. La si&uiente librería confi&ura las salidas y entradas para usar el teclado escanea las teclas y si es pulsada al&una retorna el valor de tecla en modo he+adecimal para ser mostrado directamente en un display L-. Las variables y subrutinas utiliadas son KB!ort -onfi&ura los puertos 0 del P$- para ser usados con el teclado. KB"can *scanea todas las teclas y devuelve la tecla pulsada en formato 5e+adecimal. Tec#a 6ariable en donde se devuelve la tecla pulsada  Docente:  Ing. José Estrada  Montes 

Transcript of 6661021-Teclado-Matricial-4x4.doc

Page 1: 6661021-Teclado-Matricial-4x4.doc

7/17/2019 6661021-Teclado-Matricial-4x4.doc

http://slidepdf.com/reader/full/6661021-teclado-matricial-4x4doc 1/3

3

Curso: Sistemas Digitales II 

Tema: Teclado Matricial 4x4

TECLADO MATRICIAL 4X4TECLADO MATRICIAL 4X4

  Introducción:Los sistemas con micro controladores tienen como finalidad el proceso de datos. Éstos seobtienen de formas muy variadas puede ser de manera automática por medio de sensoresque midan parámetros físicos o de manera manual, en cuyo caso tienen que ser suministrados por los usuarios. Para este último caso se pueden usar pulsadores cuando lainformación es muy simple, tal como se ha hecho hasta ahora, o mediante teclados demayor o menor complejidad.

  Descripción:  ispositivo de entrada de datos que consta de !" teclas o pulsadores,dispuestos e interconectados en filas y columnas. ispone de un conector #$L %#in&le $nLine' macho de ( pines que se corresponden con las ) filas y las cuatro columnas de lasque dispone.

  Funcionamiento: *n la si&uiente fi&ura vemos el esquema de cone+ionado interno delteclado matricial y sus correspondientes pines de salida numerados de iquierda a derechamirando el teclado tal y como se ve en la foto anterior. -uando se presiona un pulsador seconecta una fila con una columna, teniendo en cuenta este hecho es muy fácil averi&uar que tecla fue pulsada. ambi/n podemos ver el cone+ionado típico con el puerto 0 del 1-P$-.

Las resistencias de 232 son necesarias para poder compartir el puerto del picindependientemente del teclado y por ejemplo poder conectar un L- o una barra de ledsal mismo tiempo. urante la fase de lectura del teclado la mitad de la puerta 0 esconfi&urada como entrada y la otra mitad como lectura y durante la escritura en el lcd o otrosistema, la puerta 0 es confi&urada como salidas. *ntonces se podrían cortocircuitar accidentalmente las salidas de los puertos provocando su destrucción, si pulsásemos

al&una tecla es ese momento con lo que al poner estas resistencias evitamos este hecho yasí si se produjera el cortocircuito tan solo circularía una peque4a corriente y el puerto del1- no correría nin&ún ries&o.

La si&uiente librería confi&ura las salidas y entradas para usar el teclado escanea las teclasy si es pulsada al&una retorna el valor de tecla en modo he+adecimal para ser mostradodirectamente en un display L-. Las variables y subrutinas utiliadas son

KB!ort-onfi&ura los puertos 0 del P$- para ser usados conel teclado.

KB"can*scanea todas las teclas y devuelve la tecla pulsadaen formato 5e+adecimal.

Tec#a 6ariable en donde se devuelve la tecla pulsada

 Docente:  Ing. José Estrada  Montes 

Page 2: 6661021-Teclado-Matricial-4x4.doc

7/17/2019 6661021-Teclado-Matricial-4x4.doc

http://slidepdf.com/reader/full/6661021-teclado-matricial-4x4doc 2/3

3

Curso: Sistemas Digitales II 

Tema: Teclado Matricial 4x4

R$TI%A

  Descripción:  Para controlar el teclado, los puertos del 1- conectados a las filas sepro&raman como salidas y los conectados a las columnas del teclado se pro&raman comoentradas, tambi/n se activan las resistencias de polariación internas en los puertos desalida. *sto se hace mediante la llamada a la etiqueta 7809Port7 que inicialia los puertospara ser usados con el teclado matricial.

809Port :$nicialia la puerta 0 para las entradas del  :teclado. Pro&rama ;0<=> como salidas y ;0)=?  :entradas con las resistencias de polariación  :habilitadas===========================================

0#@ #AB#,;P< :#elecciona Pa&ina ! %0anco'  CD6LE <@<h :P0)=? como entradas

CD6E@ ;$#0 :y P0<=> como salidas  0#@ DP-$DF,;0PB :5abilita ; de polariación en entradas  0-@ #AB#,;P< :6uelve a la pa&ina < %0anco'  ;*B;F :;etorna.

 Ahora para saber que tecla esta siendo pulsada necesitamos escanear el teclado, y esto seconsi&ue mediante la si&uiente rutina que consiste en ir poniendo una a una las líneas ;0<a ;0> %conectadas a las filas del teclado' a nivel bajo ya que estas salidas tienen

conectada la resistencia de polariación a 6cc y por lo tanto están siempre a nivel ló&icoalto. -ada ve que una fila se pone a nivel bajo se hacen ) comprobaciones para ver siuna de las cuatro columnas se a puesto a nivel bajo y así saber la tecla pulsada.

809#can :*scanea el teclado  -L;@ ecla :0orra ecla y  $F-@ ecla,f :prepara ecla para primer códi&o.  CD6LE <*h :#aca < a la primera fila  CD6E@ PD;0 :de la Puerta 0  FDP :Fada para estabiliación de se4al.-heq9-ol 0@## PD;0,) :Primera columna G <

HDD antirebotes :#ale si se ha pulsado tecla.  $F-@ ecla,f :#i no tecla pulsada, incrementa tecla.  0@## PD;0,I :#e&unda columna G <  HDD antirebotes :#ale si se ha pulsado tecla.  $F-@ ecla,f :#i no tecla pulsada, incrementa tecla.

  0@## PD;0," :ercera columna G <  HDD antirebotes :#ale si se ha pulsado tecla.  $F-@ ecla,f :#i no tecla pulsada, incrementa tecla.  0@## PD;0,? :-uarta columna G <  HDD antirebotes :#ale si se ha pulsado tecla.  $F-@ ecla,f :#i no tecla pulsada, incrementa ecla. 

Bltima9ecla :comprueba si se a escaneado todo el teclado 

CD6LE dJ!?J :-ar&a E con el nKmero de eclas !.  #B0E@ ecla,M :y lo compara con el valor actual de ecla.  0@#- #AB#,N :#i ecla ! G valor actual.  HDD Feclas :Fo ha sido pulsada nin&una tecla.  0#@ #AB#,- :Pone a ! 0it -.

;L@ PD;0,f :asO la @ila ! pasa a ! con la rotacin a iqda.  HDD -heq9-ol

Feclas -L;@ ecla :-oloca variable ecla a <  ;*B;F :y re&resa.

antirebotes :ahora se espera a que la tecla sea soltada para evitar rebotes  :y reactivaciones de tecla  :esta parte puede ser eliminada si para nuestro proyecto no es necesaria  :o es un inconveniente.

*spera! 0@## PD;0,) :#i no se suelta la tecla @$LA !  HDD *spera! :vuelve a esperar.*spera2 0@## PD;0,I :#i no se suelta la tecla @$LA 2  HDD *spera2 :vuelve a esperar.*spera> 0@## PD;0," :#i no se suelta la tecla @$LA >  HDD *spera> :vuelve a esperar.*spera) 0@## PD;0,? :#i no se suelta la tecla @$LA )  HDD *spera) :vuelve a esperar.

CD6@ ecla,M :pone en M el numero contenido en la variable  -ALL 9-onv :llama a la tabla de conversion y retorna

 Docente:  Ing. José Estrada  Montes 

Page 3: 6661021-Teclado-Matricial-4x4.doc

7/17/2019 6661021-Teclado-Matricial-4x4.doc

http://slidepdf.com/reader/full/6661021-teclado-matricial-4x4doc 3/3

3

Curso: Sistemas Digitales II 

Tema: Teclado Matricial 4x4

  CD6E@ ecla :con el valor en he+adecimal y lo pone en la variable.  ;*B;F :vuelve al pro&rama principal que hio la llamada

9-onv AE@ P-L,!  ;*LE J<J :ecla nQ< G <  ;*LE J!J :ecla nQ! G !

  ;*LE J)J :ecla nQ2 G )  ;*LE J?J :ecla nQ> G ?;*LE JAJ :ecla nQ) G A;*LE J2J :ecla nQI G 2;*LE JIJ :ecla nQ" G I;*LE J(J :ecla nQ? G (;*LE J<J :ecla nQ( G <;*LE J>J :ecla nQR G >;*LE J"J :ecla nQ!< G "

  ;*LE JRJ :ecla nQ!! G R  ;*LE J0J :ecla nQ!2 G 0  ;*LE J@J :ecla nQ!> G @  ;*LE J*J :ecla nQ!) G *  ;*LE JJ :ecla nQ!I G   ;*LE J-J :ecla nQ!" G - 

!RO&ECTO

C$E"TIO%ARIO

'Cómo modi(icar)a e# pro*rama anterior a (in de o+tener e# mismo

resu#tado pero usando interrupciones,

'Cu-# es #a ra.ón por e# cua# se usa un tec#ado 4/4 en un !IC01F24A,

Dise3e un pro*rama ue *uarde en #a memoria EE!ROM e# 5a#or de #a

tec#a pu#sada en e# Tec#ado 6e/adecima#7

'!or u8 se usan #as resistencias internas de# μCo acti5adas por

so(t9are re*istro O!TIO% ; Bit RB!$<,

Dise3e un pro*rama usando e# tec#ado 4/4 de ta# modo ue cuando se

pu#se pueda ser mostrado en e# Disp#a= a > se*mentos7 Este pro*ramade+e usar su+rutinas de# mane?o de# tec#ado

CO%CL$"IO%E"

 Docente:  Ing. José Estrada  Montes