Programación de contestador automático para ocho personas mediante microcontrolador
------------------------------------------- -----
KAI BIT P3.7; Inicio
----------------------- ----- --------------
ORG 0000H
INICIO JMP
INICIO:
;- --------------------------; Lo siguiente es borrar (restablecer)
MOV P0, # 0C0H; Pantalla 0
MOV P2, #255; luces apagadas
MOV R4, #0
;----------- ----------- ; Espere a que se presione el botón "Inicio"
KAISHI:
JB KAI, KAISHI Bucle sin presionar "Inicio"
RETRASO DE LLAMADA; Retraso
JB KAI, KAISHI; Eliminación de fluctuación
JNB KAI, $ Esperando liberación
;--- ---------- --------
MOV P0, #0CH; Mostrar P
Esperando respuesta
MOV A, P1
CPL A
JZ ESPERA; continúa esperando
;------------- ---------
XS: ; Encuentra la posición del botón del reproductor
CPL A
MOV P2, A
JNB ACC.0, J0
JNB ACC.1, J1
JNB ACC.2, J2
JNB ACC.3, J3 p>
JNB ACC.4, J4
JNB ACC.5, J5
JNB ACC.6, J6
JMP J7
>J7: INC R4
J6: INC R4
J5: INC R4
J4: INC R4
J3: INC R4
J2: INC R4
J1: INC R4
J0: INC R4
MOV A, R4
MOV DPTR, #D_TAB
MOVC A, @A DPTR
MOV P0, A
----------; -------------; debajo Espere a que se presione el botón de reinicio
W_FW:
JB KAI, W_FW si no se presiona, vaya a RETRASO DE LLAMADA
;Retraso
JB KAI, W_FW;Rebote
JNB KAI, $;Esperando liberación
JMP START
;-- - ----------------------
D_TAB:
DB 0C0H, 0F9H, 0A4H, 0B0H, 99H;* **Ánodo 0-9
DB 92H, 82H, 0F8H, 80H, 90H, 0BFH;-
;--------------- --------------------------
RETARDO: ; Retraso de unos 10 ms
MOV R6, # 20
DJNZ R7, $
DJNZ R6, $ - 2
RET
;======= == =================================
FIN
;El El programa anterior ha sido ajustado.