📄 c06.asm
字号:
;"探索" 实验六 多个外中断源扩展实验
;
;文件名:MCS51\C06.ASM
ORG 0000H
LJMP MAIN
ORG 0013H
JMP INT3 ;中断1入口
ORG 100H
MAIN: MOV SP,#60H
setb tcon.2
ORL IE,#84H
ORL IP,#04H ;外中断1初始化
MOV P1,#00H ;
SJMP main
INT3: ;中断处理
CLR EA ;关中断
MOV DPTR,#0a000H;读中断号
MOVX A,@DPTR
ANL A,#07H
ADD A,ACC ;乘2
MOV DPTR,#CODE1 ;按中断号散转
JMP @A+DPTR
CODE1: AJMP loop7
AJMP loop6
AJMP LOOP2
AJMP LOOP3
AJMP LOOP4
AJMP LOOP5
AJMP LOOP6
AJMP LOOP7
LOOP1: RETI
LOOP2: RETI
LOOP3: RETI
LOOP4: RETI
LOOP5: RETI
LOOP6:
MOV R0,#5H ;6号中断处理
INT30:
CLR P1.2
MOV A,#5H
ACALL DELAY
SETB P1.2
MOV A,#5H
ACALL DELAY
DJNZ R0,INT30
SETB EA
RETI
LOOP7: ;7号中断处理
MOV R0,#0AH
INT31:
CLR P1.2
MOV A,#0AH
ACALL DELAY
SETB P1.2
MOV A,#0AH
ACALL DELAY
DJNZ R0,INT31
RETI
DELAY: ;延时子程序
MOV R7,#100 ;500us*100=50ms
DLY0:
MOV R6,#250 ;2us*250=500us
DJNZ R6,$
DJNZ R7,DLY0
DJNZ ACC,DELAY ;200ms*ACC
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -