Red de conocimiento informático - Conocimiento informático - Como se muestra en la imagen, quiero usar el lenguaje ensamblador del microcontrolador para escribir un programa de interrupción. El requisito es que la luz LED se inicialice a un estado apagado. Cuando se presiona el botón, la luz se enciende durante un segundo. y se apaga por un segundo.

Como se muestra en la imagen, quiero usar el lenguaje ensamblador del microcontrolador para escribir un programa de interrupción. El requisito es que la luz LED se inicialice a un estado apagado. Cuando se presiona el botón, la luz se enciende durante un segundo. y se apaga por un segundo.

LED BIT P1.0

LLAVE1 BIT P2.0

LLAVE2 BIT P2.4

ORG 0000H

INICIO LJMP

ORG 000BH

Interrupción del temporizador LJMP0

INICIO:

MOV SP, #60H

MOV R2, #20

LED SETB

SETB KEY1

CLR KEY2

CLR TR0

LCALL InitTimer0

LOOP:; ¡agrega tu código aquí!

JNB KEY1, $

DELAY10MS

JB KEY1,$

CPL TR0

JNB TR0,D1

LED CLR

MOV TH0, #3CH 50MS

MOV TL0, #0B0H

BUCLE LJMP

D1:

LED SETB

BUCLE LJMP

InitTimer0:

MOV TMOD, # 01H

MOV TH0, #3CH

MOV TL0, #0B0H

SETB EA

SETB ET0 RET

Interrupción del temporizador:

PUSH DPH

PUSH DPL

PUSH ACC

MOV TH0, #3CH

MOV TL0, #0B0H

;=========================

;¡agrega tu código aquí!

DJNZ R2, FH

MOV R2, #0B0H

MOV R2, #20

CP 20

LED CPL

FH:

========================

POP ACC

POP DPL

POP DPH

RETI

DELAY10MS:; error 0us

MOV R7 , #01H

DL1:

MOV R6, #26H

DL0:

MOV R5, #82H

DJNZ R5, $

DJNZ R6, DL0

DJNZ R7, DL1

RET

END