Aaaa

Páginas: 21 (5225 palabras) Publicado: 17 de octubre de 2012
Lectura desde un teclado hexadecimal.
1. Descripción.
El proyecto consiste en la lectura desde un teclado hexadecimal y mostrar su valor en uno de los display de 7
segmentos existentes en la placa. Un teclado hexadecimal posee 8 líneas, cuatro de lectura y cuatro de escritura.
Con la señales de escritura se hace un barrido y se leen las de lectura, así es posible conocer el valor delinterruptor
(tecla) pulsado en cada momento. Una vez conocido el valor pulsado, sólo falta realizar su conversión a binario y
mostrarlo por el display.

Descripción: Dispositivo de entrada de datos que consta de 16 teclas o pulsadores, dispuestos e interconectados en filas y columnas. Dispone de un conector SIL (Single In Line) macho de 8 pines que se corresponden con las 4 filas y las cuatrocolumnas de las que dispone. | |
| Funcionamiento: En la siguiente figura vemos el esquema de conexionado interno del teclado matricial y sus correspondientes pines de salida numerados de izquierda a derecha mirando el teclado tal y como se ve en la foto anterior. Cuando se presiona un pulsador se conecta una fila con una columna, teniendo en cuenta este hecho es muy fácil averiguar que tecla fuepulsada. También podemos ver el conexionado típico con el puerto B del µC PIC.  |
Las resistencias de 2k2 son necesarias para poder compartir el puerto del pic independientemente del teclado y por ejemplo poder conectar un LCD o una barra de leds al mismo tiempo. Durante la fase de lectura del teclado la mitad de la puerta B es configurada como entrada y la otra mitad como lectura y durante laescritura en el lcd o otro sistema, la puerta B es configurada como salidas. Entonces se podrían cortocircuitar accidentalmente las salidas de los puertos provocando su destrucción, si pulsásemos alguna 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 pequeña corriente y el puerto del µC no correría ningúnriesgo. |

La siguiente librería configura las salidas y entradas para usar el teclado escanea las teclas y si es pulsada alguna retorna el valor de tecla en modo hexadecimal para ser mostrado directamente en un display LCD. Las variables y subrutinas utilizadas son:
KB_Port | Configura los puertos B del PIC para ser usados con el teclado. |
KB_Scan | Escanea todas las teclas y devuelve latecla pulsada en formato Hexadecimal. |
Tecla | Variable en donde se devuelve la tecla pulsada |

Rutina :

Descripción: Para controlar el teclado, los puertos del µC conectados a las filas se programan como salidas y los conectados a las columnas del teclado se programan como entradas, también se activan las resistencias de polarización internas en los puertos de salida. Esto se hacemediante la llamada a la etiqueta "KB_Port" que inicializa los puertos para ser usados con el teclado matricial

Ahora para saber que tecla esta siendo pulsada necesitamos escanear el teclado, y esto se consigue mediante la siguiente rutina que consiste en ir poniendo una a una las líneas RB0 a RB3 (conectadas a las filas del teclado) a nivel bajo ya que estas salidas tienen conectada la resistenciade polarización a Vcc y por lo tanto están siempre a nivel lógico alto. Cada vez que una fila se pone a nivel bajo se hacen 4 comprobaciones para ver si una de las cuatro columnas se a puesto a nivel bajo y así saber la tecla pulsada.

La parte de código pintada en amarillo puede ser eliminada sin ningún problema si no queremos que el pic tenga que esperar a que soltemos la tecla para continuarcon su ejecución normal.
 

Fundamentos
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). En la siguiente tabla se muestran los códigos BCD más empleados:
Decimal |...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Aaaa
  • Aaaa
  • Aaaa
  • aaaa
  • AAAA
  • aaaa
  • aaaa
  • aaaa

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS