Escribir el programa del contestador automático para cuatro personas de Keil en lenguaje ensamblador
ORG 0000H
JMP BEGIN
ORG 0030H
TABLA: ***Tabla de códigos de visualización del tubo digital del cátodo
DB 3FH,06H,5BH,4FH,66H ;01234
DB 6DH,7DH,07H,7FH,6fh ;56789
RETARDO: MOV R5,#20 p>
BUCLE4: MOV R6,#50H; retardo 20X20ms
BUCLE5: MOV R7,#100
DJNZ R7,$
DJNZ R6, LOOP5
DJNZ R5,LOOP4
RET
;--------------------- - -----------------
COMENZAR: MOV P2,#0FFH ;El puerto P2 está configurado en nivel alto, listo para recibir señales
MOV R4,#0
MOV A,R4 ;El valor del indicador R4 se envía al registro A
OTRA VEZ: MOV DPTR,#TABLE
MOVC A,@A +DPTR
MOV P1,A
LOOP1: MOV A,P3 recibe la señal de respuesta del puerto p3
CPL A
JZ LOOP1
LOOP2: RRC A; si alguien responde a la señal, muévase uno por uno para determinar cuál responde
INC R4
JNC BUCLE2
; **********************
MOV A,R4
MOVC A,@A+DPTR Encuentra el bit correspondiente y muéstralo Código
MOV P1,A
LEDDIS:
MOV A,#0FFH
CLR C
LEDDIS1 :
RLC A
DJNZ R4,LEDDIS1
MOV P0,A
LOOP3: JNB P3.3,BEGIN; si está alojado Si alguien presiona la tecla de señal de reinicio, pasará al programa principal
CPL P3.7 si no se presiona la tecla de señal de reinicio, se darán señales altas y bajas para activar el timbre
LCALL DELAY; subrutina de tiempo de retardo de llamada
SJMP LOOP3 Repita los cambios a intervalos de 0,4 s para activar el timbre
FIN