📄 adc.s
字号:
.dbline 156
clr R22
xjmp L23
L20:
.dbline 157
.dbline 158
movw R30,R20
elpm R10,Z
.dbline 159
out 0x1b,R10
.dbline 160
lds R24,101
ori R24,4
sts 101,R24
.dbline 161
ldi R16,50
ldi R17,0
xcall _s_ms
.dbline 162
lds R24,101
andi R24,251
sts 101,R24
.dbline 163
subi R20,255 ; offset = 1
sbci R21,255
.dbline 164
L21:
.dbline 156
inc R22
L23:
.dbline 156
cpi R22,16
brlo L20
X3:
.dbline 165
ldi R16,192
xcall _writecom
.dbline 167
lds R24,101
ori R24,1
sts 101,R24
.dbline 168
lds R24,101
andi R24,253
sts 101,R24
.dbline 169
ldi R16,50
ldi R17,0
xcall _s_ms
.dbline 170
clr R22
xjmp L27
L24:
.dbline 171
.dbline 172
movw R30,R20
elpm R10,Z
.dbline 173
out 0x1b,R10
.dbline 174
lds R24,101
ori R24,4
sts 101,R24
.dbline 175
ldi R16,50
ldi R17,0
xcall _s_ms
.dbline 176
lds R24,101
andi R24,251
sts 101,R24
.dbline 177
subi R20,255 ; offset = 1
sbci R21,255
.dbline 178
L25:
.dbline 170
inc R22
L27:
.dbline 170
cpi R22,16
brlo L24
X4:
.dbline -2
L19:
.dbline 0 ; func end
xjmp pop_xgsetF00C
.dbsym r t 10 c
.dbsym r i 22 c
.dbsym r pBuffer 20 pkc
.dbend
.dbfunc e WriteNum _WriteNum fV
; num -> y+4
; col -> R22
; row -> R20
.even
_WriteNum::
xcall push_xgsetF000
mov R22,R18
mov R20,R16
.dbline -1
.dbline 188
.dbline 189
cpi R20,1
brne L29
X5:
.dbline 189
mov R20,R22
subi R20,128 ; addi 128
xjmp L30
L29:
.dbline 190
mov R20,R22
subi R20,64 ; addi 192
L30:
.dbline 191
mov R16,R20
xcall _writecom
.dbline 193
lds R24,101
ori R24,1
sts 101,R24
.dbline 194
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 195
lds R24,101
andi R24,253
sts 101,R24
.dbline 196
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 197
ldd R0,y+4
out 0x1b,R0
.dbline 198
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 199
lds R24,101
ori R24,4
sts 101,R24
.dbline 200
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 201
lds R24,101
andi R24,251
sts 101,R24
.dbline 202
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline -2
L28:
.dbline 0 ; func end
xjmp pop_xgsetF000
.dbsym l num 4 c
.dbsym r col 22 c
.dbsym r row 20 c
.dbend
.dbfunc e WriteChar _WriteChar fV
; t -> R12
; i -> R10
; pBuffer -> R20,R21
; num -> y+8
; col -> R10
; row -> R22
.even
_WriteChar::
xcall push_xgsetF03C
mov R10,R18
mov R22,R16
ldd R20,y+10
ldd R21,y+11
.dbline -1
.dbline 212
.dbline 214
cpi R22,1
brne L32
X6:
.dbline 214
mov R22,R10
subi R22,128 ; addi 128
xjmp L33
L32:
.dbline 215
mov R22,R10
subi R22,64 ; addi 192
L33:
.dbline 216
mov R16,R22
xcall _writecom
.dbline 219
lds R24,101
ori R24,1
sts 101,R24
.dbline 220
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 221
lds R24,101
andi R24,253
sts 101,R24
.dbline 222
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 223
ldd R10,y+8
xjmp L37
L34:
.dbline 224
.dbline 225
movw R30,R20
ldd R12,z+0
.dbline 226
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 227
out 0x1b,R12
.dbline 228
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 229
lds R24,101
ori R24,4
sts 101,R24
.dbline 230
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 231
lds R24,101
andi R24,251
sts 101,R24
.dbline 232
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 233
subi R20,255 ; offset = 1
sbci R21,255
.dbline 234
L35:
.dbline 223
dec R10
L37:
.dbline 223
tst R10
brne L34
X7:
.dbline -2
L31:
.dbline 0 ; func end
xjmp pop_xgsetF03C
.dbsym r t 12 c
.dbsym r i 10 c
.dbsym r pBuffer 20 pc
.dbsym l num 8 i
.dbsym r col 10 c
.dbsym r row 22 c
.dbend
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wdd\桌面\模数转换\1602.h
_adc_0::
.blkb 12
.area idata
.byte 'A,'D,'C,95,48,58,32,46,32,32,'V,0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wdd\桌面\模数转换\1602.h
.dbfile C:\DOCUME~1\wdd\桌面\模数转换\ADC.c
.dbsym e adc_0 _adc_0 A[12:12]c
_adc_1::
.blkb 12
.area idata
.byte 'A,'D,'C,95,49,58,32,46,32,32,'V,0
.area data(ram, con, rel)
.dbfile C:\DOCUME~1\wdd\桌面\模数转换\ADC.c
.dbsym e adc_1 _adc_1 A[12:12]c
.area text(rom, con, rel)
.dbfile C:\DOCUME~1\wdd\桌面\模数转换\ADC.c
.dbfunc e main _main fI
; ten_4 -> <dead>
; adc_h1 -> R12,R13
; adc_l1 -> R10,R11
; adc_h0 -> R12,R13
; adc_l0 -> R10,R11
; ten_1 -> R20
; adc_data1 -> R12,R13
; adc_data0 -> R20,R21
; ten_2 -> R22
; ten_3 -> R10
; i -> R20
.even
_main::
sbiw R28,4
.dbline -1
.dbline 16
.dbline 19
ldi R24,255
out 0x1a,R24
.dbline 20
clr R2
out 0x1b,R2
.dbline 21
out 0x17,R24
.dbline 22
out 0x11,R24
.dbline 23
out 0x12,R2
.dbline 24
sts 97,R2
.dbline 25
sts 98,R2
.dbline 26
sts 100,R24
.dbline 27
sts 101,R24
.dbline 29
xcall _LcdInit
.dbline 30
ldi R24,<_adc_0
ldi R25,>_adc_0
std y+3,R25
std y+2,R24
ldi R24,11
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,2
ldi R16,1
xcall _WriteChar
.dbline 31
ldi R24,<_adc_1
ldi R25,>_adc_1
std y+3,R25
std y+2,R24
ldi R24,11
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,2
ldi R16,2
xcall _WriteChar
xjmp L40
L39:
.dbline 33
.dbline 35
clr R2
out 0x6,R2
.dbline 36
ldi R24,64
out 0x7,R24
.dbline 37
ldi R24,231
out 0x6,R24
.dbline 38
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 39
in R10,0x4
clr R11
.dbline 40
in R12,0x5
clr R13
.dbline 41
movw R20,R12
mov R21,R20
clr R20
or R20,R10
or R21,R11
.dbline 42
lsr R21
ror R20
.dbline 43
subi R20,35
sbci R21,0
.dbline 45
clr R2
out 0x6,R2
.dbline 46
ldi R24,65
out 0x7,R24
.dbline 47
ldi R24,231
out 0x6,R24
.dbline 48
ldi R16,500
ldi R17,1
xcall _s_ms
.dbline 49
in R10,0x4
clr R11
.dbline 50
in R12,0x5
clr R13
.dbline 51
movw R2,R12
mov R3,R2
clr R2
or R2,R10
or R3,R11
movw R12,R2
.dbline 52
lsr R13
ror R12
.dbline 53
movw R24,R12
sbiw R24,35
movw R12,R24
.dbline 57
ldi R18,100
ldi R19,0
movw R16,R20
xcall div16u
mov R10,R16
.dbline 58
ldi R24,100
mul R24,R10
movw R16,R20
sub R16,R0
sbc R17,R1
ldi R18,10
ldi R19,0
xcall div16u
mov R22,R16
.dbline 59
ldi R24,100
mul R24,R10
movw R2,R20
sub R2,R0
sbc R3,R1
ldi R24,10
mul R24,R22
sub R2,R0
sbc R3,R1
mov R20,R2
.dbline 60
subi R20,208 ; addi 48
.dbline 61
subi R22,208 ; addi 48
.dbline 62
mov R24,R10
subi R24,208 ; addi 48
mov R10,R24
.dbline 63
std y+0,R10
ldi R18,8
ldi R16,1
xcall _WriteNum
.dbline 64
std y+0,R22
ldi R18,10
ldi R16,1
xcall _WriteNum
.dbline 65
std y+0,R20
ldi R18,11
ldi R16,1
xcall _WriteNum
.dbline 67
ldi R18,100
ldi R19,0
movw R16,R12
xcall div16u
mov R10,R16
.dbline 68
ldi R24,100
mul R24,R10
movw R16,R12
sub R16,R0
sbc R17,R1
ldi R18,10
ldi R19,0
xcall div16u
mov R22,R16
.dbline 69
ldi R24,100
mul R24,R10
mov R20,R12
sub R20,R0
sbc R21,R1
ldi R24,10
mul R24,R22
sub R20,R0
sbc R21,R1
.dbline 70
subi R20,208 ; addi 48
.dbline 71
subi R22,208 ; addi 48
.dbline 72
mov R24,R10
subi R24,208 ; addi 48
mov R10,R24
.dbline 73
std y+0,R10
ldi R18,8
ldi R16,2
xcall _WriteNum
.dbline 74
std y+0,R22
ldi R18,10
ldi R16,2
xcall _WriteNum
.dbline 75
std y+0,R20
ldi R18,11
ldi R16,2
xcall _WriteNum
.dbline 77
clr R20
xjmp L45
L42:
.dbline 78
.dbline 79
ldi R16,60000
ldi R17,234
xcall _s_ms
.dbline 80
L43:
.dbline 77
inc R20
L45:
.dbline 77
cpi R20,18
brlo L42
X8:
.dbline 81
L40:
.dbline 32
xjmp L39
X9:
.dbline -2
L38:
.dbline 0 ; func end
adiw R28,4
ret
.dbsym l ten_4 5 c
.dbsym r adc_h1 12 i
.dbsym r adc_l1 10 i
.dbsym r adc_h0 12 i
.dbsym r adc_l0 10 i
.dbsym r ten_1 20 c
.dbsym r adc_data1 12 i
.dbsym r adc_data0 20 i
.dbsym r ten_2 22 c
.dbsym r ten_3 10 c
.dbsym r i 20 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -