;*****************************RS485-P16.asm **************************************
;Sistema de gobierno desde el ordenador o desde el mismo puesto
;Joè Benjumea,4-4-2011
;Con este programa se puede comunicar con el ordenador 32 aparatos
; asignandole a cada uno su direccion.La direccion se toma de los 5
;bit de menos peso de portA
; ==================================================================.
;
; ZONA DE DATOS **********************************************************************
LIST P=16F88
INCLUDE <P16F88.INC>
__CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_ON & _WDT_OFF & _INTRC_IO
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
CBLOCK 0x0C
TeclaPulsada ; .
ENDC
#DEFINE Pulsador PORTB,7
#DEFINE Luz PORTB,6
llaves EQU 0x0E
TECLA_A EQU 'A'
TECLA_B EQU 'B'
TECLA_C EQU 'C'
TECLA_D EQU 'D'
TECLA_E EQU 'E'
TECLA_F EQU 'F'
TECLA_G EQU 'G'
TECLA_H EQU 'H'
TECLA_I EQU 'I'
TECLA_J EQU 'J'
TECLA_K EQU 'K'
TECLA_L EQU 'L'
TECLA_M EQU 'M'
TECLA_N EQU 'N'
TECLA_Ñ EQU 'Ñ'
TECLA_O EQU 'O'
TECLA_P EQU 'P'
TECLA_Q EQU 'Q'
TECLA_R EQU 'R'
TECLA_S EQU 'S'
TECLA_T EQU 'T
TECLA_U EQU 'U'
TECLA_V EQU 'V'
TECLA_W EQU 'W'
TECLA_X EQU 'X'
TECLA_Y EQU 'Y'
TECLA_Z EQU 'Z'
TECLA_1 EQU '1'
TECLA_2 EQU '2'
TECLA_3 EQU '3'
TECLA_4 EQU '4'
TECLA_5 EQU '5'
; ZONA DE CÓDIGOS ********************************************************************
ORG 0
goto Inicio
ORG 4
goto INTER
Inicio
call RS232_Inicializa
bsf STATUS,RP0
bsf Pulsador
bcf Luz
movlw b'10111111'
movwf TRISB
movlw b'10011111'
movwf TRISA
movlw b'01100000'
movwf OSCCON
movlw b'00000000'
movwf ANSEL
bcf STATUS,RP0
movlw b'10001000'
movwf INTCON
clrf PORTB
clrf PORTA
movf PORTA,W ; cargue el registro llaves perono me funciona bien
andlw b'00011111'
movwf llaves
Principal
call RS232_LeeDato
call TesteaTeclado
goto Principal
TesteaTeclado
movwf TeclaPulsada
xorlw TECLA_P
btfsc STATUS,Z
goto ALA_P
CALL RS232_LeeDato
movf TeclaPulsada,w
xorlw TECLA_Q
btfsc STATUS,Z
goto ALA_Q
movf TeclaPulsada,w
xorlw TECLA_C
btfsc STATUS,Z
goto ALA_C
movf TeclaPulsada,W
xorlw TECLA_D
btfsc STATUS,Z
goto ALA_D
movf TeclaPulsada,w
xorlw TECLA_E
btfsc STATUS,Z
goto ALA_E
movf TeclaPulsada,w
xorlw TECLA_F
btfsc STATUS,Z
goto ALA_F
movf TeclaPulsada,w
xorlw TECLA_G
btfsc STATUS,Z
goto ALA_G
movf TeclaPulsada,w
xorlw TECLA_H
btfsC STATUS,Z
goto ALA_H
movf TeclaPulsada,w
xorlw TECLA_I
btfsc STATUS,Z
goto ALA_I
movf TeclaPulsada,w
xorlw TECLA_J
btfsC STATUS,Z
goto ALA_J
movf TeclaPulsada,w
xorlw TECLA_K
btfsc STATUS,Z
goto ALA_K
movf TeclaPulsada,w
xorlw TECLA_L
btfsC STATUS,Z
goto ALA_L
movf TeclaPulsada,w
xorlw TECLA_M
btfsc STATUS,Z
goto ALA_M
movf TeclaPulsada,w
xorlw TECLA_N
btfsc STATUS,Z
goto ALA_N
movf TeclaPulsada,w
xorlw TECLA_Ñ
btfsc STATUS,Z
goto ALA_Ñ
movf TeclaPulsada,w
xorlw TECLA_O
btfsc STATUS,Z
goto ALA_O
movf TeclaPulsada,w
xorlw TECLA_A
btfsc STATUS,Z
goto ALA_A
movf TeclaPulsada,w
xorlw TECLA_B
btfsc STATUS,Z
goto ALA_B
movf TeclaPulsada,w
xorlw TECLA_R
btfsc STATUS,Z
goto ALA_R
movf TeclaPulsada,w
xorlw TECLA_S
btfsc STATUS,Z
goto ALA_S
movf TeclaPulsada,w
xorlw TECLA_T
btfsc STATUS,Z
goto ALA_T
movf TeclaPulsada,w
xorlw TECLA_U
btfsc STATUS,Z
goto ALA_U
movf TeclaPulsada,w
xorlw TECLA_V
btfsc STATUS,Z
goto ALA_V
movf TeclaPulsada,w
xorlw TECLA_W
btfsc STATUS,Z
goto ALA_W
movf TeclaPulsada,w
xorlw TECLA_X
btfsc STATUS,Z
goto ALA_X
movf TeclaPulsada,w
xorlw TECLA_Y
btfsc STATUS,Z
goto ALA_Y
movf TeclaPulsada,w
xorlw TECLA_Z
btfsc STATUS,Z
goto ALA_Z
movf TeclaPulsada,w
xorlw TECLA_1
btfsc STATUS,Z
goto ALA_1
movf TeclaPulsada,w
xorlw TECLA_2
btfsc STATUS,Z
goto ALA_2
movf TeclaPulsada,w
xorlw TECLA_3
btfsc STATUS,Z
goto ALA_3
movf TeclaPulsada,w
xorlw TECLA_4
btfsc STATUS,Z
goto ALA_4
movf TeclaPulsada,w
xorlw TECLA_5
btfsc STATUS,Z
goto ALA_5
return
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INTER
movf PORTA,W
andlw b'00011111'
addwf PCL,F
goto A_final
goto B_final
goto C_final
goto D_final
goto E_final
goto F_final
goto G_final
goto H_final
goto I_final
goto J_final
goto K_final
goto L_final
goto M_final
goto N_final
goto Ñ_final
goto O_final
goto P_final
goto Q_final
goto R_final
goto S_final
goto T_final
goto U_final
goto V_final
goto W_final
goto X_final
goto Y_final
goto Z_final
goto UNO_final
goto DOS_final
goto TRES_final
goto CUATRO_final
goto CINCO_final
return
;^^+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ALA_A
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x00
btfsc STATUS,Z
goto ALA_A_A
goto fin
ALA_B
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x01
btfsc STATUS,Z
goto ALA_B_B
goto fin
ALA_C
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x02
btfsc STATUS,Z
goto ALA_C_C
goto fin
ALA_D
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x03
btfsc STATUS,Z
goto ALA_D_D
goto fin
ALA_E
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x04
btfsc STATUS,Z
goto ALA_E_E
goto fin
ALA_F
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x05
btfsc STATUS,Z
goto ALA_F_F
goto fin
ALA_G
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x06
btfsc STATUS,Z
goto ALA_G_G
goto fin
ALA_H
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x07
btfsc STATUS,Z
goto ALA_H_H
goto fin
ALA_I
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x08
btfsc STATUS,Z
goto ALA_I_I
goto fin
ALA_J
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x09
btfsc STATUS,Z
goto ALA_J_J
goto fin
ALA_K
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0A
btfsc STATUS,Z
goto ALA_K_K
goto fin
ALA_L
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0B
btfsc STATUS,Z
goto ALA_L_L
goto fin
ALA_M
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0C
btfsc STATUS,Z
goto ALA_M_M
goto fin
ALA_N
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0D
btfsc STATUS,Z
goto ALA_N_N
goto fin
ALA_Ñ
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0E
btfsc STATUS,Z
goto ALA_Ñ_Ñ
goto fin
ALA_O
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x0F
btfsc STATUS,Z
goto ALA_O_O
goto fin
ALA_P
movf PORTA,W
andlw B'00011111'
movwf llaves
xorlw 0X10
btfsc STATUS,Z
goto ALA_P_P
goto fin
ALA_Q
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0X11
btfsc STATUS,Z
goto ALA_Q_Q
goto fin
ALA_R
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x12
btfsc STATUS,Z
goto ALA_R_R
goto fin
ALA_S
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x13
btfsc STATUS,Z
goto ALA_S_S
goto fin
ALA_T
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x14
btfsc STATUS,Z
goto ALA_T_T
goto fin
ALA_U
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x15
btfsc STATUS,Z
goto ALA_U_U
goto fin
ALA_V
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x16
btfsc STATUS,Z
goto ALA_V_V
goto fin
ALA_W
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x17
btfsc STATUS,Z
goto ALA_W_W
goto fin
ALA_X
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x18
btfsc STATUS,Z
goto ALA_X_X
goto fin
ALA_Y
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x19
btfsc STATUS,Z
goto ALA_Y_Y
goto fin
ALA_Z
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1A
btfsc STATUS,Z
goto ALA_Z_Z
goto fin
ALA_1
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1B
btfsc STATUS,Z
goto ALA_1_1
goto fin
ALA_2
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1C
btfsc STATUS,Z
goto ALA_2_2
goto fin
ALA_3
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1D
btfsc STATUS,Z
goto ALA_3_3
goto fin
ALA_4
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1E
btfsc STATUS,Z
goto ALA_4_4
goto fin
ALA_5
movf PORTA,W
andlw b'00011111'
movwf llaves
xorlw 0x1F
btfsc STATUS,Z
goto ALA_5_5
goto fin
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_A_A
btfsc Luz
goto Apaga_A
bsf Luz
movlw 'A'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_A
bcf Luz
movlw 'a'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
B_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_B_B
btfsc Luz
goto Apaga_B
bsf Luz
movlw 'B'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_B
bcf Luz
movlw 'b'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
C_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_C_C
btfsc Luz
goto Apaga_C
bsf Luz
movlw 'C'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_C
bcf Luz
movlw 'c'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
D_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_D_D
btfsc Luz
goto Apaga_D
bsf Luz
movlw 'D'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_D
bcf Luz
movlw 'd'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
E_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_E_E
btfsc Luz
goto Apaga_E
bsf Luz
movlw 'E'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_E
bcf Luz
movlw 'e'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
F_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_F_F
btfsc Luz
goto Apaga_F
bsf Luz
movlw 'F'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_F
bcf Luz
movlw 'f'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
G_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_G_G
btfsc Luz
goto Apaga_G
bsf Luz
movlw 'G'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_G
bcf Luz
movlw 'g'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
H_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_H_H
btfsc Luz
goto Apaga_H
bsf Luz
movlw 'H'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_H
bcf Luz
movlw 'h'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
I_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_I_I
btfsc Luz
goto Apaga_I
bsf Luz
movlw 'I'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_I
bcf Luz
movlw 'i'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
J_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_J_J
btfsc Luz
goto Apaga_J
bsf Luz
movlw 'J'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_J
bcf Luz
movlw 'j'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
K_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_K_K
btfsc Luz
goto Apaga_K
bsf Luz
movlw 'K'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_K
bcf Luz
movlw 'k'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
L_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_L_L
btfsc Luz
goto Apaga_L
bsf Luz
movlw 'L'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_L
bcf Luz
movlw 'l'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
M_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_M_M
btfsc Luz
goto Apaga_M
bsf Luz
movlw 'M'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_M
bcf Luz
movlw 'm'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
N_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_N_N
btfsc Luz
goto Apaga_N
bsf Luz
movlw 'N'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_N
bcf Luz
movlw 'n'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Ñ_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Ñ_Ñ
btfsc Luz
goto Apaga_Ñ
bsf Luz
movlw 'Ñ'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Ñ
bcf Luz
movlw 'ñ'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
O_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_O_O
btfsc Luz
goto Apaga_O
bsf Luz
movlw 'O'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_O
bcf Luz
movlw 'o'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
;++++++++++++++++++++++++++++++++++++++++++++++++++++
P_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_P_P
btfsc Luz
goto Apaga_P
bsf Luz
movlw 'P'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_P
bcf Luz
movlw 'p'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Q_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Q_Q
btfsc Luz
goto Apaga_Q
bsf Luz
movlw 'Q'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Q
bcf Luz
movlw 'q'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
R_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_R_R
btfsc Luz
goto Apaga_R
bsf Luz
movlw 'R'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_R
bcf Luz
movlw 'r'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
S_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_S_S
btfsc Luz
goto Apaga_S
bsf Luz
movlw 'S'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_S
bcf Luz
movlw 's'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
T_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_T_T
btfsc Luz
goto Apaga_T
bsf Luz
movlw 'T'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_T
bcf Luz
movlw 't'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
U_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_U_U
btfsc Luz
goto Apaga_U
bsf Luz
movlw 'U'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_U
bcf Luz
movlw 'u'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
V_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_V_V
btfsc Luz
goto Apaga_V
bsf Luz
movlw 'V'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_V
bcf Luz
movlw 'v'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
W_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_W_W
btfsc Luz
goto Apaga_W
bsf Luz
movlw 'W'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_W
bcf Luz
movlw 'w'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
X_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_X_X
btfsc Luz
goto Apaga_X
bsf Luz
movlw 'X'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_X
bcf Luz
movlw 'x'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Y_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Y_Y
btfsc Luz
goto Apaga_Y
bsf Luz
movlw 'Y'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Y
bcf Luz
movlw 'y'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Z_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_Z_Z
btfsc Luz
goto Apaga_Z
bsf Luz
movlw 'Z'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_Z
bcf Luz
movlw 'z'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
UNO_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_1_1
btfsc Luz
goto Apaga_1
bsf Luz
movlw '1'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_1
bcf Luz
movlw '!'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
DOS_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_2_2
btfsc Luz
goto Apaga_2
bsf Luz
movlw '2'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_2
bcf Luz
movlw '"'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
TRES_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_3_3
btfsc Luz
goto Apaga_3
bsf Luz
movlw '3'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_3
bcf Luz
movlw '·'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
CUATRO_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
ALA_4_4
btfsc Luz
goto Apaga_4
bsf Luz
movlw '4'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_4
bcf Luz
movlw '$'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
CINCO_final
btfsc Pulsador
goto fin
call Retardo_20ms
btfsc Pulsador
goto fin
call Retardo_20ms
call Retardo_20ms
ALA_5_5
btfsc Luz
goto Apaga_5
bsf Luz
movlw '5'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
goto fin
Apaga_5
bcf Luz
movlw '%'
call RS232_EnviaDato
movlw d'10'
call RS232_EnviaDato
movlw d'13'
call RS232_EnviaDato
fin
bcf INTCON,RBIF
retfie
INCLUDE <RS232.88.INC>
INCLUDE <RETARDOS.INC>
END