⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 motor.s

📁 AVR单片机应用开发指南及实例,包含许多实例,挺不错
💻 S
📖 第 1 页 / 共 2 页
字号:
	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 + -