teclado n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Teclado PowerPoint Presentation
Download Presentation
Teclado

Loading in 2 Seconds...

play fullscreen
1 / 22

Teclado - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

Teclado. Detección de una tecla pulsada. 5V. X X X X. Y Y Y Y. Estructura de un teclado I. Se trata de una matriz de pulsadores. Las columnas están pulled up a una tensión de referencia. X están configuradas como salida Y estánconfiguradas como entrada. 5V. X X X X.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Teclado' - gaura


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
teclado

Teclado

Detección de una tecla pulsada.

estructura de un teclado i

5V

X

X

X

X

Y Y Y Y

Estructura de un teclado I
  • Se trata de una matriz de pulsadores.
  • Las columnas están pulled up a una tensión de referencia.
  • X están configuradas como salida
  • Y estánconfiguradas como entrada
estructura de un teclado ii

5V

X

X

X

X

Y Y Y Y

Estructura de un teclado II
  • En las intersecciones están los pulsadores.
  • El pulsador pone en contacto la fila con la columna correspondiente
funcionamiento i

5V

X

X

X

X

1 1 1 1

Funcionamiento I
  • En estado de reposo las columnas reciben toda la tensión de referencia
  • El estado de las entradas Y es de 1 lógico
funcionamiento ii

5V

X

X

0

X

1 1 0 1

Funcionamiento II
  • Al pulsar una tecla se establece un puente entre la fila y la columna.
  • Si la X correspondiente está a tierra toda la corriente derivará hacia ella quedando la entrada Y respectiva en contacto con tierra
procedimiento

5V

0

0

0

0

1 1 1 1

Procedimiento.
  • El procedimiento para trabajar con el teclado es activar todas las salidas (0 lógico) y esperar a que una de las entrada se active
procedimiento1

5V

0

0

0

0

1 1 0 1

Procedimiento
  • Cuando se ha detectado una entrada activa, se vuelven a desactivar todas las salidas y se procede a explorar el teclado fila a fila
procedimiento2

5V

1

1

0

1

1 1 0 1

5V

5V

5V

0

1

1

1

1

0

1

1

1

1

1

0

1 1 1 1

1 1 1 1

1 1 1 1

Procedimiento
procedimiento3
Procedimiento
  • Al detectar la columna ya tenemos identificada la tecla pulsada con un “código de tecla”

XXXXYYYY

1 1 0 1 1 1 0 1

1

1

0

1

1 1 0 1

procedimiento4

1

2

3

F

4

5

6

E

9

7

8

D

0

A

B

C

Procedimiento
  • Este código de tecla debe luego traducirse al código del carácter asignado a la tecla

11011101 -----> 9

Código ascii del 9:

00111001 (39h)

conexi n al pic

5V

RB4

RB5

RB6

RB7

RB0 RB1 RB2 RB3

Conexión al PIC
  • Las ocho líneas del teclado están conectadas al Puerto B
  • RB0..RB3 se deben configurar como entrada
  • RB4..RB7 se deben configurar como salida
conexi n al pic1
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

0v

5v

0v

Rebotes
  • La pulsación es un hecho eléctrico que puede causar cierta inestabilidad.
  • Cuando se detecta una pulsación hay que distinguirla de un rebote producido por una pulsación previa
slide14

5v

0v

1ms

Rebote

Si cada ciclo de instrucción dura un micro segundo, es posible muestrear (leer por el puerto) 1000 veces la señal.

Antes de que la señal se estabilice podemos hacer muchas lecturas

rebote

5v

5ms

0v

Detección errónea de pulsación de tecla

Comprobación de la pulsación

Rebote
  • La manera de evitar los rebotes es esperar un cierto retardo tras haber detectado la pulsación de una tecla y comprobar nuevamente su estado
fin de pulsaci n

5v

0v

5v

0v

Tecla pulsada fin de pulsación

Fin de pulsación
  • Otro problema es el de las lecturas múltiples de la misma pulsación.
  • Para evitarlo hay que esperar a que la tecla deje de estar pulsada antes de devolver el código
programaci n tablas
Programación. Tablas

inicio movlw 34h

movwf numero

movlw 0ffh

movwf cont

otro incf cont,1

Call codigonumero

subwf numero,0

btfss STATUS,Z

goto otro

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

fin goto fin

codigonumero

movf cont,w

addwf PCL

retlw 30h; código ascii del cero

retlw 31h; código ascii del uno

retlw 32h

retlw 33h

retlw 34h

retlw 35h

retlw 36h

retlw 37h

retlw 38h

retlw 39h; código ascii del nueve

  • En la programación el aspecto más relevante es el de la traducción de código de tecla a código ascii
  • Para ello lo más cómodo es emplear tablas
programaci n tablas1
Programación. Tablas

inicio movlw 34h

movwf numero

movlw 0ffh

movwf cont

otro incf cont,1

Call codigonumero

subwf numero,0

btfss STATUS,Z

goto otro

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

fin goto fin

codigonumero

movf cont,w

addwf PCL

retlw 30h; código ascii del cero

retlw 31h; código ascii del uno

retlw 32h

retlw 33h

retlw 34h

retlw 35h

retlw 36h

retlw 37h

retlw 38h

retlw 39h; código ascii del nueve

  • Mediante las instrucciones de sumar a PCL y retlw se van recuperando valores y comparándolos con el de referencia.
  • Cont va llevando la cuenta y al final indicará la posición del valor encontrado
programaci n tablas2
Programación.Tablas

0000

0001 PCLATH=0

0002

0003

......

00ff

0100

0101 PCLATH=1

0102

0103

......

01ff

0200

0201 PCLATH=2

0202

0203

......

02ff

0300

0301 PCLATH=3

0302

0303

......

03ff

  • Hay que tener cuidado con el manejo de PCL como mecanismo de salto.
  • PCL solo actúa en ámbito de página PCLATH

!cuidado¡

programaci n tablas3
Programación. Tablas

inicio movlw 34h

movwf numero

movlw 0ffh

movwf cont

MOVLW HIGH codigonumero

MOVWF PCLATH

otro incf cont,1

Call codigonumero

subwf numero,0

btfss STATUS,Z

goto otro

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

fin goto fin

codigonumero

movf cont,w

addwf PCL

retlw 30h; código ascii del cero

retlw 31h; código ascii del uno

retlw 32h

retlw 33h

retlw 34h

retlw 35h

retlw 36h

retlw 37h

retlw 38h

retlw 39h; código ascii del nueve

  • Si la tabla se encuentra en una página diferente a la 0 es necesario actualizar previamente el PCLATH antes de saltar a la tabla
programaci n tablas4
Programación. Tablas

0000

0001

PCLATH=0 0002

0003

......

00ff

0100

PCLATH=1 0101

0102

0103

......

01ff

0200

PCLATH=2 0201

0202

0203

......

02ff

0300

PCLATH=3 0301

0302

0303

......

03ff

  • Las tablas no pueden saltar los límites de una página PCLATH.
  • Ubicar las tablas de forma segura usando la directiva org

codigonumero

movf cont,w

addwf PCL

retlw 30h;

retlw 31h;

retlw 32h

retlw 33h

retlw 34h

retlw 35h

retlw 36h

retlw 37h

retlw 38h

retlw 39h;