⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8.sdi

📁 我的大学单片机课程案例和ppt
💻 SDI
字号:
,,,                        ORG 0000H
0000,01 30,,                        AJMP START
,,,                        ORG 000BH                 ;定时器0的中断向量地址
000B,01 71,,                        AJMP TIME0                ;跳转到定时器0中断处理程序处
,,,                        ORG 30H
0030,,START,START:
0030,75 89 01,,                        MOV TMOD,#00000001B     ;定时0工作于方式1(16位)
0033,75 8C B1,,                        MOV TH0,#0B1H
0036,75 8A E0,,                        MOV TL0,#0E0H            ;设定定时时间20ms
0039,D2 8C,,                        SETB TR0                   ;定时器0开关打开
003B,D2 A9,,                        SETB ET0                   ;打开开定时/计数器0允许
003D,D2 AF,,                        SETB EA                   ;打开总中断允许
003F,90 00 A8,,                        MOV     DPTR,#TABLE     ;将数据表TABLE的首地址赋给DPTR
0042,75 30 00,,                        MOV     30H,#0          ;30H-33H为显示内容,初始为0
0045,75 31 00,,                        MOV     31H,#0
0048,75 32 00,,                        MOV     32H,#0
004B,75 33 00,,                        MOV     33H,#0
004E,7B 32,,                        MOV     R3,#50  ;计溢出次数50×20ms=1S
0050,,DISAGAIN,DISAGAIN:
0050,7C 04,,                        MOV     R4,#4
0052,79 30,,                        MOV     R1,#30H
0054,7A 80,,                        MOV     R2,#10000000B
0056,,LOOP,LOOP:
0056,E7,,                        MOV     A,@R1           ;
0057,93,,                        MOVC    A,@A+DPTR       ;将(A+DPTR)地址中的值赋给A
0058,8A A0,,                        MOV     P2,R2           ;选择数码管
005A,F5 80,,                        MOV     P0,A            ;送到P0口数码管显示
005C,12 00 68,,                        LCALL   DELAY   ;显示延时
005F,EA,,                        MOV     A,R2    ;R2的值移位
0060,03,,                        RR      A
0061,FA,,                        MOV     R2,A
0062,09,,                        INC     R1
0063,DC F1,,                        DJNZ    R4,LOOP ;扫描完4个否?
0065,02 00 50,,                        LJMP    DISAGAIN        ;重新开始扫描
0068,,DELAY,DELAY:
0068,7E 04,,                        MOV     R6,#4
006A,7F 64,D1,D1:                     MOV     R7,#100
006C,DF FE,D2,D2:                     DJNZ    R7,D2
006E,DE FA,,                        DJNZ    R6,D1
0070,22,,                        RET
,,,
0071,C0 D0,TIME0,TIME0:                  PUSH  PSW
0073,75 8C B1,,                        MOV TH0,#0B1H
0076,75 8A E0,,                        MOV TL0,#0E0H             ;重置定时时间20ms
0079,DB 2A,,                        DJNZ    R3,TRUESC;不到1S退出中断程序
007B,7B 32,,                        MOV     R3,#50  ;重新赋溢出计数值
007D,05 30,,                        INC     30H     ;P2口左移
007F,E5 30,,                        MOV     A,30H
0081,B4 0A 21,,                        CJNE    A,#10,TRUESC
0084,75 30 00,,                        MOV     30H,#0
0087,05 31,,                        INC     31H
0089,E5 31,,                        MOV     A,31H
008B,B4 06 17,,                        CJNE    A,#6,TRUESC
008E,75 31 00,,                        MOV     31H,#0
0091,05 32,,                        INC     32H
0093,E5 32,,                        MOV     A,32H
0095,B4 0A 0D,,                        CJNE    A,#10,TRUESC
0098,75 32 00,,                        MOV     32H,#0
009B,05 33,,                        INC     33H
009D,E5 33,,                        MOV     A,33H
009F,B4 06 03,,                        CJNE    A,#6,TRUESC
00A2,75 33 00,,                        MOV     33H,#0
,,,
00A5,D0 D0,TRUESC,TRUESC:                 POP  PSW
00A7,32,,                        RETI
00A8,C0 F9 A4 B0,TABLE,TABLE:  DB      0C0H,0F9H,0A4H,0B0H             ;0,1,2,3
00AC,99 92 82 F8,,        DB      99H,92H,82H,0F8H,80H,90H        ;4,5,6,7,8,9
000E,,,                        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -