📄 ex4-2.sdi
字号:
,,,
,,,; 外中断0为闪"8"字8次
,,,;外中断1为高低4位交替闪亮8次
,,, ORG 0000H
0000,02 00 40,, LJMP MAIN
,,, ORG 0003H ;INT0 中断入口地址
0003,02 00 61,, LJMP INT0S
,,, ORG 0013H ;INT1 中断入口地址
0013,02 00 7B,, LJMP INT1S
,,, ORG 0040H
0040,75 A8 85,MAIN,MAIN: MOV IE,#85H ;主程序,开中断
0043,75 88 05,, MOV TCON,#05H ;设置外部中断为负边沿触发方式
0046,74 FE,, MOV A,#0FEH
0048,75 B0 FF,, MOV P3,#0FFH
004B,D2 BA,, SETB PX1 ;设置INT1为高优先级
004D,74 01,ST0,ST0: MOV A ,#1 ;主程序循环显示"1"~"8"
004F,C0 E0,ST1,ST1: PUSH ACC
0051,12 00 A0,, LCALL SEG7
0054,F5 80,, MOV P0,A
0056,12 00 95,, LCALL DELAY
0059,D0 E0,, POP ACC
005B,04,, INC A
005C,B4 09 F0,, CJNE A,#9,ST1
005F,80 EC,, SJMP ST0
,,,
0061,C0 E0,INT0S,INT0S: PUSH ACC ;INT0中断服务程序显示"1"~"8"
0063,74 00,, MOV A,#0
0065,04,LOOP,LOOP: INC A
0066,C0 E0,, PUSH ACC
0068,12 00 A0,, LCALL SEG7
006B,F5 A0,, MOV P2,A
006D,D0 E0,, POP ACC
006F,12 00 95,, LCALL DELAY
0072,B4 08 F0,, CJNE A,#8,LOOP
0075,D0 E0,, POP ACC
0077,75 A0 FF,, MOV P2,#0FFH
007A,32,, RETI ;INT0中断返回
,,,
007B,C0 E0,INT1S,INT1S: PUSH ACC ;INT1中断服务程序显示"1"~"8"
007D,74 00,, MOV A,#0
007F,04,LOOP1,LOOP1: INC A
0080,C0 E0,, PUSH ACC
0082,12 00 A0,, LCALL SEG7
0085,F5 90,, MOV P1,A
0087,12 00 95,, LCALL DELAY
008A,D0 E0,, POP ACC
008C,B4 08 F0,, CJNE A,#8,LOOP1
008F,75 90 FF,, MOV P1,#0FFH
0092,D0 E0,, POP ACC
0094,32,, RETI ;INT1中断返回
,,,
0095,7F FF,DELAY,DELAY: MOV R7,#0FFH ;延时子程序
0097,7E FF,D1,D1: MOV R6,#0FFH
0099,00,D2,D2: NOP
009A,00,, NOP
009B,DE FC,, DJNZ R6,D2
009D,DF F8,, DJNZ R7,D1
009F,22,, RET
,,,
00A0,04,SEG7,SEG7: INC A ;数码显示子程序
00A1,83,, MOVC A,@A+PC
00A2,22,, RET
00A3,C0 F9 A4 B0,, DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;共阳极LED段码表
000E,,, END
,,,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -