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

📄 music.s

📁 AVR单片机应用开发指南及实例,包含许多实例,挺不错
💻 S
📖 第 1 页 / 共 2 页
字号:
	lds R24,_delay_time1
	lds R25,_delay_time1+1
	sbiw R24,50
	sts _delay_time1+1,R25
	sts _delay_time1,R24
	.dbline 276
; }
	cpi R24,50
	ldi R30,0
	cpc R25,R30
	brne L51
	.dbline 277
; }
	.dbline 277
	ldi R24,100
	ldi R25,0
	sts _delay_time1+1,R25
	sts _delay_time1,R24
	.dbline 277
	.dbline 278
; }
	xjmp L51
L62:
	.dbline 280
; }
; }
	lds R24,_delay_time2
	lds R25,_delay_time2+1
	adiw R24,50
	sts _delay_time2+1,R25
	sts _delay_time2,R24
	.dbline 281
; }
	cpi R24,2
	ldi R30,8
	cpc R25,R30
	brne L51
	.dbline 282
; }
	.dbline 282
	ldi R24,2000
	ldi R25,7
	sts _delay_time2+1,R25
	sts _delay_time2,R24
	.dbline 282
	.dbline 283
; }
	.dbline 285
; }
; }
L50:
L51:
	.dbline -2
L49:
	.dbline 0 ; func end
	ret
	.dbsym r remote_in 16 c
	.dbend
	.area vector(rom, abs)
	.org 36
	jmp _timer0
	.area text(rom, con, rel)
	.dbfile D:/icc/include/diy0206.c
	.area vector(rom, abs)
	.org 24
	jmp _timer1
	.area text(rom, con, rel)
	.dbfile D:/icc/include/diy0206.c
	.area lit(rom, con, rel)
_music_data::
	.word 440
	.word 600
	.word 494
	.word 200
	.word 523
	.word 600
	.word 440
	.word 200
	.word 523
	.word 400
	.word 494
	.word 200
	.word 440
	.word 200
	.word 494
	.word 400
	.word 330
	.word 400
	.word 494
	.word 600
	.word 523
	.word 200
	.word 578
	.word 600
	.word 494
	.word 200
	.word 578
	.word 400
	.word 523
	.word 200
	.word 0
	.word 0
	.word 494
	.word 200
	.word 440
	.word 800
	.word 659
	.word 400
	.word 880
	.word 400
	.word 784
	.word 400
	.word 880
	.word 200
	.word 784
	.word 200
	.word 698
	.word 400
	.word 659
	.word 200
	.word 578
	.word 200
	.word 659
	.word 400
	.word 440
	.word 400
	.word 698
	.word 400
	.word 578
	.word 200
	.word 659
	.word 600
	.word 0
	.word 0
	.word 523
	.word 200
	.word 494
	.word 200
	.word 330
	.word 200
	.word 523
	.word 200
	.word 494
	.word 200
	.word 440
	.word 800
	.word 659
	.word 400
	.word 880
	.word 400
	.word 784
	.word 400
	.word 880
	.word 200
	.word 784
	.word 200
	.word 0
	.word 0
	.word 698
	.word 400
	.word 659
	.word 200
	.word 578
	.word 200
	.word 659
	.word 400
	.word 440
	.word 400
	.word 698
	.word 400
	.word 578
	.word 200
	.word 659
	.word 600
	.word 523
	.word 200
	.word 494
	.word 200
	.word 330
	.word 200
	.word 523
	.word 200
	.word 494
	.word 200
	.word 440
	.word 800
	.word 0
	.word 0
	.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
	.dbsym e music_data _music_data A[236:59:2]ki
	.area data(ram, con, rel)
	.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
_delay::
	.blkb 2
	.area idata
	.word 0
	.area data(ram, con, rel)
	.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
	.dbsym e delay _delay i
	.area text(rom, con, rel)
	.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
	.dbfunc e music_init _music_init fV
	.even
_music_init::
	.dbline -1
	.dbline 47
	.dbline 48
	clr R2
	out 0x35,R2
	.dbline 49
	ldi R24,1
	out 0x14,R24
	.dbline 50
	out 0x2f,R2
	.dbline 51
	ldi R24,9
	out 0x2e,R24
	.dbline 52
	ldi R24,3
	out 0x33,R24
	.dbline 53
	ldi R24,25
	out 0x32,R24
	.dbline 54
	ldi R24,17
	out 0x39,R24
	.dbline -2
L70:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e timer0 _timer0 fV
	.even
_timer0::
	st -y,R24
	st -y,R25
	in R24,0x3f
	st -y,R24
	.dbline -1
	.dbline 60
	.dbline 61
	lds R24,_delay
	lds R25,_delay+1
	adiw R24,1
	sts _delay+1,R25
	sts _delay,R24
	.dbline 62
	ldi R24,25
	out 0x32,R24
	.dbline -2
L71:
	ld R24,y+
	out 0x3f,R24
	ld R25,y+
	ld R24,y+
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e timer1 _timer1 fV
	.even
_timer1::
	st -y,R2
	st -y,R24
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 68
	.dbline 69
	ldi R24,1
	in R2,0x15
	eor R2,R24
	out 0x15,R2
	.dbline -2
L72:
	ld R2,y+
	out 0x3f,R2
	ld R24,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.dbfunc e sound _sound fV
;              y -> R10,R11
;              x -> R12,R13
	.even
_sound::
	xcall push_gset4
	movw R10,R18
	movw R12,R16
	.dbline -1
	.dbline 77
	.dbline 78
	sei
	.dbline 79
	clr R2
	clr R3
	sts _delay+1,R3
	sts _delay,R2
	.dbline 80
	tst R12
	brne X10
	tst R13
	breq L74
X10:
	.dbline 81
	.dbline 82
	movw R2,R12
	clr R4
	clr R5
	ldi R20,0
	ldi R21,9
	ldi R22,61
	ldi R23,0
	st -y,R5
	st -y,R4
	st -y,R3
	st -y,R2
	movw R16,R20
	movw R18,R22
	xcall div32s
	movw R12,R16
	.dbline 83
	out 0x2b,R17
	out 0x2a,R16
	.dbline 84
	clr R2
	clr R3
	out 0x2d,R3
	out 0x2c,R2
	.dbline 85
	in R24,0x39
	ori R24,16
	out 0x39,R24
L76:
	.dbline 87
L77:
	.dbline 86
	lds R2,_delay
	lds R3,_delay+1
	cp R2,R10
	cpc R3,R11
	brlo L76
	.dbline 88
	in R24,0x39
	andi R24,239
	out 0x39,R24
	.dbline 89
	xjmp L75
L74:
	.dbline 91
	.dbline 92
	in R24,0x39
	andi R24,239
	out 0x39,R24
L79:
	.dbline 94
L80:
	.dbline 93
	lds R2,_delay
	lds R3,_delay+1
	cp R2,R10
	cpc R3,R11
	brlo L79
	.dbline 95
L75:
	.dbline 96
	cli
	.dbline -2
L73:
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r y 10 i
	.dbsym r x 12 i
	.dbend
	.dbfunc e play_1 _play_1 fV
;              i -> R20
	.even
_play_1::
	xcall push_gset1
	.dbline -1
	.dbline 101
	.dbline 102
	clr R20
	.dbline 103
	xcall _music_init
	xjmp L84
L83:
	.dbline 106
	.dbline 107
	ldi R24,4
	mul R24,R20
	movw R2,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R18,Z+
	lpm R19,Z
	ldi R24,<_music_data
	ldi R25,>_music_data
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R16,Z+
	lpm R17,Z
	xcall _sound
	.dbline 108
	inc R20
	.dbline 109
	in R24,0x16
	andi R24,240
	sts _remote_in,R24
	.dbline 110
	tst R24
	breq L88
	.dbline 111
	xjmp L82
L88:
	.dbline 112
L84:
	.dbline 105
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cpi R30,0
	cpc R30,R31
	brne L83
X11:
	.dbline 113
	clr R20
	.dbline -2
L82:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e play_2 _play_2 fV
;              i -> R20
	.even
_play_2::
	xcall push_gset1
	.dbline -1
	.dbline 118
	.dbline 119
	ldi R20,17
	.dbline 120
	xcall _music_init
	xjmp L92
L91:
	.dbline 123
	.dbline 124
	ldi R24,4
	mul R24,R20
	movw R2,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R18,Z+
	lpm R19,Z
	ldi R24,<_music_data
	ldi R25,>_music_data
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R16,Z+
	lpm R17,Z
	xcall _sound
	.dbline 125
	inc R20
	.dbline 126
	in R24,0x16
	andi R24,240
	sts _remote_in,R24
	.dbline 127
	tst R24
	breq L96
	.dbline 128
	xjmp L90
L96:
	.dbline 129
L92:
	.dbline 122
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cpi R30,0
	cpc R30,R31
	brne L91
X12:
	.dbline 130
	ldi R20,17
	.dbline -2
L90:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e play_3 _play_3 fV
;              i -> R20
	.even
_play_3::
	xcall push_gset1
	.dbline -1
	.dbline 134
	.dbline 135
	ldi R20,33
	.dbline 136
	xcall _music_init
	xjmp L100
L99:
	.dbline 139
	.dbline 140
	ldi R24,4
	mul R24,R20
	movw R2,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R18,Z+
	lpm R19,Z
	ldi R24,<_music_data
	ldi R25,>_music_data
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R16,Z+
	lpm R17,Z
	xcall _sound
	.dbline 141
	inc R20
	.dbline 142
	in R24,0x16
	andi R24,240
	sts _remote_in,R24
	.dbline 143
	tst R24
	breq L104
	.dbline 144
	xjmp L98
L104:
	.dbline 145
L100:
	.dbline 138
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cpi R30,0
	cpc R30,R31
	brne L99
X13:
	.dbline 146
	ldi R20,33
	.dbline -2
L98:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e play_4 _play_4 fV
;              i -> R20
	.even
_play_4::
	xcall push_gset1
	.dbline -1
	.dbline 150
	.dbline 151
	ldi R20,45
	.dbline 152
	xcall _music_init
	xjmp L108
L107:
	.dbline 155
	.dbline 156
	ldi R24,4
	mul R24,R20
	movw R2,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R18,Z+
	lpm R19,Z
	ldi R24,<_music_data
	ldi R25,>_music_data
	movw R30,R2
	add R30,R24
	adc R31,R25
	lpm R16,Z+
	lpm R17,Z
	xcall _sound
	.dbline 157
	inc R20
	.dbline 158
	in R24,0x16
	andi R24,240
	sts _remote_in,R24
	.dbline 160
L113:
	.dbline 159
	lds R2,_remote_in
	tst R2
	brne L106
	.dbline 161
L108:
	.dbline 154
	ldi R24,4
	mul R24,R20
	movw R30,R0
	ldi R24,<_music_data+2
	ldi R25,>_music_data+2
	add R30,R24
	adc R31,R25
	lpm R0,Z+
	lpm R1,Z
	movw R30,R0
	cpi R30,0
	cpc R30,R31
	brne L107
X14:
	.dbline 162
	ldi R20,45
	.dbline -2
L106:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 170
	.dbline 172
	xcall _port_init
	.dbline 173
	ldi R24,255
	out 0x1b,R24
	.dbline 174
	xcall _mic_startup
	.dbline 175
	clr R2
	out 0x1b,R2
	.dbline 176
	ldi R16,20
	ldi R17,0
	xcall _delay_ms
	xjmp L117
L116:
	.dbline 178
	.dbline 179
	in R24,0x16
	andi R24,240
	sts _remote_in,R24
	.dbline 180
	mov R20,R24
	clr R21
	cpi R20,32
	ldi R30,0
	cpc R21,R30
	breq L123
	ldi R24,32
	ldi R25,0
	cp R24,R20
	cpc R25,R21
	brlt L128
L127:
	cpi R20,0
	cpc R20,R21
	breq L122
X15:
	cpi R20,0
	ldi R30,0
	cpc R21,R30
	brlt L119
L129:
	cpi R20,16
	ldi R30,0
	cpc R21,R30
	breq L125
	xjmp L119
L128:
	cpi R20,64
	ldi R30,0
	cpc R21,R30
	breq L124
	cpi R20,64
	ldi R30,0
	cpc R21,R30
	brlt L119
L130:
	cpi R20,128
	ldi R30,0
	cpc R21,R30
	breq L126
	xjmp L119
X16:
	.dbline 181
L122:
	.dbline 183
	.dbline 184
	xcall _stop
	.dbline 185
	ldi R16,10
	ldi R17,0
	xcall _delay_ms
	.dbline 186
	xjmp L120
L123:
	.dbline 189
	.dbline 190
	xcall _turn_right
	.dbline 191
	xcall _play_1
	.dbline 192
	xjmp L120
L124:
	.dbline 195
	.dbline 196
	xcall _backward
	.dbline 197
	xcall _play_2
	.dbline 198
	xjmp L120
L125:
	.dbline 201
	.dbline 202
	xcall _forward
	.dbline 203
	xcall _play_3
	.dbline 204
	xjmp L120
L126:
	.dbline 207
	.dbline 208
	xcall _turn_left
	.dbline 209
	xcall _play_4
	.dbline 210
L119:
L120:
	.dbline 213
L117:
	.dbline 177
	xjmp L116
X17:
	.dbline -2
L115:
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile D:\afish\工作内容\DIY-08-16\M16\DIY-08-16\遥控音乐车\music.c
_remote_in::
	.blkb 1
	.dbsym e remote_in _remote_in c
_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 + -