📄 ex4-2.asm
字号:
; 外中断0为闪"8"字8次
;外中断1为高低4位交替闪亮8次
ORG 0000H
LJMP MAIN
ORG 0003H ;INT0 中断入口地址
LJMP INT0S
ORG 0013H ;INT1 中断入口地址
LJMP INT1S
ORG 0040H
MAIN: MOV IE,#85H ;主程序,开中断
MOV TCON,#05H ;设置外部中断为负边沿触发方式
MOV A,#0FEH
MOV P3,#0FFH
SETB PX1 ;设置INT1为高优先级
ST0: MOV A ,#1 ;主程序循环显示"1"~"8"
ST1: PUSH ACC
LCALL SEG7
MOV P0,A
LCALL DELAY
POP ACC
INC A
CJNE A,#9,ST1
SJMP ST0
INT0S: PUSH ACC ;INT0中断服务程序显示"1"~"8"
MOV A,#0
LOOP: INC A
PUSH ACC
LCALL SEG7
MOV P2,A
POP ACC
LCALL DELAY
CJNE A,#8,LOOP
POP ACC
MOV P2,#0FFH
RETI ;INT0中断返回
INT1S: PUSH ACC ;INT1中断服务程序显示"1"~"8"
MOV A,#0
LOOP1: INC A
PUSH ACC
LCALL SEG7
MOV P1,A
LCALL DELAY
POP ACC
CJNE A,#8,LOOP1
MOV P1,#0FFH
POP ACC
RETI ;INT1中断返回
DELAY: MOV R7,#0FFH ;延时子程序
D1: MOV R6,#0FFH
D2: NOP
NOP
DJNZ R6,D2
DJNZ R7,D1
RET
SEG7: INC A ;数码显示子程序
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;共阳极LED段码表
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -