SlideShare una empresa de Scribd logo
1 de 22
Teclado



Detección de una tecla pulsada.
Estructura de un teclado I
                          • Se trata de una matriz
                     5V
                            de pulsadores.
 X                        • Las columnas están
 X
                            pulled up a una
                            tensión de referencia.
 X

 X

     Y   Y   Y   Y        • X están configuradas
                            como salida
                          • Y estánconfiguradas
                            como entrada
Estructura de un teclado II
• En las intersecciones
  están los pulsadores.
• El pulsador pone en                           5V



  contacto la fila con la   X

                            X

  columna                   X


  correspondiente           X

                                Y   Y   Y   Y
Funcionamiento I
                          • En estado de reposo
                     5V     las columnas reciben
 X                          toda la tensión de
 X

 X
                            referencia
 X                        • El estado de las
     1   1   1   1
                            entradas Y es de 1
                            lógico
Funcionamiento II
• Al pulsar una tecla se
  establece un puente entre
  la fila y la columna.                           5V

• Si la X correspondiente     X

  está a tierra toda la       X

  corriente derivará hacia    0


  ella quedando la entrada    X


  Y respectiva en contacto        1   1   0   1


  con tierra
Procedimiento.
                          • El procedimiento para
                     5V     trabajar con el
 0                          teclado es activar
 0

 0
                            todas las salidas (0
 0                          lógico) y esperar a
     1   1   1   1          que una de las
                            entrada se active
Procedimiento
• Cuando se ha
  detectado una
  entrada activa, se                           5V



  vuelven a desactivar     0


  todas las salidas y se
                           0

                           0

  procede a explorar el    0


  teclado fila a fila          1   1   0   1
Procedimiento
                       5V                       5V


   0                        1

   1                        0

   1                        1

   1                        1


       1   1   1   1            1   1   1   1



                                                5V
                       5V


                            1
   1
                            1
   1
                            1
   0
                            0
   1

       1   1   0   1            1   1   1   1
Procedimiento
                     • Al detectar la columna
 1                     ya tenemos
 1

 0
                       identificada la tecla
 1                     pulsada con un
     1   1   0   1
                       “código de tecla”
                             XXXXYYYY
                            11011101
Procedimiento
• Este código de tecla
  debe luego traducirse    1   2   3   F
  al código del carácter
                           4   5   6   E
  asignado a la tecla
                           7   8   9   D
11011101 -----> 9
                           0   A   B   C
Código ascii del 9:
00111001 (39h)
Conexión al PIC
                             • Las ocho líneas del
                        5V     teclado están
RB4                            conectadas al Puerto
RB5
                               B
RB6

RB7                          • RB0..RB3 se deben
      RB0 RB1 RB2 RB3
                               configurar como
                               entrada
                             • RB4..RB7 se deben
                               configurar como
                               salida
Conexión al PIC
• Para
  proporcionarle
  tensión al
  sistema las
  líneas de salida
  del puerto B
  deben estar
  activadas a pull
  up
Rebotes
     5v
                         • La pulsación es un
               0v
                           hecho eléctrico que
                           puede causar cierta
                           inestabilidad.
                    5v   • Cuando se detecta
                           una pulsación hay que
0v
                           distinguirla de un
                           rebote producido por
                           una pulsación previa
Rebote
                Si cada ciclo de instrucción
                dura un micro segundo, es
           5v
                posible muestrear (leer por el
                puerto) 1000 veces la señal.
0v
                Antes de que la señal se
                estabilice podemos hacer
                muchas lecturas
     1ms
Rebote
• La manera de evitar
  los rebotes es esperar
  un cierto retardo tras
                                                                 5v




  haber detectado la        0v                     5ms

  pulsación de una         Detección errónea de pulsación
  tecla y comprobar        de tecla


  nuevamente su                             Comprobación de la

  estado
                                            pulsación
Fin de pulsación
• Otro problema es el
  de las lecturas
  múltiples de la
  misma pulsación. 5v                                             5v


• Para evitarlo hay que                   0v

  esperar a que la        Tecla pulsada   0v   fin de pulsación


  tecla deje de estar
  pulsada antes de
  devolver el código
Programación. Tablas
inicio movlw 34h
             movwf numero
             movlw 0ffh

                                                        • En la programación el
             movwf cont
  otro       incf cont,1
             Call codigonumero
             subwf numero,0
             btfss STATUS,Z
                                                          aspecto más
             goto otro
;En W queda el numero que designa el código ascii 34h     relevante es el de la
                                                          traducción de código
fin           goto fin
codigonumero
             movf cont,w
             addwf PCL
             retlw 30h; código ascii del cero
                                                          de tecla a código ascii
                                                        • Para ello lo más
             retlw 31h; código ascii del uno
             retlw 32h
             retlw 33h
             retlw 34h
             retlw 35h
                                                          cómodo es emplear
             retlw 36h
             retlw 37h                                    tablas
             retlw 38h
             retlw 39h; código ascii del nueve
Programación. Tablas           inicio movlw 34h
                                            movwf numero
                                            movlw 0ffh

• Mediante las                   otro
                                            movwf cont
                                            incf cont,1

  instrucciones de sumar a                  Call codigonumero
                                            subwf numero,0

  PCL y retlw se van                        btfss STATUS,Z
                                            goto otro

  recuperando valores y        ;En W queda el numero que designa el código
                               ascii 34h

  comparándolos con el de      fin
                               codigonumero
                                             goto fin


  referencia.                               movf cont,w
                                            addwf PCL
                                            retlw 30h; código ascii del cero
• Cont va llevando la cuenta                retlw 31h; código ascii del uno
                                            retlw 32h
  y al final indicará la                    retlw 33h
                                            retlw 34h
  posición del valor                        retlw 35h
                                            retlw 36h
  encontrado                                retlw 37h
                                            retlw 38h
                                            retlw 39h; código ascii del nueve
Programación.Tablas
0000
0001     PCLATH=0

                                • Hay que tener cuidado
0002
0003
......
00ff
0100
                    !cuidado¡     con el manejo de PCL
0101
0102
         PCLATH=1
                                  como mecanismo de
                                  salto.
0103
......
01ff

                                • PCL solo actúa en
0200
0201     PCLATH=2
0202
0203
......
                                  ámbito de página
02ff
0300                              PCLATH
0301     PCLATH=3
0302
0303
......
03ff
Programación. Tablas
                            inicio movlw 34h
                                         movwf numero

• Si la tabla se                         movlw 0ffh
                                         movwf cont

  encuentra en una
                                          MOVLW HIGH codigonumero
                                         MOVWF PCLATH
                              otro       incf cont,1
  página diferente a la 0                Call codigonumero
                                         subwf numero,0

  es necesario                           btfss STATUS,Z
                                         goto otro

  actualizar
                            ;En W queda el numero que designa el código ascii 34h
                            fin           goto fin
                            codigonumero
  previamente el                         movf cont,w
                                         addwf PCL

  PCLATH antes de saltar                 retlw 30h; código ascii del cero
                                         retlw 31h; código ascii del uno

  a la tabla
                                         retlw 32h
                                         retlw 33h
                                         retlw 34h
                                         retlw 35h
                                         retlw 36h
                                         retlw 37h
                                         retlw 38h
                                         retlw 39h; código ascii del nueve
Programación. Tablas
           0000
         0001
 PCLATH=0 0002
                     codigonumero
                         movf cont,w   • Las tablas no pueden
                                         saltar los límites de
           0003          addwf PCL
            ......       retlw 30h;
                         retlw 31h;
                                         una página PCLATH.
            00ff
           0100          retlw 32h
PCLATH=1 0101            retlw 33h

                                       • Ubicar las tablas de
           0102          retlw 34h
           0103          retlw 35h
            ......       retlw 36h
            01ff
           0200
                         retlw 37h
                         retlw 38h
                                         forma segura usando
PCLATH=2 0201
           0202
                         retlw 39h;
                                         la directiva org
           0203
            ......
            02ff
           0300
PCLATH=3 0301
           0302
           0303
            ......
            03ff
FIN

Más contenido relacionado

La actualidad más candente (20)

T.e control
T.e controlT.e control
T.e control
 
54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops54599266 ejercicios-flip-flops
54599266 ejercicios-flip-flops
 
Compuertas lógicas
Compuertas lógicasCompuertas lógicas
Compuertas lógicas
 
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
Diferentes tipos de flip flops (jk, sr, d, t) sus tablas de verdad,
 
Flip flops
Flip flopsFlip flops
Flip flops
 
Sumadora de 2 bits
Sumadora de 2 bitsSumadora de 2 bits
Sumadora de 2 bits
 
Electronica digital materia
Electronica digital materiaElectronica digital materia
Electronica digital materia
 
Flip flop
Flip flopFlip flop
Flip flop
 
Los Flip Flops
Los Flip FlopsLos Flip Flops
Los Flip Flops
 
Compuertas logicas flip flop
Compuertas logicas flip flopCompuertas logicas flip flop
Compuertas logicas flip flop
 
catalogo de control
catalogo de controlcatalogo de control
catalogo de control
 
Flip flop
Flip flopFlip flop
Flip flop
 
Informe 4
Informe 4Informe 4
Informe 4
 
Clase 3 cdii
Clase 3 cdiiClase 3 cdii
Clase 3 cdii
 
Sd6
Sd6Sd6
Sd6
 
Teclado Matricial
Teclado MatricialTeclado Matricial
Teclado Matricial
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
CONTADORES
CONTADORES CONTADORES
CONTADORES
 
Flip flops
Flip flopsFlip flops
Flip flops
 
Tutorial proton part 5
Tutorial proton part 5Tutorial proton part 5
Tutorial proton part 5
 

Destacado

Ensamble y desensamble de en teclado y el mouse
Ensamble y desensamble de en teclado y el mouseEnsamble y desensamble de en teclado y el mouse
Ensamble y desensamble de en teclado y el mouseTatiana Aroca
 
Trabajo de desensamble y ensamble del teclado
Trabajo de desensamble y ensamble del tecladoTrabajo de desensamble y ensamble del teclado
Trabajo de desensamble y ensamble del tecladoyanid313475
 
Mantenimiento preventivo (unidad optica,mouse,teclado).
Mantenimiento preventivo (unidad optica,mouse,teclado).Mantenimiento preventivo (unidad optica,mouse,teclado).
Mantenimiento preventivo (unidad optica,mouse,teclado).leslydzul
 
Mantenimiento del teclado victor-denis
Mantenimiento del teclado victor-denisMantenimiento del teclado victor-denis
Mantenimiento del teclado victor-denisDenis Silva
 
Informe sobre la computadora y el teclado.
Informe sobre la computadora y el teclado. Informe sobre la computadora y el teclado.
Informe sobre la computadora y el teclado. isamarinsalta
 
Reporte del 1º parcial
Reporte del 1º parcialReporte del 1º parcial
Reporte del 1º parcialUricecytem
 
Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.
Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.
Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.jairjimenez54
 
Fase 1 informe ensamble y mantenimiento de computadoes UNAD
Fase 1 informe ensamble y mantenimiento  de computadoes UNADFase 1 informe ensamble y mantenimiento  de computadoes UNAD
Fase 1 informe ensamble y mantenimiento de computadoes UNADJuan Jaramillo Torres
 
Mantenimiento del teclado y el mouse
Mantenimiento del teclado y el mouseMantenimiento del teclado y el mouse
Mantenimiento del teclado y el mouseDarwin Flores Jimenez
 
Informe mantenimiento de Computadoras
Informe mantenimiento de ComputadorasInforme mantenimiento de Computadoras
Informe mantenimiento de Computadorasgalejandro12
 

Destacado (13)

Ensamble y desensamble de en teclado y el mouse
Ensamble y desensamble de en teclado y el mouseEnsamble y desensamble de en teclado y el mouse
Ensamble y desensamble de en teclado y el mouse
 
Trabajo de desensamble y ensamble del teclado
Trabajo de desensamble y ensamble del tecladoTrabajo de desensamble y ensamble del teclado
Trabajo de desensamble y ensamble del teclado
 
Mantenimiento preventivo (unidad optica,mouse,teclado).
Mantenimiento preventivo (unidad optica,mouse,teclado).Mantenimiento preventivo (unidad optica,mouse,teclado).
Mantenimiento preventivo (unidad optica,mouse,teclado).
 
Mantenimiento del teclado victor-denis
Mantenimiento del teclado victor-denisMantenimiento del teclado victor-denis
Mantenimiento del teclado victor-denis
 
Informe sobre la computadora y el teclado.
Informe sobre la computadora y el teclado. Informe sobre la computadora y el teclado.
Informe sobre la computadora y el teclado.
 
Reporte del 1º parcial
Reporte del 1º parcialReporte del 1º parcial
Reporte del 1º parcial
 
Ensamblaje de una pc
Ensamblaje de una pcEnsamblaje de una pc
Ensamblaje de una pc
 
Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.
Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.
Mantenimiento Preventivo Basico a un teclado, mause y unidades lectoras.
 
Reporte de teclado
Reporte de tecladoReporte de teclado
Reporte de teclado
 
Fase 1 informe ensamble y mantenimiento de computadoes UNAD
Fase 1 informe ensamble y mantenimiento  de computadoes UNADFase 1 informe ensamble y mantenimiento  de computadoes UNAD
Fase 1 informe ensamble y mantenimiento de computadoes UNAD
 
Informe de ensamble
Informe de ensambleInforme de ensamble
Informe de ensamble
 
Mantenimiento del teclado y el mouse
Mantenimiento del teclado y el mouseMantenimiento del teclado y el mouse
Mantenimiento del teclado y el mouse
 
Informe mantenimiento de Computadoras
Informe mantenimiento de ComputadorasInforme mantenimiento de Computadoras
Informe mantenimiento de Computadoras
 

Similar a Teclado

Similar a Teclado (9)

Iniciacion arduino
Iniciacion arduinoIniciacion arduino
Iniciacion arduino
 
Operaciones en PLCs
Operaciones en PLCsOperaciones en PLCs
Operaciones en PLCs
 
Practica #1
Practica #1Practica #1
Practica #1
 
Compuertasl
CompuertaslCompuertasl
Compuertasl
 
Sistemas Digitales Reconfigurables parte 1
Sistemas Digitales Reconfigurables parte 1Sistemas Digitales Reconfigurables parte 1
Sistemas Digitales Reconfigurables parte 1
 
Algebra de boole
Algebra de booleAlgebra de boole
Algebra de boole
 
Compuertas Lógicas (electrónica)
Compuertas Lógicas (electrónica)Compuertas Lógicas (electrónica)
Compuertas Lógicas (electrónica)
 
Power
PowerPower
Power
 
Compuertas logicas basicas_y_algebra_de_boole_2009
Compuertas logicas basicas_y_algebra_de_boole_2009Compuertas logicas basicas_y_algebra_de_boole_2009
Compuertas logicas basicas_y_algebra_de_boole_2009
 

Teclado

  • 1. Teclado Detección de una tecla pulsada.
  • 2. Estructura de un teclado I • Se trata de una matriz 5V de pulsadores. X • Las columnas están X pulled up a una tensión de referencia. X X Y Y Y Y • X están configuradas como salida • Y estánconfiguradas como entrada
  • 3. Estructura de un teclado II • En las intersecciones están los pulsadores. • El pulsador pone en 5V contacto la fila con la X X columna X correspondiente X Y Y Y Y
  • 4. Funcionamiento I • En estado de reposo 5V las columnas reciben X toda la tensión de X X referencia X • El estado de las 1 1 1 1 entradas Y es de 1 lógico
  • 5. Funcionamiento II • Al pulsar una tecla se establece un puente entre la fila y la columna. 5V • Si la X correspondiente X está a tierra toda la X corriente derivará hacia 0 ella quedando la entrada X Y respectiva en contacto 1 1 0 1 con tierra
  • 6. Procedimiento. • El procedimiento para 5V trabajar con el 0 teclado es activar 0 0 todas las salidas (0 0 lógico) y esperar a 1 1 1 1 que una de las entrada se active
  • 7. Procedimiento • Cuando se ha detectado una entrada activa, se 5V vuelven a desactivar 0 todas las salidas y se 0 0 procede a explorar el 0 teclado fila a fila 1 1 0 1
  • 8. Procedimiento 5V 5V 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 5V 5V 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1
  • 9. Procedimiento • Al detectar la columna 1 ya tenemos 1 0 identificada la tecla 1 pulsada con un 1 1 0 1 “código de tecla” XXXXYYYY 11011101
  • 10. Procedimiento • Este código de tecla debe luego traducirse 1 2 3 F al código del carácter 4 5 6 E asignado a la tecla 7 8 9 D 11011101 -----> 9 0 A B C Código ascii del 9: 00111001 (39h)
  • 11. Conexión al PIC • Las ocho líneas del 5V teclado están RB4 conectadas al Puerto RB5 B RB6 RB7 • RB0..RB3 se deben RB0 RB1 RB2 RB3 configurar como entrada • RB4..RB7 se deben configurar como salida
  • 12. Conexión al PIC • Para proporcionarle tensión al sistema las líneas de salida del puerto B deben estar activadas a pull up
  • 13. Rebotes 5v • La pulsación es un 0v hecho eléctrico que puede causar cierta inestabilidad. 5v • Cuando se detecta una pulsación hay que 0v distinguirla de un rebote producido por una pulsación previa
  • 14. Rebote Si cada ciclo de instrucción dura un micro segundo, es 5v posible muestrear (leer por el puerto) 1000 veces la señal. 0v Antes de que la señal se estabilice podemos hacer muchas lecturas 1ms
  • 15. Rebote • La manera de evitar los rebotes es esperar un cierto retardo tras 5v haber detectado la 0v 5ms pulsación de una Detección errónea de pulsación tecla y comprobar de tecla nuevamente su Comprobación de la estado pulsación
  • 16. Fin de pulsación • Otro problema es el de las lecturas múltiples de la misma pulsación. 5v 5v • Para evitarlo hay que 0v esperar a que la Tecla pulsada 0v fin de pulsación tecla deje de estar pulsada antes de devolver el código
  • 17. Programación. Tablas inicio movlw 34h movwf numero movlw 0ffh • En la programación el movwf cont otro incf cont,1 Call codigonumero subwf numero,0 btfss STATUS,Z aspecto más goto otro ;En W queda el numero que designa el código ascii 34h relevante es el de la traducción de código fin goto fin codigonumero movf cont,w addwf PCL retlw 30h; código ascii del cero de tecla a código ascii • Para ello lo más retlw 31h; código ascii del uno retlw 32h retlw 33h retlw 34h retlw 35h cómodo es emplear retlw 36h retlw 37h tablas retlw 38h retlw 39h; código ascii del nueve
  • 18. Programación. Tablas inicio movlw 34h movwf numero movlw 0ffh • Mediante las otro movwf cont incf cont,1 instrucciones de sumar a Call codigonumero subwf numero,0 PCL y retlw se van btfss STATUS,Z goto otro recuperando valores y ;En W queda el numero que designa el código ascii 34h comparándolos con el de fin codigonumero goto fin referencia. movf cont,w addwf PCL retlw 30h; código ascii del cero • Cont va llevando la cuenta retlw 31h; código ascii del uno retlw 32h y al final indicará la retlw 33h retlw 34h posición del valor retlw 35h retlw 36h encontrado retlw 37h retlw 38h retlw 39h; código ascii del nueve
  • 19. Programación.Tablas 0000 0001 PCLATH=0 • Hay que tener cuidado 0002 0003 ...... 00ff 0100 !cuidado¡ con el manejo de PCL 0101 0102 PCLATH=1 como mecanismo de salto. 0103 ...... 01ff • PCL solo actúa en 0200 0201 PCLATH=2 0202 0203 ...... ámbito de página 02ff 0300 PCLATH 0301 PCLATH=3 0302 0303 ...... 03ff
  • 20. Programación. Tablas inicio movlw 34h movwf numero • Si la tabla se movlw 0ffh movwf cont encuentra en una MOVLW HIGH codigonumero MOVWF PCLATH otro incf cont,1 página diferente a la 0 Call codigonumero subwf numero,0 es necesario btfss STATUS,Z goto otro actualizar ;En W queda el numero que designa el código ascii 34h fin goto fin codigonumero previamente el movf cont,w addwf PCL PCLATH antes de saltar retlw 30h; código ascii del cero retlw 31h; código ascii del uno a la tabla retlw 32h retlw 33h retlw 34h retlw 35h retlw 36h retlw 37h retlw 38h retlw 39h; código ascii del nueve
  • 21. Programación. Tablas 0000 0001 PCLATH=0 0002 codigonumero movf cont,w • Las tablas no pueden saltar los límites de 0003 addwf PCL ...... retlw 30h; retlw 31h; una página PCLATH. 00ff 0100 retlw 32h PCLATH=1 0101 retlw 33h • Ubicar las tablas de 0102 retlw 34h 0103 retlw 35h ...... retlw 36h 01ff 0200 retlw 37h retlw 38h forma segura usando PCLATH=2 0201 0202 retlw 39h; la directiva org 0203 ...... 02ff 0300 PCLATH=3 0301 0302 0303 ...... 03ff
  • 22. FIN