📄 inter2-0.asm
字号:
ORG 00H
JMP MAIN
ORG 03H ;INT0中断子程序起始地址
JMP EXT0 ;中断子程序
ORG 13H ;INT1中断子程序起始地址
JMP EXT1 ;中断子程序
ORG 30H
MAIN: MOV IE,#10000101B ;INT0,INT1中断使能
MOV IP,#00000010B ;INT1中断优先
MOV TCON,#00000001B ;INTO为下降沿触发
MOV SP,#70H ;设定堆栈指针
MOV R2,#00 ;设置记数初值
CLR P1.7 ;
;--------------------------------------------------
LOOP: MOV A,R2 ;读取十进制记数值
MOV P2,A ;显示
JMP LOOP ;循环
EXT0: PUSH ACC ;压入堆栈
PUSH PSW ;
MOV A,R2 ;
ADD A,#01H ;计数指针加1
DA A ;做十进制调整
MOV R2,A ;存入R2
MOV P2,A ;
; CALL DELAY1 ;延时
POP PSW ;出栈
POP ACC ;
RETI ;中断返回
;-----------------------------------------------
EXT1: PUSH ACC ;压入堆栈
PUSH PSW ;
SETB P1.7 ;
CALL DELAY2 ;延时
CLR P1.7 ;
POP PSW ;出栈
POP ACC ;
RETI ;中断返回
;-----------------------------------------------
DELAY1: MOV R5,#200 ;延时程序
D11: MOV R6,#100 ;
D21: MOV R7,#248 ;
DJNZ R7,$ ;
DJNZ R6,D21 ;
DJNZ R5,D11 ;
RET
;------------------------------------------------
DELAY2: MOV R5,#200 ;延时程序
D12: MOV R6,#200 ;
D22: MOV R7,#248 ;
DJNZ R7,$ ;
DJNZ R6,D22 ;
DJNZ R5,D12 ;
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -