📄 rtc.lis
字号:
0072 912F mov R25,R17
0074 0396 adiw R24,3
0076 E82F mov R30,R24
0078 F92F mov R31,R25
007A 8081 ldd R24,z+0
007C 8F5F subi R24,255 ; addi 1
007E 8083 std z+0,R24
0080 .dbline 37
0080 ; if(p[3]==10) {p[3]=0;p[2]++;}
0080 E02F mov R30,R16
0082 F12F mov R31,R17
0084 8381 ldd R24,z+3
0086 8A30 cpi R24,10
0088 61F4 brne L17
008A .dbline 37
008A .dbline 37
008A 2224 clr R2
008C E02F mov R30,R16
008E F12F mov R31,R17
0090 2382 std z+3,R2
0092 .dbline 37
0092 802F mov R24,R16
0094 912F mov R25,R17
0096 0296 adiw R24,2
0098 E82F mov R30,R24
009A F92F mov R31,R25
009C 8081 ldd R24,z+0
009E 8F5F subi R24,255 ; addi 1
00A0 8083 std z+0,R24
00A2 .dbline 37
00A2 L17:
00A2 .dbline 38
00A2 ; if(p[2]==6) {p[2]=0;p[1]++;}
00A2 E02F mov R30,R16
00A4 F12F mov R31,R17
00A6 8281 ldd R24,z+2
00A8 8630 cpi R24,6
00AA 61F4 brne L19
00AC .dbline 38
00AC .dbline 38
00AC 2224 clr R2
00AE E02F mov R30,R16
00B0 F12F mov R31,R17
00B2 2282 std z+2,R2
00B4 .dbline 38
00B4 802F mov R24,R16
00B6 912F mov R25,R17
00B8 0196 adiw R24,1
00BA E82F mov R30,R24
00BC F92F mov R31,R25
00BE 8081 ldd R24,z+0
00C0 8F5F subi R24,255 ; addi 1
00C2 8083 std z+0,R24
00C4 .dbline 38
00C4 L19:
00C4 .dbline 39
00C4 ; if(p[1]==10) {p[1]=0;p[0]++;}
00C4 E02F mov R30,R16
00C6 F12F mov R31,R17
00C8 8181 ldd R24,z+1
00CA 8A30 cpi R24,10
00CC 49F4 brne L21
00CE .dbline 39
00CE .dbline 39
00CE 2224 clr R2
00D0 E02F mov R30,R16
00D2 F12F mov R31,R17
00D4 2182 std z+1,R2
00D6 .dbline 39
00D6 E02F mov R30,R16
00D8 F12F mov R31,R17
00DA 8081 ldd R24,z+0
00DC 8F5F subi R24,255 ; addi 1
00DE 8083 std z+0,R24
00E0 .dbline 39
00E0 L21:
00E0 .dbline 40
00E0 E02F mov R30,R16
00E2 F12F mov R31,R17
00E4 8081 ldd R24,z+0
00E6 8630 cpi R24,6
00E8 11F4 brne L23
00EA .dbline 40
00EA .dbline 40
00EA 2224 clr R2
00EC 2082 std z+0,R2
00EE .dbline 40
00EE L23:
00EE .dbline -2
00EE .dbline 41
00EE ; if(p[0]==6) {p[0]=0;}
00EE ; }
00EE L16:
00EE .dbline 0 ; func end
00EE 0895 ret
00F0 .dbsym r p 16 pc
00F0 .dbend
00F0 .dbfunc e main _main fV
00F0 ; i -> <dead>
.even
00F0 _main::
00F0 .dbline -1
00F0 .dbline 44
00F0 ;
00F0 ; void main(void)
00F0 ; {uchar i;
00F0 .dbline 45
00F0 ; Init_IO(); //初始化I/O口
00F0 B9DF rcall _Init_IO
00F2 .dbline 46
00F2 ; PORTA=0xff; //点亮以测试所有的数码管
00F2 8FEF ldi R24,255
00F4 8BBB out 0x1b,R24
00F6 .dbline 47
00F6 ; PORTC=0x00;
00F6 2224 clr R2
00F8 25BA out 0x15,R2
00FA .dbline 48
00FA ; DelayMs(300); //延时
00FA 0CE2 ldi R16,300
00FC 11E0 ldi R17,1
00FE 80DF rcall _DelayMs
0100 .dbline 49
0100 ; PORTC=0xff; //熄灭所有的数码管
0100 8FEF ldi R24,255
0102 85BB out 0x15,R24
0104 .dbline 50
0104 ; ASSR=0x08; //异步时钟使能
0104 88E0 ldi R24,8
0106 82BD out 0x22,R24
0108 .dbline 51
0108 ; TCCR2=0x07; //32768的晶振1024分频作为T/C2的时钟源
0108 87E0 ldi R24,7
010A 85BD out 0x25,R24
010C .dbline 52
010C ; TIMSK=0x40; //T/C2溢出中断使能
010C 80E4 ldi R24,64
010E 89BF out 0x39,R24
0110 .dbline 53
0110 ; SREG=SREG|0x80; //全局中断使能
0110 7894 bset 7
0112 0DC0 rjmp L27
0114 L26:
0114 .dbline 55
0114 ; while(1)
0114 ; {Display(Data);
0114 .dbline 55
0114 00E0 ldi R16,<_Data
0116 10E0 ldi R17,>_Data
0118 84DF rcall _Display
011A .dbline 56
011A ; if(CNT==32)
011A 80910000 lds R24,_CNT
011E 8032 cpi R24,32
0120 31F4 brne L29
0122 .dbline 57
0122 ; {CNT=0;
0122 .dbline 57
0122 2224 clr R2
0124 20920000 sts _CNT,R2
0128 .dbline 58
0128 ; Add_Second(Data);}
0128 00E0 ldi R16,<_Data
012A 10E0 ldi R17,>_Data
012C A1DF rcall _Add_Second
012E .dbline 58
012E L29:
012E .dbline 59
012E L27:
012E .dbline 54
012E F2CF rjmp L26
0130 X2:
0130 .dbline -2
0130 .dbline 60
0130 ; }
0130 ; }
0130 L25:
0130 .dbline 0 ; func end
0130 0895 ret
0132 .dbsym l i 1 c
0132 .dbend
.area vector(rom, abs)
.org 8
0008 99C0 rjmp _Timer2
.area text(rom, con, rel)
0132 .dbfile J:\AVRpractice\BOOK\定时器2\RTC.c
0132 .dbfunc e Timer2 _Timer2 fV
.even
0132 _Timer2::
0132 8A93 st -y,R24
0134 9A93 st -y,R25
0136 8FB7 in R24,0x3f
0138 8A93 st -y,R24
013A .dbline -1
013A .dbline 64
013A ;
013A ; #pragma interrupt_handler Timer2:5
013A ; void Timer2(void)
013A ; {CNT=CNT+1;}
013A .dbline 64
013A 80910000 lds R24,_CNT
013E 8F5F subi R24,255 ; addi 1
0140 80930000 sts _CNT,R24
0144 .dbline -2
0144 .dbline 64
0144 L31:
0144 8991 ld R24,y+
0146 8FBF out 0x3f,R24
0148 9991 ld R25,y+
014A 8991 ld R24,y+
014C .dbline 0 ; func end
014C 1895 reti
014E .dbend
.area bss(ram, con, rel)
0000 .dbfile J:\AVRpractice\BOOK\定时器2\RTC.c
0000 _CNT::
0000 .blkb 1
0001 .dbsym e CNT _CNT c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -