📄 cscj_timer1_cd.s
字号:
ldi R24,16
mul R24,R20
movw R30,R0
add R30,R2
adc R31,R3
add R30,R10
adc R31,R11
adiw R30,1
lpm R16,Z
xcall _write_data
.dbline 208
L58:
.dbline 200
inc R22
L60:
.dbline 200
cpi R22,8
brlo L57
.dbline 209
L54:
.dbline 198
inc R20
L56:
.dbline 198
cpi R20,64
brsh X2
xjmp L53
X2:
.dbline 210
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
ldi R16,54
xcall _write_com
.dbline 211
; }
ldi R16,500
ldi R17,1
xcall _delay_ms
.dbline -2
.dbline 212
; }
L44:
xcall pop_gset3
.dbline 0 ; func end
ret
.dbsym r j 20 c
.dbsym r i 22 c
.dbsym r img 10 pc
.dbend
.dbfunc e con_disp _con_disp fV
; j -> R20
; i -> R14
; x -> R22
; y0 -> R10
; x0 -> R12
; ee -> y+10
.even
_con_disp::
xcall push_arg4
xcall push_gset5
mov R12,R18
ldd R10,y+14
ldd R22,y+16
.dbline -1
.dbline 221
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 223
; }
; }
clr R20
xjmp L65
L62:
.dbline 224
; }
.dbline 225
; }
clr R14
xjmp L69
L66:
.dbline 226
.dbline 227
ldi R16,52
xcall _write_com
.dbline 228
mov R16,R10
add R16,R20
xcall _write_com
.dbline 229
mov R16,R12
add R16,R14
xcall _write_com
.dbline 230
ldi R16,48
xcall _write_com
.dbline 231
ldd R16,y+10
xcall _write_data
.dbline 232
ldd R16,y+10
xcall _write_data
.dbline 233
L67:
.dbline 225
inc R14
L69:
.dbline 225
cp R14,R22
brlo L66
.dbline 234
L63:
.dbline 223
inc R20
L65:
.dbline 223
cpi R20,16
brlo L62
.dbline 235
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
ldi R16,54
xcall _write_com
.dbline -2
.dbline 236
; }
L61:
xcall pop_gset5
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r j 20 c
.dbsym r i 14 c
.dbsym r x 22 c
.dbsym r y0 10 c
.dbsym r x0 12 c
.dbsym l ee 10 c
.dbend
.dbfunc e delay_1us _delay_1us fV
.even
_delay_1us::
.dbline -1
.dbline 246
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
.dbline 247
; }
nop
.dbline -2
.dbline 248
; }
L70:
.dbline 0 ; func end
ret
.dbend
.dbfunc e delay_us _delay_us fV
; i -> R20,R21
; n -> R22,R23
.even
_delay_us::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 251
; }
; }
; }
.dbline 252
; }
clr R20
clr R21
.dbline 253
; }
xjmp L75
L72:
.dbline 254
xcall _delay_1us
L73:
.dbline 253
subi R20,255 ; offset = 1
sbci R21,255
L75:
.dbline 253
cp R20,R22
cpc R21,R23
brlo L72
.dbline -2
.dbline 255
; }
; }
L71:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r n 22 i
.dbend
.dbfunc e delay_1ms _delay_1ms fV
; i -> R16,R17
.even
_delay_1ms::
.dbline -1
.dbline 258
; }
; }
; }
.dbline 260
clr R16
clr R17
xjmp L80
L77:
.dbline 260
L78:
.dbline 260
subi R16,255 ; offset = 1
sbci R17,255
L80:
.dbline 260
; }
; }
cpi R16,116
ldi R30,4
cpc R17,R30
brlo L77
.dbline -2
.dbline 261
; }
L76:
.dbline 0 ; func end
ret
.dbsym r i 16 i
.dbend
.dbfunc e delay_ms _delay_ms fV
; i -> R20,R21
; n -> R22,R23
.even
_delay_ms::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 264
; }
; }
; }
.dbline 265
; }
clr R20
clr R21
.dbline 266
; }
xjmp L85
L82:
.dbline 267
xcall _delay_1ms
L83:
.dbline 266
subi R20,255 ; offset = 1
sbci R21,255
L85:
.dbline 266
cp R20,R22
cpc R21,R23
brlo L82
.dbline -2
.dbline 268
; }
; }
L81:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r n 22 i
.dbend
.area vector(rom, abs)
.org 12
jmp _int2
.area text(rom, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
.area vector(rom, abs)
.org 56
jmp _timer1
.area text(rom, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
_flag::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr\cscj_timer1_cd.C
.dbsym e flag _flag c
_aa::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr\cscj_timer1_cd.C
.dbsym e aa _aa c
_s::
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr\cscj_timer1_cd.C
.dbsym e s _s i
_cscj::
.blkb 2
.area idata
.word 34
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr\cscj_timer1_cd.C
.dbsym e cscj _cscj i
.area text(rom, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr\cscj_timer1_cd.C
.dbfunc e delayus _delayus fV
; i -> R20,R21
; us -> R22,R23
.even
_delayus::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 26
.dbline 28
ldi R16,13
ldi R17,0
movw R18,R22
xcall empy16s
ldi R18,10
ldi R19,0
xcall div16u
movw R22,R16
.dbline 29
clr R20
clr R21
xjmp L90
L87:
.dbline 29
L88:
.dbline 29
subi R20,255 ; offset = 1
sbci R21,255
L90:
.dbline 29
cp R20,R22
cpc R21,R23
brlo L87
.dbline -2
.dbline 30
L86:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r us 22 i
.dbend
.dbfunc e delayms _delayms fV
; x -> R20,R21
; y -> R22,R23
; z -> R16,R17
.even
_delayms::
xcall push_gset2
.dbline -1
.dbline 39
.dbline 41
movw R20,R16
xjmp L95
L92:
.dbline 42
ldi R22,1185
ldi R23,4
xjmp L99
L96:
.dbline 42
L97:
.dbline 42
subi R22,1
sbci R23,0
L99:
.dbline 42
cpi R22,0
cpc R22,R23
brne L96
X3:
L93:
.dbline 41
subi R20,1
sbci R21,0
L95:
.dbline 41
cpi R20,0
cpc R20,R21
brne L92
X4:
.dbline -2
.dbline 43
L91:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r x 20 i
.dbsym r y 22 i
.dbsym r z 16 i
.dbend
.dbfunc e int2 _int2 fV
.even
_int2::
st -y,R16
st -y,R17
st -y,R18
st -y,R19
st -y,R24
st -y,R25
in R16,0x3f
st -y,R16
.dbline -1
.dbline 51
.dbline 52
cbi 0x17,4
.dbline 53
in R24,0x37
andi R24,251
out 0x37,R24
.dbline 54
ldi R24,1
sts _flag,R24
.dbline 55
lds R18,_cscj
lds R19,_cscj+1
lds R16,_aa
clr R17
xcall empy16s
ldi R18,20
ldi R19,0
xcall div16u
movw R24,R16
sbiw R24,8
sts _s+1,R25
sts _s,R24
.dbline -2
.dbline 56
L100:
ld R16,y+
out 0x3f,R16
ld R25,y+
ld R24,y+
ld R19,y+
ld R18,y+
ld R17,y+
ld R16,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e timer1 _timer1 fV
.even
_timer1::
st -y,R24
st -y,R25
in R24,0x3f
st -y,R24
.dbline -1
.dbline 64
.dbline 65
ldi R24,255
out 0x2d,R24
.dbline 66
ldi R24,172
out 0x2c,R24
.dbline 67
lds R24,_aa
subi R24,255 ; addi 1
sts _aa,R24
.dbline -2
.dbline 68
L101:
ld R24,y+
out 0x3f,R24
ld R25,y+
ld R24,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e int2_init _int2_init fV
.even
_int2_init::
.dbline -1
.dbline 78
.dbline 79
cbi 0x11,2
.dbline 80
sbi 0x12,2
.dbline 81
ldi R24,32
sts 106,R24
.dbline 82
in R24,0x39
ori R24,4
out 0x39,R24
.dbline 83
bset 7
.dbline -2
.dbline 84
L102:
.dbline 0 ; func end
ret
.dbend
.dbfunc e timer0_init _timer0_init fV
.even
_timer0_init::
.dbline -1
.dbline 93
.dbline 94
cbi 0x17,4
.dbline 95
in R24,0x30
andi R24,247
out 0x30,R24
.dbline 96
ldi R24,25
out 0x33,R24
.dbline 97
ldi R24,102
out 0x31,R24
.dbline -2
.dbline 99
L103:
.dbline 0 ; func end
ret
.dbend
.dbfunc e timer1_init _timer1_init fV
.even
_timer1_init::
.dbline -1
.dbline 108
.dbline 109
ldi R24,1
out 0x2e,R24
.dbline 110
ldi R24,255
out 0x2d,R24
.dbline 111
ldi R24,172
out 0x2c,R24
.dbline 112
in R24,0x37
andi R24,251
out 0x37,R24
.dbline -2
.dbline 113
L104:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
; i -> <dead>
.even
_main::
.dbline -1
.dbline 116
.dbline 118
ldi R24,255
out 0x1a,R24
.dbline 119
ldi R24,68
out 0x1b,R24
.dbline 120
xcall _int2_init
.dbline 121
xcall _timer1_init
.dbline 122
xcall _timer0_init
.dbline 123
xcall _lcd12864_init
.dbline 124
ldi R24,<L106
ldi R25,>L106
sts _line1+1,R25
sts _line1,R24
.dbline 125
ldi R24,<L107
ldi R25,>L107
sts _line2+1,R25
sts _line2,R24
.dbline 126
sbi 0x17,4
.dbline 127
in R24,0x37
ori R24,4
out 0x37,R24
xjmp L109
L108:
.dbline 129
.dbline 130
lds R24,_flag
cpi R24,1
breq X6
xjmp L111
X6:
.dbline 131
.dbline 132
clr R2
sts _flag,R2
.dbline 133
ldi R24,<L106
ldi R25,>L106
sts _line1+1,R25
sts _line1,R24
.dbline 134
ldi R24,<L107
ldi R25,>L107
sts _line2+1,R25
sts _line2,R24
.dbline 135
xcall _display
.dbline 136
ldi R24,119
out 0x1b,R24
.dbline 138
ldi R16,148
xcall _write_com
.dbline 139
ldi R18,1000
ldi R19,3
lds R16,_s
lds R17,_s+1
xcall mod16u
ldi R18,100
ldi R19,0
xcall div16u
subi R16,208 ; offset = 48
sbci R17,255
xcall _write_data
.dbline 140
ldi R18,100
ldi R19,0
lds R16,_s
lds R17,_s+1
xcall mod16u
ldi R18,10
ldi R19,0
xcall div16u
subi R16,208 ; offset = 48
sbci R17,255
xcall _write_data
.dbline 141
ldi R18,10
ldi R19,0
lds R16,_s
lds R17,_s+1
xcall mod16u
subi R16,208 ; offset = 48
sbci R17,255
xcall _write_data
.dbline 142
ldi R16,<L113
ldi R17,>L113
xcall _lcd_write
.dbline 143
ldi R16,500
ldi R17,1
xcall _delayms
.dbline 144
clr R2
out 0x1b,R2
.dbline 145
sts _aa,R2
.dbline 146
ldi R24,255
out 0x2d,R24
.dbline 147
ldi R24,172
out 0x2c,R24
.dbline 148
sbi 0x17,4
.dbline 149
in R24,0x37
ori R24,4
out 0x37,R24
.dbline 150
L111:
.dbline 151
lds R2,_flag
tst R2
brne L114
.dbline 152
.dbline 153
xcall _clear_dis
.dbline 154
L114:
.dbline 155
L109:
.dbline 128
xjmp L108
X5:
.dbline -2
.dbline 156
L105:
.dbline 0 ; func end
ret
.dbsym l i 1 c
.dbend
.area bss(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr\cscj_timer1_cd.C
_line4::
.blkb 2
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
.dbsym e line4 _line4 pc
_line3::
.blkb 2
.dbsym e line3 _line3 pc
_line2::
.blkb 2
.dbsym e line2 _line2 pc
_line1::
.blkb 2
.dbsym e line1 _line1 pc
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
L113:
.blkb 3
.area idata
.byte 'm,'m,0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
L107:
.blkb 9
.area idata
.byte 32,32,190,224,192,235,163,186,0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
L106:
.blkb 13
.area idata
.byte 188,236,178,226,181,189,213,207,176,173,206,239,0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
L34:
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\重新整理的文件\控制类\超声波检测电路\程序\avr/lcd12864.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -