Documente Academic
Documente Profesional
Documente Cultură
PortA
FUNCIONAMIENTO
El microcontrolador esta constantemente sondeando cada una de las filas, para ello envia un
uno para habilitar la fila a escanear, de igual manera como lo hace con el display, si
tomamos una foto en el instante que se esta explorando la fila número uno se tendría el
puerto Rb3 en 1 y Rb2, Rb1 yRb0 en cero:
Fila 1
Fila 2
Fila 3
Fila 4
Tablas
Inicio Lea
Configuración Inicialización
PortC = Entrada PortB = Salida Rota = 01 Switch = 0
Miles = 0FF Decenas = 0FF Switch = switch,6 (registro 30)
Probar
Call Lea PtoB = Rota + F0
W = PortC & 07
Salir No
Call TablaColumnas W = Not W * W=7
Filas = W Si
W = Rota No
W=7 Rlf Rota
Call TablaFilas
Si
Return
Tecla1 = W + Fila
Si No
Tecla1 = 0C Switch = 1 Tecla1 = 0C
Algoritmo TeclNew5
Para poner a trabajar la tarjeta debe conectar un cable de 3 hilos entre la entrada del teclado
y la parte baja del puerto C
; ***********************************************************************
; PROGRAMA LEER UN TECLADO
;Tecnew73.HEX version 16f873
LIST P=P16F873
#include <p16f873.inc>
__CONFIG _XT_OSC & _CP_OFF & _WDT_OFF & _LVP_OFF
& _WRT_ENABLE_OFF & _BODEN_ON
; Cristal, sin codigo de protección, sin watch dog y sin prog en baja tension
;------------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------------
; Rutina en caso de reset.
movf decena,0
movwf dato1
movlw 0f0h
andwf dato1,1
bsf dato1,1
movf dato1,0
movwf PORTB ;Muestra decenas
call delay2
movf miles,0
movwf dato1
swapf dato1,1
movlw 0f0h
andwf dato1,1
bsf dato1,2
movf dato1,0
movwf PORTB ;muestra unidades
nop ;da tiempo para que
call delay2 ;aprecie mejor el
;Número
movf miles,0
movwf dato1
movlw 0f0h
andwf dato1,1
bsf dato1,3
movf dato1,0
movwf PORTB ;Muestra miles
call delay2
movf acc,1
retlw 0
clrf tecla1
bsfSWITCH,6 ;pone en uno el switch
movftecla1,0
xorlw0Ch
btfssSTATUS,2 ;pone en ceros el
display
gotoprobar
clrf miles
clrfdecena
clrf tecla1
gotoprobar
GOTO aqui
end