📄 bt.s
字号:
.dbsym r dat 22 i
.dbend
.area data(ram, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao/bt.h
_mm::
.blkb 2
.area idata
.byte 191,191
.area data(ram, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao/bt.h
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.dbsym e mm _mm A[2:2]c
_date::
.blkb 1
.area idata
.byte 1
.area data(ram, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.blkb 8
.area idata
.byte 0,0,0,0,0,0,0,0
.area data(ram, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.dbsym e date _date A[9:9]c
_win::
.blkb 1
.area idata
.byte 1
.area data(ram, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.dbsym e win _win c
_xian::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.dbsym e xian _xian c
.area text(rom, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.dbfunc e adc_init _adc_init fV
.even
_adc_init::
.dbline -1
.dbline 44
.dbline 45
clr R2
out 0x6,R2
.dbline 46
ldi R24,64
out 0x7,R24
.dbline 47
ldi R24,128
out 0x8,R24
.dbline 48
ldi R24,199
out 0x6,R24
.dbline -2
L67:
.dbline 0 ; func end
ret
.dbend
.dbfunc e cw _cw fi
; mux -> R20
.even
_cw::
rcall push_gset1
mov R20,R16
.dbline -1
.dbline 54
.dbline 55
mov R24,R20
andi R24,15
ori R24,64
out 0x7,R24
.dbline 56
sbi 0x6,6
.dbline 57
ldi R16,500
ldi R17,1
rcall _del
.dbline 58
in R16,0x4
in R17,0x5
.dbline -2
L68:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r mux 20 c
.dbend
.dbfunc e cw1 _cw1 fi
; a -> y+4
; adc_rel -> y+0
; i -> R10
; mux -> R12
.even
_cw1::
rcall push_gset4
mov R12,R16
sbiw R28,8
.dbline -1
.dbline 62
.dbline 65
clr R10
rjmp L73
L70:
.dbline 66
.dbline 67
mov R16,R12
rcall _cw
movw R2,R16
clr R4
clr R5
movw R30,R28
ldd R6,z+0
ldd R7,z+1
ldd R8,z+2
ldd R9,z+3
add R6,R2
adc R7,R3
adc R8,R4
adc R9,R5
movw R30,R28
std z+0,R6
std z+1,R7
std z+2,R8
std z+3,R9
.dbline 68
wdr
.dbline 69
L71:
.dbline 65
inc R10
L73:
.dbline 65
mov R24,R10
cpi R24,100
brlo L70
.dbline 70
movw R30,R28
ldd R2,z+0
ldd R3,z+1
ldd R4,z+2
ldd R5,z+3
movw R30,R28
std z+4,R2
std z+5,R3
std z+6,R4
std z+7,R5
.dbline 71
ldi R20,0
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
std z+0,R20
std z+1,R21
std z+2,R22
std z+3,R23
.dbline 72
ldi R20,100
ldi R21,0
ldi R22,0
ldi R23,0
movw R30,R28
ldd R2,z+4
ldd R3,z+5
ldd R4,z+6
ldd R5,z+7
st -y,R23
st -y,R22
st -y,R21
st -y,R20
movw R16,R2
movw R18,R4
rcall div32u
.dbline -2
L69:
adiw R28,8
rcall pop_gset4
.dbline 0 ; func end
ret
.dbsym l a 4 l
.dbsym l adc_rel 0 l
.dbsym r i 10 c
.dbsym r mux 12 c
.dbend
.dbfunc e timer1_init _timer1_init fV
.even
_timer1_init::
.dbline -1
.dbline 81
.dbline 82
clr R2
out 0x2e,R2
.dbline 83
ldi R24,240
out 0x2d,R24
.dbline 84
ldi R24,190
out 0x2c,R24
.dbline 85
ldi R24,7
out 0x2b,R24
.dbline 86
ldi R24,161
out 0x2a,R24
.dbline 87
ldi R24,7
out 0x29,R24
.dbline 88
ldi R24,161
out 0x28,R24
.dbline 89
ldi R24,7
out 0x27,R24
.dbline 90
ldi R24,161
out 0x26,R24
.dbline 91
out 0x2f,R2
.dbline 92
ldi R24,5
out 0x2e,R24
.dbline -2
L74:
.dbline 0 ; func end
ret
.dbend
.dbfunc e watchdog_init _watchdog_init fV
.even
_watchdog_init::
.dbline -1
.dbline 99
.dbline 100
wdr
.dbline 101
ldi R24,14
out 0x21,R24
.dbline -2
L75:
.dbline 0 ; func end
ret
.dbend
.dbfunc e init_devices _init_devices fV
.even
_init_devices::
.dbline -1
.dbline 106
.dbline 108
cli
.dbline 109
rcall _port_init
.dbline 110
rcall _watchdog_init
.dbline 111
rcall _timer1_init
.dbline 112
rcall _adc_init
.dbline 114
clr R2
out 0x35,R2
.dbline 115
out 0x3b,R2
.dbline 116
ldi R24,4
out 0x39,R24
.dbline 117
sei
.dbline -2
L76:
.dbline 0 ; func end
ret
.dbend
.area vector(rom, abs)
.org 26
rjmp _timer1_ovf_isr
.area text(rom, con, rel)
.dbfile D:\ele\AVR\ICC\cp\biaotao\bt.c
.dbfunc e timer1_ovf_isr _timer1_ovf_isr fV
.even
_timer1_ovf_isr::
rcall push_lset
.dbline -1
.dbline 127
.dbline 129
lds R24,_t
subi R24,255 ; addi 1
sts _t,R24
.dbline 130
lds R2,_dp
com R2
sts _dp,R2
.dbline 131
cpi R24,2
breq X0
rjmp L78
X0:
.dbline 132
.dbline 133
clr R2
sts _t,R2
.dbline 133
lds R24,_s
subi R24,255 ; addi 1
sts _s,R24
.dbline 133
lds R24,_s1
subi R24,255 ; addi 1
sts _s1,R24
.dbline 134
lds R24,_s
cpi R24,60
breq X1
rjmp L80
X1:
.dbline 135
.dbline 136
lds R24,_date+2
subi R24,255 ; addi 1
sts _date+2,R24
.dbline 136
lds R24,_m1
subi R24,255 ; addi 1
sts _m1,R24
.dbline 136
sts _s,R2
.dbline 137
lds R18,_date+2
ldi R16,23
ldi R17,0
rcall _EEPROMwrite
.dbline 138
ldi R24,59
lds R2,_date+2
cp R24,R2
brsh L84
.dbline 139
.dbline 140
clr R2
sts _date+2,R2
.dbline 140
lds R24,_date+1
subi R24,255 ; addi 1
sts _date+1,R24
.dbline 140
ldi R18,400
ldi R19,1
ldi R16,500
ldi R17,1
rcall _bee
.dbline 141
ldi R24,23
lds R2,_date+1
cp R24,R2
brsh L89
.dbline 141
clr R2
sts _date+1,R2
L89:
.dbline 142
lds R18,_date+2
ldi R16,23
ldi R17,0
rcall _EEPROMwrite
.dbline 142
lds R18,_date+1
ldi R16,21
ldi R17,0
rcall _EEPROMwrite
.dbline 143
L84:
.dbline 144
lds R2,_date+3
lds R3,_date+1
cp R3,R2
brne L95
lds R2,_date+4
lds R3,_date+2
cp R3,R2
brne L95
ldi R17,2
lds R16,_date
rcall mod8u
cpi R16,1
brne L95
.dbline 145
.dbline 145
ldi R24,1
sts _start,R24
.dbline 145
ldi R18,400
ldi R19,1
ldi R16,1000
ldi R17,3
rcall _bee
.dbline 145
L95:
.dbline 146
L80:
.dbline 147
L78:
.dbline 148
ldi R24,240
out 0x2d,R24
.dbline 149
ldi R24,190
out 0x2c,R24
.dbline -2
L77:
rcall pop_lset
.dbline 0 ; func end
reti
.dbend
.dbfunc e a _a fV
.even
_a::
.dbline -1
.dbline 160
;
;
; void a(void) ///*********///
; {
.dbline 161
; tm[3]=date[1]/10; tm[2]=date[1]%10; tm[1]=date[2]/10; tm[0]=date[2]%10;
ldi R17,10
lds R16,_date+1
rcall div8u
sts _tm+3,R16
.dbline 161
ldi R17,10
lds R16,_date+1
rcall mod8u
sts _tm+2,R16
.dbline 161
ldi R17,10
lds R16,_date+2
rcall div8u
sts _tm+1,R16
.dbline 161
ldi R17,10
lds R16,_date+2
rcall mod8u
sts _tm,R16
.dbline 162
; if(date[1]<10) tm[3]=11;
lds R24,_date+1
cpi R24,10
brsh L109
.dbline 162
ldi R24,11
sts _tm+3,R24
L109:
.dbline 163
; if(((s%3)==0)&&(win%2==0)) tm[3]=tm[2]=tm[1]=tm[0]=10;
ldi R17,3
lds R16,_s
rcall mod8u
tst R16
brne L113
ldi R17,2
lds R16,_win
rcall mod8u
tst R16
brne L113
.dbline 163
ldi R24,10
sts _tm,R24
sts _tm+1,R24
sts _tm+2,R24
sts _tm+3,R24
L113:
.dbline 164
; a11;DAT(shu[tm[0]]);del(1000);a10;DAT(0xff);del(5);WDR();
sbi 0x18,2
.dbline 164
ldi R24,<_shu
ldi R25,>_shu
lds R30,_tm
clr R31
add R30,R24
adc R31,R25
ldd R16,z+0
rcall _DAT
.dbline 164
ldi R16,1000
ldi R17,3
rcall _del
.dbline 164
cbi 0x18,2
.dbline 164
ldi R16,255
rcall _DAT
.dbline 164
ldi R16,5
ldi R17,0
rcall _del
.dbline 164
wdr
.dbline 165
; a21;DAT(shu[tm[1]]);del(1000);a20;DAT(0xff);del(5);WDR();
sbi 0x18,3
.dbline 165
ldi R24,<_shu
ldi R25,>_shu
lds R30,_tm+1
clr R31
add R30,R24
adc R31,R25
ldd R16,z+0
rcall _DAT
.dbline 165
ldi R16,1000
ldi R17,3
rcall _del
.dbline 165
cbi 0x18,3
.dbline 165
ldi R16,255
rcall _DAT
.dbline 165
ldi R16,5
ldi R17,0
rcall _del
.dbline 165
wdr
.dbline 166
; if(dp==0) {a31;DAT(shu[tm[2]]);del(1000);a30;DAT(0xff);del(5);WDR();}
lds R2,_dp
tst R2
brne L119
.dbline 166
.dbline 166
sbi 0x15,0
.dbline 166
ldi R24,<_shu
ldi R25,>_shu
lds R30,_tm+2
clr R31
add R30,R24
adc R31,R25
ldd R16,z+0
rcall _DAT
.dbline 166
ldi R16,1000
ldi R17,3
rcall _del
.dbline 166
cbi 0x15,0
.dbline 166
ldi R16,255
rcall _DAT
.dbline 166
ldi R16,5
ldi R17,0
rcall _del
.dbline 166
wdr
.dbline 166
rjmp L120
L119:
.dbline 167
; else {a31;DAT(shu[tm[2]]&=~0x80);del(1000);a30;DAT(0xff);del(5);WDR();}
.dbline 167
sbi 0x15,0
.dbline 167
ldi R24,<_shu
ldi R25,>_shu
lds R2,_tm+2
clr R3
add R2,R24
adc R3,R25
movw R30,R2
ldd R24,z+0
andi R24,127
mov R4,R24
std z+0,R4
mov R16,R24
rcall _DAT
.dbline 167
ldi R16,1000
ldi R17,3
rcall _del
.dbline 167
cbi 0x15,0
.dbline 167
ldi R16,255
rcall _DAT
.dbline 167
ldi R16,5
ldi R17,0
rcall _del
.dbline 167
wdr
.dbline 167
L120:
.dbline 168
; a41;DAT(shu[tm[3]]);del(1000);a40;DAT(0xff);del(5);WDR();
sbi 0x15,3
.dbline 168
ldi R24,<_shu
ldi R25,>_shu
lds R30,_tm+3
clr R31
add R30,R24
adc R31,R25
ldd R16,z+0
rcall _DAT
.dbline 168
ldi R16,1000
ldi R17,3
rcall _del
.dbline 168
cbi 0x15,3
.dbline 168
ldi R16,255
rcall _DAT
.dbline 168
ldi R16,5
ldi R17,0
rcall _del
.dbline 168
wdr
.dbline -2
L101:
.dbline 0 ; func end
ret
.dbend
.dbfunc e a1 _a1 fV
.even
_a1::
.dbline -1
.dbline 174
; }
;
;
;
; void a1(void) ///*********///
; {
.dbline 175
; tm[3]=m1/10; tm[2]=m1%10; tm[1]=s/10; tm[0]=s%10;
ldi R17,10
lds R16,_m1
rcall div8u
sts _tm+3,R16
.dbline 175
ldi R17,10
lds R16,_m1
rcall mod8u
sts _tm+2,R16
.dbline 175
ldi R17,10
lds R16,_s
rcall div8u
sts _tm+1,R16
.dbline 175
ldi R17,10
lds R16,_s
rcall mod8u
sts _tm,R16
.dbline 176
; i=3;
ldi R24,3
sts _i,R24
rjmp L129
L128:
.dbline 178
.dbline 178
ldi R24,<_tm
ldi R25,>_tm
lds R30,_i
clr R31
add R30,R24
adc R31,R25
ldi R24,11
std z+0,R24
.dbline 178
lds R24,_i
subi R24,1
sts _i,R24
.dbline 178
L129:
.dbline 177
; while(i>0&&tm[i]==0)
clr R2
lds R3,_i
cp R2,R3
brsh L131
ldi R24,<_tm
ldi R25,>_tm
mov R30,R3
clr R31
add R30,R24
adc R31,R25
ldd R2,z+0
tst R2
breq L128
L131:
.dbline 179
; {tm[i]=11;i--;}
; A();
rcall _A
.dbline -2
L124:
.dbline 0 ; func end
ret
.dbend
.dbfunc e read _read fV
.even
_read::
.dbline -1
.dbline 184
; }
;
;
; void read(void)
; {
.dbline 186
;
; date[0]=EEPROMread(19); WDR(); // en
ldi R16,19
ldi R17,0
rcall _EEPROMread
sts _date,R16
.dbline 186
wdr
.dbline 187
; date[1]=EEPROMread(21); WDR(); // hour
ldi R16,21
ldi R17,0
rcall _EEPROMread
sts _date+1,R16
.dbline 187
wdr
.dbline 188
; date[2]=EEPROMread(23); WDR(); // min
ldi R16,23
ldi R17,0
rcall _EEPROMread
sts _date+2,R16
.dbline 188
wdr
.dbline 189
; date[3]=EEPROMread(25); WDR(); // set h
ldi R16,25
ldi R17,0
rcall _EEPROMread
sts _date+3,R16
.dbline 189
wdr
.dbline 190
; date[4]=EEPROMread(27); WDR(); // set m
ldi R16,27
ldi R17,0
rcall _EEPROMread
sts _date+4,R16
.dbline 190
wdr
.dbline 191
; date[5]=EEPROMread(29); WDR(); // long
ldi R16,29
ldi R17,0
rcall _EEPROMread
sts _date+5,R16
.dbline 191
wdr
.dbline 192
; date[6]=EEPROMread(31); WDR(); // bee
ldi R16,31
ldi R17,0
rcall _EEPROMread
sts _date+6,R16
.dbline 192
wdr
.dbline 193
; date[7]=EEPROMread(33); WDR(); //win
ldi R16,33
ldi R17,0
rcall _EEPROMread
sts _date+7,R16
.dbline 193
wdr
.dbline -2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -