practica 3

Páginas: 16 (3854 palabras) Publicado: 29 de abril de 2013
Editor con teclado matricial,
displays de 7 segmentos y matriz de leds

Se trata de realizar el diseño del programa encargado de gestionar dos
displays de siete segmentos y una matriz de led por barrido como
dispositivos de salida y un teclado matricial 4x4 como elemento de entrada.
Se pueden representar los números del 0 al 9 y las letras de la A a la F que
se seleccionan mediante elteclado. Inicialmente aparecerá 000 y a medida
que se van pulsando las teclas, van apareciendo por la derecha los
caracteres pulsados y desplazándose una posición hacia la izquierda el resto.
Se emplea una placa auxiliar que se conecta a la PICDEM2 y que tiene
displays y matriz conectados en paralelo al puerto C y con control de la
habilitación por medio del CI ULN2003 y el puerto D. El tecladoirá
conectado al PORTB según el esquema adjunto.
Se sugiere verificar el manejo del teclado por los 2 métodos conocidos:
exploración secuencial y por inversión de línea.
En la PICDEM2 se emplea un oscilador RC que proporciona una frecuencia de
2,8 MHz (aprox.) y el diseño se basa en el empleo de un microcontrolador
PIC16C65B.



Programa para exploración de teclado mediante la técnicade inversión de línea (teclado.asm)
;**********************************************************************************************
; Ejemplo de manejo de dos displays de siete segmentos por barrido,
; una matriz de led que representa los números del 0 al 9 y las letras A a la F
; y de un teclado matricial de 4x4
; (Identificación de tecla por Inversión de Línea)
;
; Inicialmente aparece 000y a medida que van pulsando las teclas, van entrando
; dígitos y letras por la derecha y desplazándose hacia la izquierda
;
; Inicialmente en el fichero teclado.asm
; Autor: Fernando Nuño García
;
;**********************************************************************************************
;
; Se emplea una placa auxiliar que se conecta a la PICDEM2 y que tiene
; displays y matrizconectados en paralelo al puerto C y con control
; de la habilitación por medio del CI ULN2003 y el puerto D
; El teclado al PORTB
;*********************************************************************************


;******************************************************************************
;Subprograma de Espera que genera una pausa que depende del valor cargado
;en W, se emplea pararetener la informaci¢n en los displays (5mseg)
;y para hacer el barrido de las columnas de la matriz de led (1mseg)
;Emplea el TMRO que tiene asignado el prescaler de 256
;se emplea un oscilador de 2.8MHz, luego para que haya overflow al cabo de
;5mseg necesitamos contar 5ms*2.8MHz/(4*256)=14 pulsos (aprox), luego la
;precarga será de 256-14=242 que corresponde a F2 en hexadecimal
;Para que laespera sea de 1mseg, se deben contar aprox.3 pulsos, luego la
;precarga será de 256-3=253 que corresponde a FD
ESPERA bcf INTCON,T0IF ;Ponemos a cero el flag de overflow
movwf TMR0 ;Realizamos la precarga
NOLLEGO btfss INTCON,T0IF ;Si se activó el flag salimos del subprograma
goto NOLLEGO ;si no, seguimos esperando
return
;Final del subprograma de espera;******************************************************************************
;SUBPROGRAMA DEDICADO AL BARRIDO DE LA MATRIZ DE LED
MATRIZ movlw 0x00 ;Inicializaci¢n de la columna
movwf COL ;de barrido
movlw 0x05 ;Inicializaci¢n del contador
movwf ROTAR ;de rotaciones
movlw 0x40 ;La primera columna, empezando por la izquierda corresponde a RD6
movwf PORTD ;y la sacamos al puerto
BARRMTZ call LEDMTZ ;Llamamos a la tabla desacar los led, se
;retorna con el contenido en W y luego
movwf PORTC ;lo sacamos por el PORTC
movlw 0xFD ;Cargamos W para llamar a ESPERA de 1mseg
call ESPERA
incf COL ;Aumentamos el número de la columna a barrer
rrf PORTD ;Activamos la siguiente columna
decfsz ROTAR ;Decrementamos el contador de rotaciones
goto BARRMTZ ;Si no lo hemos hecho 5 veces repetimos
return
;Salimos del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Practica 3 Quimica 3
  • Practica 3
  • Práctica 3
  • practica 3
  • practica 3
  • practica 3
  • Practica 3
  • Practica 3

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS