📄 main.s
字号:
_DisOneHZ::
xcall push_gset2
mov R20,R18
movw R22,R16
.dbline -1
.dbline 155
; }
; }
; }
; }
; }
; }
.dbline 156
; }
mov R16,R22
xcall _Send_CMD
.dbline 157
; }
mov R16,R20
xcall _Send_DATA
.dbline -2
L45:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r Data 20 c
.dbsym r LCD_COMMAND 22 i
.dbend
.dbfunc e DisBMP _DisBMP fV
; i -> R20
; y -> R12
; j -> R10,R11
; x -> R14
; img -> R22,R23
.even
_DisBMP::
xcall push_gset5
movw R22,R16
.dbline -1
.dbline 162
;
;
;
;
;
.dbline 163
;
clr R10
clr R11
.dbline 165
;
;
clr R20
xjmp L50
L47:
.dbline 166
;
clr R12
xjmp L54
L51:
.dbline 167
;
clr R14
xjmp L58
L55:
.dbline 168
.dbline 168
ldi R16,54
xcall _Send_CMD
.dbline 169
mov R16,R12
subi R16,128 ; addi 128
xcall _Send_CMD
.dbline 170
mov R16,R14
subi R16,128 ; addi 128
add R16,R20
xcall _Send_CMD
.dbline 171
ldi R16,48
xcall _Send_CMD
.dbline 172
movw R2,R10
movw R24,R2
adiw R24,1
movw R10,R24
movw R30,R2
add R30,R22
adc R31,R23
lpm R16,Z
xcall _Send_DATA
.dbline 173
movw R2,R10
movw R24,R2
adiw R24,1
movw R10,R24
movw R30,R2
add R30,R22
adc R31,R23
lpm R16,Z
xcall _Send_DATA
.dbline 174
L56:
.dbline 167
inc R14
L58:
.dbline 167
mov R24,R14
cpi R24,8
brlo L55
L52:
.dbline 166
inc R12
L54:
.dbline 166
mov R24,R12
cpi R24,32
brsh X2
xjmp L51
X2:
L48:
.dbline 165
subi R20,248 ; addi 8
L50:
.dbline 165
cpi R20,9
brsh X3
xjmp L47
X3:
.dbline -2
L46:
xcall pop_gset5
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r y 12 c
.dbsym r j 10 i
.dbsym r x 14 c
.dbsym r img 22 pkc
.dbend
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
.dbfunc e delay_1us _delay_1us fV
.even
_delay_1us::
.dbline -1
.dbline 15
.dbline 16
nop
.dbline -2
L59:
.dbline 0 ; func end
ret
.dbend
.dbfunc e delay_nus _delay_nus fV
; i -> R20,R21
; n -> R22,R23
.even
_delay_nus::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 20
.dbline 21
clr R20
clr R21
.dbline 22
xjmp L64
L61:
.dbline 23
xcall _delay_1us
L62:
.dbline 22
subi R20,255 ; offset = 1
sbci R21,255
L64:
.dbline 22
cp R20,R22
cpc R21,R23
brlo L61
.dbline -2
L60:
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 27
.dbline 29
clr R16
clr R17
xjmp L69
L66:
.dbline 29
L67:
.dbline 29
subi R16,255 ; offset = 1
sbci R17,255
L69:
.dbline 29
cpi R16,116
ldi R30,4
cpc R17,R30
brlo L66
.dbline -2
L65:
.dbline 0 ; func end
ret
.dbsym r i 16 i
.dbend
.dbfunc e delay_nms _delay_nms fV
; i -> R20,R21
; n -> R22,R23
.even
_delay_nms::
xcall push_gset2
movw R22,R16
.dbline -1
.dbline 33
.dbline 34
clr R20
clr R21
.dbline 35
xjmp L74
L71:
.dbline 36
xcall _delay_1ms
L72:
.dbline 35
subi R20,255 ; offset = 1
sbci R21,255
L74:
.dbline 35
cp R20,R22
cpc R21,R23
brlo L71
.dbline -2
L70:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r n 22 i
.dbend
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
_Data::
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制/delay.h
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
.dbsym e Data _Data A[5:5]c
.area text(rom, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
.dbfunc e change _change fV
; p -> R20,R21
; i -> R22,R23
.even
_change::
xcall push_gset2
movw R20,R18
movw R22,R16
.dbline -1
.dbline 20
.dbline 20
ldi R18,10
ldi R19,0
movw R16,R22
xcall mod16u
movw R24,R16
adiw R24,48
movw R30,R20
std z+3,R24
.dbline 21
ldi R18,10
ldi R19,0
movw R16,R22
xcall div16u
ldi R18,10
ldi R19,0
xcall mod16u
movw R24,R16
adiw R24,48
movw R30,R20
std z+2,R24
.dbline 22
ldi R18,100
ldi R19,0
movw R16,R22
xcall div16u
ldi R18,10
ldi R19,0
xcall mod16u
movw R24,R16
adiw R24,48
movw R30,R20
std z+1,R24
.dbline 23
ldi R18,1000
ldi R19,3
movw R16,R22
xcall div16u
ldi R18,10
ldi R19,0
xcall mod16u
movw R24,R16
adiw R24,48
movw R30,R20
std z+0,R24
.dbline -2
L75:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r p 20 pc
.dbsym r i 22 i
.dbend
.dbfunc e ADC_convert _ADC_convert fi
; temp1 -> R18,R19
; temp2 -> R16,R17
.even
_ADC_convert::
.dbline -1
.dbline 27
.dbline 29
in R18,0x4
clr R19
.dbline 30
in R16,0x5
clr R17
.dbline 31
movw R2,R16
mov R3,R2
clr R2
add R2,R18
adc R3,R19
movw R16,R2
.dbline 32
.dbline -2
L76:
.dbline 0 ; func end
ret
.dbsym r temp1 18 i
.dbsym r temp2 16 i
.dbend
.dbfunc e ADC_init _ADC_init fV
.even
_ADC_init::
.dbline -1
.dbline 35
.dbline 35
ldi R24,1
out 0x7,R24
.dbline 36
in R24,0x6
ori R24,231
out 0x6,R24
.dbline -2
L77:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
; i -> R20,R21
; j -> R22,R23
.even
_main::
sbiw R28,4
.dbline -1
.dbline 42
.dbline 44
clr R2
out 0x1b,R2
.dbline 45
ldi R24,255
out 0x1a,R24
.dbline 46
ldi R24,1
out 0x18,R24
.dbline 47
ldi R24,255
out 0x17,R24
.dbline 48
out 0x15,R2
.dbline 49
out 0x14,R2
.dbline 50
out 0x12,R2
.dbline 51
ldi R24,15
out 0x11,R24
.dbline 52
out 0x3,R2
.dbline 53
ldi R24,240
out 0x2,R24
.dbline 54
sts 98,R2
.dbline 55
sts 97,R2
.dbline 56
sts 101,R2
.dbline 57
sts 100,R2
.dbline 59
xcall _LCM_init
.dbline 66
xcall _ADC_init
.dbline 68
ldi R16,10
ldi R17,0
xcall _delay_nms
xjmp L80
L79:
.dbline 72
.dbline 74
xcall _ADC_convert
movw R20,R16
.dbline 75
clr R22
clr R23
.dbline 76
ldi R18,<_Data
ldi R19,>_Data
xcall _change
.dbline 77
ldi R24,<L82
ldi R25,>L82
std y+3,R25
std y+2,R24
ldi R24,10
ldi R25,0
std y+1,R25
std y+0,R24
clr R18
clr R19
clr R16
clr R17
xcall _DisHZXY
.dbline 78
ldi R24,<_Data
ldi R25,>_Data
std y+3,R25
std y+2,R24
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,1
ldi R19,0
ldi R16,3
ldi R17,0
xcall _DisHZXY
.dbline 79
ldi R24,650
ldi R25,2
cp R24,R20
cpc R25,R21
brsh L83
.dbline 80
.dbline 80
ldi R24,<L85
ldi R25,>L85
std y+3,R25
std y+2,R24
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,3
ldi R19,0
ldi R16,2
ldi R17,0
xcall _DisHZXY
.dbline 81
sbi 0x1b,2
.dbline 82
sbi 0x15,6
xjmp L87
L86:
.dbline 84
.dbline 85
sbi 0x1b,3
.dbline 86
ldi R16,17
ldi R17,0
xcall _delay_nus
.dbline 87
cbi 0x1b,3
.dbline 88
ldi R16,17
ldi R17,0
xcall _delay_nus
.dbline 89
subi R22,255 ; offset = 1
sbci R23,255
.dbline 90
L87:
.dbline 83
ldi R24,2000
ldi R25,7
cp R24,R22
cpc R25,R23
brsh L86
.dbline 91
cbi 0x15,6
.dbline 92
xjmp L84
L83:
.dbline 93
cpi R20,200
ldi R30,0
cpc R21,R30
brsh L89
ldi R24,100
ldi R25,0
cp R24,R20
cpc R25,R21
brsh L89
.dbline 94
.dbline 94
ldi R24,<L91
ldi R25,>L91
std y+3,R25
std y+2,R24
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,3
ldi R19,0
ldi R16,2
ldi R17,0
xcall _DisHZXY
.dbline 95
cbi 0x1b,2
.dbline 96
sbi 0x15,6
xjmp L93
L92:
.dbline 98
.dbline 99
sbi 0x1b,3
.dbline 100
ldi R16,17
ldi R17,0
xcall _delay_nus
.dbline 101
cbi 0x1b,3
.dbline 102
ldi R16,17
ldi R17,0
xcall _delay_nus
.dbline 103
subi R22,255 ; offset = 1
sbci R23,255
.dbline 104
L93:
.dbline 97
ldi R24,2000
ldi R25,7
cp R24,R22
cpc R25,R23
brsh L92
.dbline 105
cbi 0x15,6
.dbline 106
xjmp L90
L89:
.dbline 108
ldi R24,<L95
ldi R25,>L95
std y+3,R25
std y+2,R24
ldi R24,4
ldi R25,0
std y+1,R25
std y+0,R24
ldi R18,3
ldi R19,0
ldi R16,2
ldi R17,0
xcall _DisHZXY
L90:
L84:
.dbline 109
L80:
.dbline 71
xjmp L79
X4:
.dbline -2
L78:
adiw R28,4
.dbline 0 ; func end
ret
.dbsym r i 20 i
.dbsym r j 22 i
.dbend
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L95:
.blkb 5
.area idata
.byte 205,163,214,185,0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L91:
.blkb 5
.area idata
.byte 183,180,215,170,0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L85:
.blkb 5
.area idata
.byte 213,253,215,170,0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
L82:
.blkb 11
.area idata
.byte 'A,'D,178,226,202,212,179,204,208,242,0
.area data(ram, con, rel)
.dbfile E:\单片机\PROJECT\高精度三维太阳自动跟踪器\程序\传感器控制\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -