;************************************** Teclado02p.asm **********************************
;
; En pantalla aparece el valor hexadecimal de la tecla pulsada. Se está leyendo constatemente
; el teclado mediante técnica Polling.
;
; ZONA DE DATOS **********************************************************************
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C
ENDC
Tecla_x_Enviar EQU 25h
;Tecla_Aceptar EQU 26h
; ZONA DE CÓDIGOS ********************************************************************
ORG 0
Inicio
call RS232_Inicializa
call Teclado_Inicializa ; Configura las líneas del teclado.
Principal
call Teclado_LeeHex ; Lee el teclado hexadecimal.
btfss STATUS,C ; ¿Pulsa alguna tecla?, ¿C=1?
goto Fin ; No, por tanto, sale.
call Teclado_EsperaDejePulsar; No sale hasta que levante el dedo.
movwf Tecla_x_Enviar
Comp
call Teclado_LeeHex
subwf '#' ;La tecla de numeral (gato) será la de aceptar para enviar el dato
btfss STATUS,Z
goto Principal
call Teclado_EsperaDejePulsar; No sale hasta que levante el dedo.
Aceptar
movlw Tecla_x_Enviar
call RS232_EnviaDato
call Teclado_EsperaDejePulsar; No sale hasta que levante el dedo.
Fin goto Principal
INCLUDE <TECLADO.INC> ; Subrutinas de control del teclado.
INCLUDE <RS232.INC>
INCLUDE <RETARDOS.INC>
END