📄 ds1302.lis
字号:
01E2 .dbline 50
01E2 2224 clr R2
01E4 2EBC out 0x2e,R2
01E6 .dbline 51
01E6 8CEF ldi R24,252
01E8 8DBD out 0x2d,R24
01EA .dbline 52
01EA 88E1 ldi R24,24
01EC 8CBD out 0x2c,R24
01EE .dbline 53
01EE 83E0 ldi R24,3
01F0 8BBD out 0x2b,R24
01F2 .dbline 54
01F2 88EE ldi R24,232
01F4 8ABD out 0x2a,R24
01F6 .dbline 55
01F6 83E0 ldi R24,3
01F8 89BD out 0x29,R24
01FA .dbline 56
01FA 88EE ldi R24,232
01FC 88BD out 0x28,R24
01FE .dbline 57
01FE 83E0 ldi R24,3
0200 87BD out 0x27,R24
0202 .dbline 58
0202 88EE ldi R24,232
0204 86BD out 0x26,R24
0206 .dbline 59
0206 2FBC out 0x2f,R2
0208 .dbline 60
0208 81E0 ldi R24,1
020A 8EBD out 0x2e,R24
020C .dbline -2
020C L49:
020C .dbline 0 ; func end
020C 0895 ret
020E .dbend
020E .dbfunc e init_devices _init_devices fV
.even
020E _init_devices::
020E .dbline -1
020E .dbline 65
020E .dbline 66
020E F894 cli
0210 .dbline 67
0210 DFDF rcall _port_init
0212 .dbline 68
0212 E7DF rcall _timer1_init
0214 .dbline 69
0214 2224 clr R2
0216 25BE out 0x35,R2
0218 .dbline 70
0218 2BBE out 0x3b,R2
021A .dbline 71
021A 84E0 ldi R24,4
021C 89BF out 0x39,R24
021E .dbline 72
021E 7894 sei
0220 .dbline -2
0220 L50:
0220 .dbline 0 ; func end
0220 0895 ret
0222 .dbend
0222 .dbfunc e sendbeyt _sendbeyt fV
0222 ; i -> R20,R21
0222 ; x -> R22
.even
0222 _sendbeyt::
0222 00D0 rcall push_gset2
0224 602F mov R22,R16
0226 .dbline -1
0226 .dbline 81
0226 .dbline 83
0226 4427 clr R20
0228 5527 clr R21
022A L52:
022A .dbline 84
022A .dbline 85
022A 919A sbi 0x12,1
022C .dbline 86
022C 01E0 ldi R16,1
022E 10E0 ldi R17,0
0230 9A01 movw R18,R20
0232 00D0 rcall lsl16
0234 262E mov R2,R22
0236 3324 clr R3
0238 2022 and R2,R16
023A 3122 and R3,R17
023C 2220 tst R2
023E 11F4 brne X1
0240 3320 tst R3
0242 11F0 breq L56
0244 X1:
0244 .dbline 87
0244 909A sbi 0x12,0
0246 01C0 rjmp L57
0248 L56:
0248 .dbline 89
0248 9098 cbi 0x12,0
024A L57:
024A .dbline 90
024A 9198 cbi 0x12,1
024C .dbline 91
024C L53:
024C .dbline 83
024C 4F5F subi R20,255 ; offset = 1
024E 5F4F sbci R21,255
0250 .dbline 83
0250 4830 cpi R20,8
0252 E0E0 ldi R30,0
0254 5E07 cpc R21,R30
0256 4CF3 brlt L52
0258 .dbline 92
0258 919A sbi 0x12,1
025A .dbline -2
025A L51:
025A 00D0 rcall pop_gset2
025C .dbline 0 ; func end
025C 0895 ret
025E .dbsym r i 20 I
025E .dbsym r x 22 c
025E .dbend
025E .dbfunc e sendFOURbeyt _sendFOURbeyt fV
.even
025E _sendFOURbeyt::
025E .dbline -1
025E .dbline 97
025E .dbline 97
025E 83E1 ldi R24,19
0260 82BB out 0x12,R24
0262 .dbline 98
0262 80E0 ldi R24,<_SEG_table
0264 90E0 ldi R25,>_SEG_table
0266 E0910E00 lds R30,_Sec_buffer
026A FF27 clr R31
026C E80F add R30,R24
026E F91F adc R31,R25
0270 0491 lpm R16,Z
0272 D7DF rcall _sendbeyt
0274 .dbline 99
0274 08EC ldi R16,200
0276 10E0 ldi R17,0
0278 87DF rcall _delay_nus
027A .dbline 100
027A 83E2 ldi R24,35
027C 82BB out 0x12,R24
027E .dbline 101
027E 80E0 ldi R24,<_SEG_table
0280 90E0 ldi R25,>_SEG_table
0282 E0910F00 lds R30,_Sec_buffer+1
0286 FF27 clr R31
0288 E80F add R30,R24
028A F91F adc R31,R25
028C 0491 lpm R16,Z
028E C9DF rcall _sendbeyt
0290 .dbline 102
0290 08EC ldi R16,200
0292 10E0 ldi R17,0
0294 79DF rcall _delay_nus
0296 .dbline 103
0296 87E0 ldi R24,7
0298 82BB out 0x12,R24
029A .dbline 104
029A 80E0 ldi R24,<_SEG_table
029C 90E0 ldi R25,>_SEG_table
029E E0911200 lds R30,_Min_buffer
02A2 FF27 clr R31
02A4 E80F add R30,R24
02A6 F91F adc R31,R25
02A8 0491 lpm R16,Z
02AA BBDF rcall _sendbeyt
02AC .dbline 105
02AC 08EC ldi R16,200
02AE 10E0 ldi R17,0
02B0 6BDF rcall _delay_nus
02B2 .dbline 106
02B2 8BE0 ldi R24,11
02B4 82BB out 0x12,R24
02B6 .dbline 107
02B6 80E0 ldi R24,<_SEG_table
02B8 90E0 ldi R25,>_SEG_table
02BA E0911300 lds R30,_Min_buffer+1
02BE FF27 clr R31
02C0 E80F add R30,R24
02C2 F91F adc R31,R25
02C4 0491 lpm R16,Z
02C6 ADDF rcall _sendbeyt
02C8 .dbline 108
02C8 08EC ldi R16,200
02CA 10E0 ldi R17,0
02CC 5DDF rcall _delay_nus
02CE .dbline 109
02CE 83E0 ldi R24,3
02D0 82BB out 0x12,R24
02D2 .dbline 110
02D2 08EC ldi R16,200
02D4 10E0 ldi R17,0
02D6 58DF rcall _delay_nus
02D8 .dbline -2
02D8 L58:
02D8 .dbline 0 ; func end
02D8 0895 ret
02DA .dbend
.area vector(rom, abs)
.org 16
0010 6DC1 rjmp _timer1_ovf_isr
.area text(rom, con, rel)
02DA .dbfile E:\biyesheji\TESTBE~1\DS1302\程序\DS1302.c
02DA .dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
.even
02DA _timer1_ovf_isr::
02DA 00D0 rcall push_lset
02DC .dbline -1
02DC .dbline 118
02DC .dbline 119
02DC C0DF rcall _sendFOURbeyt
02DE .dbline 121
02DE 8CEF ldi R24,252
02E0 8DBD out 0x2d,R24
02E2 .dbline 122
02E2 88E1 ldi R24,24
02E4 8CBD out 0x2c,R24
02E6 .dbline -2
02E6 L61:
02E6 00D0 rcall pop_lset
02E8 .dbline 0 ; func end
02E8 1895 reti
02EA .dbend
02EA .dbfunc e BINtoArray _BINtoArray fV
02EA ; temp -> R20
02EA ; i -> R22
02EA ; count -> R10,R11
02EA ; p -> R12,R13
.even
02EA _BINtoArray::
02EA 00D0 rcall push_gset4
02EC 5901 movw R10,R18
02EE 6801 movw R12,R16
02F0 .dbline -1
02F0 .dbline 128
02F0 .dbline 129
02F0 F894 cli
02F2 .dbline 130
02F2 6627 clr R22
02F4 10C0 rjmp L66
02F6 L63:
02F6 .dbline 131
02F6 .dbline 132
02F6 2AE0 ldi R18,10
02F8 30E0 ldi R19,0
02FA 8501 movw R16,R10
02FC 00D0 rcall mod16u
02FE 402F mov R20,R16
0300 .dbline 133
0300 F601 movw R30,R12
0302 4083 std z+0,R20
0304 .dbline 134
0304 2AE0 ldi R18,10
0306 30E0 ldi R19,0
0308 8501 movw R16,R10
030A 00D0 rcall div16u
030C 5801 movw R10,R16
030E .dbline 135
030E C601 movw R24,R12
0310 0196 adiw R24,1
0312 6C01 movw R12,R24
0314 .dbline 136
0314 L64:
0314 .dbline 130
0314 6395 inc R22
0316 L66:
0316 .dbline 130
0316 6430 cpi R22,4
0318 70F3 brlo L63
031A .dbline 137
031A 7894 sei
031C .dbline -2
031C L62:
031C 00D0 rcall pop_gset4
031E .dbline 0 ; func end
031E 0895 ret
0320 .dbsym r temp 20 c
0320 .dbsym r i 22 c
0320 .dbsym r count 10 i
0320 .dbsym r p 12 pc
0320 .dbend
0320 .dbfunc e main _main fV
0320 ; CO -> R20
.even
0320 _main::
0320 .dbline -1
0320 .dbline 141
0320 ; void main()
0320 ; {char CO=0;
0320 .dbline 141
0320 4427 clr R20
0322 .dbline 142
0322 ; init_devices();
0322 75DF rcall _init_devices
0324 .dbline 143
0324 ; DS1302_WriteTime(); //时间校准
0324 1ADF rcall _DS1302_WriteTime
0326 12C0 rjmp L69
0328 L68:
0328 .dbline 145
0328 .dbline 146
0328 E7DE rcall _DS1302_ReadTime
032A .dbline 147
032A 20910C00 lds R18,_second
032E 30910D00 lds R19,_second+1
0332 00E0 ldi R16,<_Sec_buffer
0334 10E0 ldi R17,>_Sec_buffer
0336 D9DF rcall _BINtoArray
0338 .dbline 148
0338 20910600 lds R18,_date
033C 30910700 lds R19,_date+1
0340 00E0 ldi R16,<_Min_buffer
0342 10E0 ldi R17,>_Min_buffer
0344 D2DF rcall _BINtoArray
0346 .dbline 149
0346 01E0 ldi R16,1
0348 10E0 ldi R17,0
034A 1EDF rcall _delay_nus
034C .dbline 150
034C L69:
034C .dbline 144
034C EDCF rjmp L68
034E X2:
034E .dbline -2
034E L67:
034E .dbline 0 ; func end
034E 0895 ret
0350 .dbsym r CO 20 c
0350 .dbend
.area bss(ram, con, rel)
0000 .dbfile E:\biyesheji\TESTBE~1\DS1302\程序\DS1302.c
0000 _year::
0000 .blkb 2
0002 .dbfile E:\biyesheji\TESTBE~1\DS1302\程序/ds1302.h
0002 .dbsym e year _year I
0002 _month::
0002 .blkb 2
0004 .dbsym e month _month I
0004 _week::
0004 .blkb 2
0006 .dbsym e week _week I
0006 _date::
0006 .blkb 2
0008 .dbsym e date _date I
0008 _hour::
0008 .blkb 2
000A .dbsym e hour _hour I
000A _minute::
000A .blkb 2
000C .dbsym e minute _minute I
000C _second::
000C .blkb 2
000E .dbsym e second _second I
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -