📄 motor.s
字号:
brne L36
.dbline 222
; } //main函数结
.dbline 222
xjmp L35
L36:
.dbline 223
; } //main函数结
ldi R24,85
out 0x1b,R24
.dbline 224
; } //main函数结
ldi R16,250
ldi R17,0
xcall _delay_ms
.dbline 225
; } //main函数结
ldi R24,170
out 0x1b,R24
.dbline 226
; } //main函数结
ldi R16,250
ldi R17,0
xcall _delay_ms
.dbline 227
; } //main函数结
in R22,0x16
andi R22,240
.dbline 228
; } //main函数结
cpi R22,16
breq L42
cpi R22,32
breq L42
cpi R22,64
breq L42
cpi R22,128
brne L38
L42:
.dbline 229
; } //main函数结
.dbline 229
xjmp L35
L38:
.dbline 230
L34:
.dbline 218
xjmp L33
L35:
.dbline 231
L31:
.dbline -2
L17:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r sw_in 20 c
.dbsym r remote_in 22 c
.dbend
.dbfunc e mic_startup _mic_startup fV
; mic_in -> R16
.even
_mic_startup::
.dbline -1
.dbline 235
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
xjmp L45
L44:
.dbline 238
; } //main函数结
; } //main函数结
; } //main函数结
.dbline 239
; } //main函数结
in R16,0x16
andi R16,4
.dbline 240
; } //main函数结
brne L47
.dbline 240
.dbline 240
xjmp L46
L47:
.dbline 241
L45:
.dbline 237
xjmp L44
L46:
.dbline -2
L43:
.dbline 0 ; func end
ret
.dbsym r mic_in 16 c
.dbend
.dbfunc e remote_auto_time _remote_auto_time fV
; remote_in -> R16
.even
_remote_auto_time::
.dbline -1
.dbline 259
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
; } //main函数结
.dbline 261
; } //main函数结
; } //main函数结
in R16,0x16
andi R16,240
.dbline 262
; } //main函数结
clr R17
cpi R16,32
ldi R30,0
cpc R17,R30
breq L53
ldi R24,32
ldi R25,0
cp R24,R16
cpc R25,R17
brlt L67
L66:
cpi R16,0
cpc R16,R17
brne X4
xjmp L51
X4:
X2:
cpi R16,0
ldi R30,0
cpc R17,R30
brge X5
xjmp L50
X5:
L68:
cpi R16,16
ldi R30,0
cpc R17,R30
brne X6
xjmp L59
X6:
xjmp L50
L67:
cpi R16,64
ldi R30,0
cpc R17,R30
breq L56
cpi R16,64
ldi R30,0
cpc R17,R30
brge X7
xjmp L50
X7:
L69:
cpi R16,128
ldi R30,0
cpc R17,R30
brne X8
xjmp L62
X8:
xjmp L50
X3:
.dbline 263
; } //main函数结
L53:
.dbline 265
; } //main函数结
; } //main函数结
lds R24,_delay_time2
lds R25,_delay_time2+1
sbiw R24,50
sts _delay_time2+1,R25
sts _delay_time2,R24
.dbline 266
; } //main函数结
cpi R24,50
ldi R30,0
cpc R25,R30
breq X9
xjmp L51
X9:
.dbline 267
; } //main函数结
.dbline 267
ldi R24,100
ldi R25,0
sts _delay_time2+1,R25
sts _delay_time2,R24
.dbline 267
.dbline 268
; } //main函数结
xjmp L51
L56:
.dbline 270
; } //main函数结
; } //main函数结
lds R24,_delay_time1
lds R25,_delay_time1+1
adiw R24,50
sts _delay_time1+1,R25
sts _delay_time1,R24
.dbline 271
; } //main函数结
cpi R24,2
ldi R30,8
cpc R25,R30
brne L51
.dbline 272
; } //main函数结
.dbline 272
ldi R24,2000
ldi R25,7
sts _delay_time1+1,R25
sts _delay_time1,R24
.dbline 272
.dbline 273
; } //main函数结
xjmp L51
L59:
.dbline 275
; } //main函数结
; } //main函数结
lds R24,_delay_time1
lds R25,_delay_time1+1
sbiw R24,50
sts _delay_time1+1,R25
sts _delay_time1,R24
.dbline 276
; } //main函数结
cpi R24,50
ldi R30,0
cpc R25,R30
brne L51
.dbline 277
; } //main函数结
.dbline 277
ldi R24,100
ldi R25,0
sts _delay_time1+1,R25
sts _delay_time1,R24
.dbline 277
.dbline 278
; } //main函数结
xjmp L51
L62:
.dbline 280
; } //main函数结
; } //main函数结
lds R24,_delay_time2
lds R25,_delay_time2+1
adiw R24,50
sts _delay_time2+1,R25
sts _delay_time2,R24
.dbline 281
; } //main函数结
cpi R24,2
ldi R30,8
cpc R25,R30
brne L51
.dbline 282
; } //main函数结
.dbline 282
ldi R24,2000
ldi R25,7
sts _delay_time2+1,R25
sts _delay_time2,R24
.dbline 282
.dbline 283
; } //main函数结
.dbline 285
; } //main函数结
; } //main函数结
L50:
L51:
.dbline -2
L49:
.dbline 0 ; func end
ret
.dbsym r remote_in 16 c
.dbend
.area vector(rom, abs)
.org 32
jmp _timer1
.area text(rom, con, rel)
.dbfile D:/icc/include/diy0206.c
.area lit(rom, con, rel)
_loc_angle::
.word 500
.word 1000
.word 1500
.word 2000
.word 2308
.word 2000
.word 1500
.word 1000
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\舵机\motor.c
.dbsym e loc_angle _loc_angle A[16:8]ki
.area data(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\舵机\motor.c
_pwm_number::
.blkb 1
.area idata
.byte 0
.area data(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\舵机\motor.c
.dbsym e pwm_number _pwm_number c
_pwm_outword::
.blkb 1
.area idata
.byte 1
.area data(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\舵机\motor.c
.dbsym e pwm_outword _pwm_outword c
.area text(rom, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\舵机\motor.c
.dbfunc e timer1 _timer1 fV
.even
_timer1::
st -y,R2
st -y,R3
st -y,R24
st -y,R25
in R2,0x3f
st -y,R2
.dbline -1
.dbline 24
.dbline 26
lds R24,_pwm_outword
cpi R24,128
breq L71
.dbline 27
.dbline 29
lds R2,_delay_timeh
lds R3,_delay_timeh+1
out 0x2d,R3
out 0x2c,R2
.dbline 30
mov R2,R24
out 0x1b,R24
.dbline 31
lsl R2
sts _pwm_outword,R2
.dbline 33
xjmp L72
L71:
.dbline 35
.dbline 37
ldi R24,1
sts _pwm_outword,R24
.dbline 38
lds R2,_delay_timel
lds R3,_delay_timel+1
out 0x2d,R3
out 0x2c,R2
.dbline 39
clr R2
out 0x1b,R2
.dbline 40
lds R24,_pwm_number
subi R24,255 ; addi 1
sts _pwm_number,R24
.dbline 42
L72:
.dbline -2
L70:
ld R2,y+
out 0x3f,R2
ld R25,y+
ld R24,y+
ld R3,y+
ld R2,y+
.dbline 0 ; func end
reti
.dbend
.dbfunc e time1_init _time1_init fV
.even
_time1_init::
.dbline -1
.dbline 49
.dbline 50
clr R2
out 0x2f,R2
.dbline 51
out 0x2e,R2
.dbline 52
ldi R24,4
out 0x39,R24
.dbline 53
ldi R24,68
out 0x2d,R24
.dbline 54
out 0x2c,R24
.dbline 55
sei
.dbline 56
ldi R24,2
out 0x2e,R24
.dbline -2
L73:
.dbline 0 ; func end
ret
.dbend
.dbfunc e main _main fV
; temp -> <dead>
; i_temp -> R20
.even
_main::
.dbline -1
.dbline 60
.dbline 64
ldi R24,255
out 0x1a,R24
.dbline 65
out 0x1b,R24
.dbline 66
xcall _mic_startup
.dbline 67
clr R20
xjmp L78
L75:
.dbline 68
.dbline 69
ldi R24,255
out 0x1b,R24
.dbline 70
ldi R16,500
ldi R17,1
xcall _delay_ms
.dbline 71
clr R2
out 0x1b,R2
.dbline 72
ldi R16,500
ldi R17,1
xcall _delay_ms
.dbline 73
L76:
.dbline 67
inc R20
L78:
.dbline 67
cpi R20,10
brlo L75
.dbline 74
xcall _time1_init
xjmp L80
L79:
.dbline 76
.dbline 77
clr R20
xjmp L85
L82:
.dbline 78
.dbline 79
ldi R24,2
mul R24,R20
movw R30,R0
ldi R24,<_loc_angle
ldi R25,>_loc_angle
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ldi R24,65535
ldi R25,255
sub R24,R30
sbc R25,R31
sts _delay_timeh+1,R25
sts _delay_timeh,R24
.dbline 80
ldi R24,2
mul R24,R20
movw R30,R0
ldi R24,<_loc_angle
ldi R25,>_loc_angle
add R30,R24
adc R31,R25
lpm R18,Z+
lpm R19,Z
ldi R16,8
ldi R17,0
xcall empy16s
movw R24,R16
subi R24,32 ; offset = 45536
sbci R25,78
sts _delay_timel+1,R25
sts _delay_timel,R24
L86:
.dbline 81
L87:
.dbline 81
lds R24,_pwm_number
cpi R24,8
brlo L86
.dbline 82
clr R2
sts _pwm_number,R2
.dbline 84
L83:
.dbline 77
inc R20
L85:
.dbline 77
cpi R20,8
brlo L82
.dbline 87
L80:
.dbline 75
xjmp L79
X10:
.dbline -2
L74:
.dbline 0 ; func end
ret
.dbsym l temp 1 i
.dbsym r i_temp 20 c
.dbend
.area bss(ram, con, rel)
.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\舵机\motor.c
_delay_timeh::
.blkb 2
.dbsym e delay_timeh _delay_timeh i
_delay_timel::
.blkb 2
.dbsym e delay_timel _delay_timel i
_delay_time2::
.blkb 2
.dbfile D:/icc/include/diy0206.c
.dbsym e delay_time2 _delay_time2 i
_delay_time1::
.blkb 2
.dbsym e delay_time1 _delay_time1 i
_work_status::
.blkb 1
.dbsym e work_status _work_status c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -