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

📄 语音.s

📁 ISD1720芯片实现录音,定点录音,播放,定点播放等.
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline -1
	.dbline 171
; }
; }
; }
; }
; }
; }
	.dbline 172
; }
	xcall _checkbusy
	.dbline 173
; }
	sbi 0x14,2
	.dbline 173
	sbi 0x15,2
	.dbline 173
	.dbline 174
; }
	sbi 0x14,3
	.dbline 174
	cbi 0x15,3
	.dbline 174
	.dbline 175
; }
	sbi 0x14,4
	.dbline 175
	sbi 0x15,4
	.dbline 175
	.dbline 176
; }
	ldi R24,255
	out 0x1a,R24
	.dbline 177
; }
	out 0x1b,R20
	.dbline 178
; }
	ldi R16,10
	ldi R17,0
	xcall _delayus
	.dbline 179
; }
	sbi 0x14,4
	.dbline 179
	cbi 0x15,4
	.dbline 179
	.dbline -2
L29:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r data 20 c
	.dbend
	.dbfunc e wezhi _wezhi fV
;              p -> R20
;              y -> R22
;              x -> R10
	.even
_wezhi::
	xcall push_gset3
	mov R22,R18
	mov R10,R16
	.dbline -1
	.dbline 185
; }
; }
; }
; }
; }
; }
	.dbline 187
; }
; }
	tst R10
	brne L31
	.dbline 187
	ldi R20,128
L31:
	.dbline 188
; }
	mov R24,R10
	cpi R24,1
	brne L33
	.dbline 188
	ldi R20,144
L33:
	.dbline 189
; }
	mov R24,R10
	cpi R24,2
	brne L35
	.dbline 189
	ldi R20,136
L35:
	.dbline 190
; }
	mov R24,R10
	cpi R24,3
	brne L37
	.dbline 190
	ldi R20,152
L37:
	.dbline 191
; }
	add R20,R22
	.dbline 192
; }
	mov R16,R20
	xcall _writecomd
	.dbline 193
; }
	ldi R16,1
	ldi R17,0
	xcall _delayms
	.dbline -2
L30:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r p 20 c
	.dbsym r y 22 c
	.dbsym r x 10 c
	.dbend
	.dbfunc e zhiti _zhiti fV
;           data -> R20,R21
	.even
_zhiti::
	xcall push_gset1
	movw R20,R16
	.dbline -1
	.dbline 199
; }
; }
; }
; }
; }
; }
	xjmp L41
L40:
	.dbline 202
	.dbline 203
	movw R30,R20
	ldd R16,z+0
	xcall _writedata
	.dbline 204
	ldi R16,100
	ldi R17,0
	xcall _delayms
	.dbline 205
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 206
L41:
	.dbline 201
; }
; }
	movw R30,R20
	ldd R2,z+0
	tst R2
	brne L40
	.dbline -2
L39:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r data 20 pc
	.dbend
	.dbfunc e frist1 _frist1 fV
	.even
_frist1::
	.dbline -1
	.dbline 212
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
; }
	.dbline 213
; }
	ldi R16,1
	xcall _writecomd
	.dbline 214
; }
	ldi R16,48
	xcall _writecomd
	.dbline 215
; }
	ldi R16,10
	ldi R17,0
	xcall _delayus
	.dbline 216
; }
	ldi R16,12
	xcall _writecomd
	.dbline 217
; }
	ldi R16,10
	ldi R17,0
	xcall _delayus
	.dbline 218
; }
	ldi R16,2
	xcall _writecomd
	.dbline 219
; }
	ldi R16,10
	ldi R17,0
	xcall _delayus
	.dbline 220
; }
	ldi R16,64
	xcall _writecomd
	.dbline -2
L43:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e frist2 _frist2 fV
	.even
_frist2::
	.dbline -1
	.dbline 227
; }
; }
; }
; }
; }
; }
; }
	.dbline 228
; }
	ldi R16,1
	xcall _writecomd
	.dbline 229
; }
	ldi R16,10
	ldi R17,0
	xcall _delayus
	.dbline 230
; }
	ldi R16,54
	xcall _writecomd
	.dbline 231
; }
	ldi R16,10
	ldi R17,0
	xcall _delayms
	.dbline -2
L44:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e drwa _drwa fV
;              k -> R20
;         temp_y -> R22
;         temp_x -> R10
;              i -> R12
;              j -> R14
;           data -> y+10
	.even
_drwa::
	st -y,r17
	st -y,r16
	xcall push_gset5
	.dbline -1
	.dbline 237
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
	.dbline 239
; 鼍A
; 鼍A
	ldi R24,128
	mov R10,R24
	.dbline 240
; 鼍A
	ldi R22,128
	.dbline 241
; 鼍A
	clr R12
	xjmp L49
L46:
	.dbline 242
; 鼍A
	.dbline 243
; 鼍A
	mov R2,R22
	subi R22,255    ; addi 1
	mov R16,R2
	xcall _writecomd
	.dbline 244
; 鼍A
	mov R16,R10
	xcall _writecomd
	.dbline 245
; 鼍A
	clr R14
	xjmp L53
L50:
	.dbline 246
	.dbline 247
	ldd R30,y+10
	ldd R31,y+11
	lpm R16,Z
	xcall _writedata
	.dbline 248
	ldd R24,y+10
	ldd R25,y+11
	adiw R24,1
	std y+11,R25
	std y+10,R24
	.dbline 249
L51:
	.dbline 245
	inc R14
L53:
	.dbline 245
	mov R24,R14
	cpi R24,16
	brlo L50
	.dbline 250
L47:
	.dbline 241
	inc R12
L49:
	.dbline 241
	mov R24,R12
	cpi R24,32
	brlo L46
	.dbline 251
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
	ldi R24,136
	mov R10,R24
	.dbline 252
; 鼍A
	ldi R22,128
	.dbline 253
; 鼍A
	clr R12
	xjmp L57
L54:
	.dbline 254
; 鼍A
	.dbline 255
; 鼍A
	mov R2,R22
	subi R22,255    ; addi 1
	mov R16,R2
	xcall _writecomd
	.dbline 256
; 鼍A
	mov R16,R10
	xcall _writecomd
	.dbline 257
; 鼍A
	clr R14
	xjmp L61
L58:
	.dbline 258
	.dbline 259
	ldd R30,y+10
	ldd R31,y+11
	lpm R16,Z
	xcall _writedata
	.dbline 260
	ldd R24,y+10
	ldd R25,y+11
	adiw R24,1
	std y+11,R25
	std y+10,R24
	.dbline 261
L59:
	.dbline 257
	inc R14
L61:
	.dbline 257
	mov R24,R14
	cpi R24,16
	brlo L58
	.dbline 262
L55:
	.dbline 253
	inc R12
L57:
	.dbline 253
	mov R24,R12
	cpi R24,32
	brlo L54
	.dbline 263
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
	clr R20
	xjmp L65
L62:
	.dbline 264
; 鼍A
	.dbline 265
; 鼍A
	ldi R24,152
	mov R10,R24
	.dbline 266
; 鼍A
	ldi R22,155
	.dbline 267
; 鼍A
	clr R12
	xjmp L69
L66:
	.dbline 268
; 鼍A
	.dbline 269
; 鼍A
	mov R2,R22
	subi R22,255    ; addi 1
	mov R16,R2
	xcall _writecomd
	.dbline 270
; 鼍A
	mov R16,R10
	xcall _writecomd
	.dbline 271
; 鼍A
	clr R14
	xjmp L73
L70:
	.dbline 272
	.dbline 273
	ldd R30,y+10
	ldd R31,y+11
	lpm R16,Z
	xcall _writedata
	.dbline 274
	ldd R24,y+10
	ldd R25,y+11
	adiw R24,1
	std y+11,R25
	std y+10,R24
	.dbline 275
L71:
	.dbline 271
	inc R14
L73:
	.dbline 271
	mov R24,R14
	cpi R24,16
	brlo L70
	.dbline 276
L67:
	.dbline 267
	inc R12
L69:
	.dbline 267
	mov R24,R12
	cpi R24,3
	brlo L66
	.dbline 277
	ldi R16,100
	ldi R17,0
	xcall _delayms
	.dbline 278
L63:
	.dbline 263
	inc R20
L65:
	.dbline 263
	cpi R20,11
	brlo L62
	.dbline -2
L45:
	xcall pop_gset5
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbsym r k 20 c
	.dbsym r temp_y 22 c
	.dbsym r temp_x 10 c
	.dbsym r i 12 c
	.dbsym r j 14 c
	.dbsym l data 10 pkc
	.dbend
	.dbfunc e kaiji _kaiji fV
	.even
_kaiji::
	.dbline -1
	.dbline 284
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
; 鼍A
	.dbline 285
; 鼍A
	xcall _frist2
	.dbline 286
; 鼍A
	ldi R16,<_data00
	ldi R17,>_data00
	xcall _drwa
	.dbline 287
; 鼍A
	xcall _frist1
	.dbline 288
; 鼍A
	ldi R16,1
	xcall _writecomd
	.dbline 289
; 鼍A
	ldi R18,2
	ldi R16,1
	xcall _wezhi
	.dbline 290
; 鼍A
	ldi R16,<_data01
	ldi R17,>_data01
	xcall _zhiti
	.dbline 291
; 鼍A
	clr R18
	ldi R16,2
	xcall _wezhi
	.dbline 292
; 鼍A
	ldi R16,<_data02
	ldi R17,>_data02
	xcall _zhiti
	.dbline -2
L74:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfile E:\写的程序\AVR(C)/4X4键盘.c
	.dbfunc e key_scan _key_scan fc
;              j -> R10
;            key -> R20
;              i -> R12
	.even
_key_scan::
	xcall push_gset4
	.dbline -1
	.dbline 13
	.dbline 14
	ldi R24,127
	mov R12,R24
	.dbline 14
	clr R10
	.dbline 15
	ldi R16,1
	ldi R17,0
	xcall _delayms
L76:
	.dbline 17
	.dbline 18
	mov R2,R12
	lsr R2
	lsr R2
	lsr R2
	lsr R2
	lsr R2
	lsr R2
	lsr R2
	mov R3,R12
	lsl R3
	or R3,R2
	mov R12,R3
	.dbline 19
	out 0x12,R3
	.dbline 20
	ldi R24,15
	out 0x11,R24
	.dbline 21
	in R20,0x10
	.dbline 22
	mov R24,R20
	andi R24,240
	mov R10,R24
	.dbline 23
L77:
	.dbline 23
	mov R24,R10
	cpi R24,240
	breq L76
	.dbline 24
	mov R22,R20
	clr R23
	cpi R22,183
	ldi R30,0
	cpc R23,R30
	brne X1
	xjmp L89
X1:
	cpi R22,187
	ldi R30,0
	cpc R23,R30
	brne X2
	xjmp L88
X2:
	cpi R22,189
	ldi R30,0
	cpc R23,R30
	brne X3
	xjmp L87
X3:
	cpi R22,190
	ldi R30,0
	cpc R23,R30
	brne X4
	xjmp L86
X4:
	ldi R24,190
	ldi R25,0
	cp R24,R22
	cpc R25,R23
	brlt L99
L98:
	cpi R22,119
	ldi R30,0
	cpc R23,R30
	brne X5
	xjmp L85
X5:
	cpi R22,123
	ldi R30,0
	cpc R23,R30
	breq L84
	cpi R22,125
	ldi R30,0
	cpc R23,R30
	breq L83
	cpi R22,126
	ldi R30,0
	cpc R23,R30
	breq L82
	xjmp L79
L99:
	cpi R22,215
	ldi R30,0
	cpc R23,R30
	brne X6
	xjmp L93
X6:
	cpi R22,219
	ldi R30,0
	cpc R23,R30
	brne X7
	xjmp L92
X7:
	cpi R22,221
	ldi R30,0
	cpc R23,R30
	breq L91
	cpi R22,222
	ldi R30,0
	cpc R23,R30
	breq L90
	cpi R22,215
	ldi R30,0
	cpc R23,R30
	brge X8
	xjmp L79
X8:
L100:
	cpi R22,231
	ldi R30,0
	cpc R23,R30
	breq L97
	cpi R22,235
	ldi R30,0
	cpc R23,R30
	breq L96
	cpi R22,237
	ldi R30,0
	cpc R23,R30
	breq L95
	cpi R22,238
	ldi R30,0
	cpc R23,R30
	breq L94
	xjmp L79
X0:
	.dbline 25
L82:
	.dbline 25
	clr R20
	.dbline 25
	xjmp L80
L83:
	.dbline 26
	ldi R20,10
	.dbline 26
	xjmp L80
L84:
	.dbline 27
	ldi R20,11
	.dbline 27
	xjmp L80
L85:
	.dbline 28
	ldi R20,15
	.dbline 28
	xjmp L80
L86:
	.dbline 29
	ldi R20,1
	.dbline 29
	xjmp L80
L87:
	.dbline 30
	ldi R20,2
	.dbline 30
	xjmp L80
L88:
	.dbline 31
	ldi R20,3
	.dbline 31
	xjmp L80
L89:
	.dbline 32
	ldi R20,14
	.dbline 32
	xjmp L80
L90:
	.dbline 33
	ldi R20,4
	.dbline 33
	xjmp L80
L91:
	.dbline 34
	ldi R20,5
	.dbline 34
	xjmp L80
L92:
	.dbline 35
	ldi R20,6
	.dbline 35
	xjmp L80
L93:
	.dbline 36
	ldi R20,13
	.dbline 36
	xjmp L80
L94:
	.dbline 37
	ldi R20,7
	.dbline 37
	xjmp L80
L95:
	.dbline 38
	ldi R20,8
	.dbline 38
	xjmp L80
L96:
	.dbline 39
	ldi R20,9
	.dbline 39
	xjmp L80
L97:
	.dbline 40
	ldi R20,12
	.dbline 40
	xjmp L80
L79:
	.dbline 41
	ldi R20,16
	.dbline 42
L80:
	.dbline 43
	mov R16,R20
	.dbline -2
L75:
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r j 10 c
	.dbsym r key 20 c
	.dbsym r i 12 c
	.dbend
	.dbfunc e key_press _key_press fc
;              j -> R20
;              i -> R20
	.even
_key_press::
	xcall push_gset1
	.dbline -1
	.dbline 46
	.dbline 47
	ldi R24,255
	out 0x11,R24
	.dbline 48
	ldi R24,240
	out 0x12,R24
	.dbline 49
	ldi R24,15
	out 0x11,R24
	.dbline 50
	ldi R16,1
	ldi R17,0
	xcall _delayms
	.dbline 51
	in R20,0x10
	.dbline 52
	cpi R20,240
	brne L102
	.dbline 52
	clr R20
	xjmp L103
L102:
	.dbline 53
	ldi R20,1
L103:
	.dbline 54
	mov R16,R20
	.dbline -2
L101:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r j 20 c
	.dbsym r i 20 c
	.dbend
	.dbfile E:\写的程序\AVR(C)/语音1.c
	.dbfunc e spi_sent_init _spi_sent_init fV
	.even
_spi_sent_init::
	.dbline -1
	.dbline 51
	.dbline 51
	in R24,0x18
	ori R24,240
	out 0x18,R24
	.dbline 52
	in R24,0x17
	ori R24,176
	out 0x17,R24
	.dbline 53
	ldi R24,115
	out 0xd,R24
	.dbline 54
	clr R2
	out 0xe,R2
	.dbline -2
L104:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e SPI _SPI fc
;           sign -> R20
;           Data -> R16,R17
	.even
_SPI::
	xcall push_gset1
	.dbline -1
	.dbline 58
	.dbline 60
	cbi 0x18,4
	.dbline 61
	sbi 0xd,4
	.dbline 62
	out 0xf,R16
L106:
	.dbline 63
L107:
	.dbline 63
	sbis 0xe,7
	rjmp L106
	.dbline 64
	sbi 0x18,4
	.dbline 65
	in R20,0xe
	.dbline 66
	in R20,0xf
	.dbline 67
	mov R16,R20
	.dbline -2
L105:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r sign 20 c
	.dbsym r Data 16 i
	.dbend
	.dbfunc e PU _PU fc
;              i -> R20
;           data -> R22
	.even
_PU::
	xcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 73
L110:
	.dbline 76
	.dbline 77
	mov R16,R22
	clr R17
	xcall _SPI
	mov R20,R16
	.dbline 78
L111:
	.dbline 79
	clr R16
	clr R17
	xcall _SPI
	mov R20,R16
	sbrc R20,0
	rjmp L110
	.dbline 80
	.dbline -2
L109:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r data 22 c
	.dbend
	.dbfunc e status_address _status_address fi
;              k -> R20,R21
;              i -> R22
;           data -> R10
	.even
_status_address::
	xcall push_gset3
	mov R10,R16
	.dbline -1
	.dbline 84
L114:
	.dbline 88
	.dbline 89
	mov R16,R10
	clr R17
	xcall _SPI
	mov R22,R16
	.dbline 90
L115:
	.dbline 91
	clr R16
	clr R17
	xcall _SPI
	mov R22,R16
	sbrc R22,0
	rjmp L114
	.dbline 92
	clr R16
	clr R17
	xcall _SPI
	mov R20,R16
	clr R21
	.dbline 93
	ldi R16,8
	ldi R17,0
	movw R18,R20
	xcall lsl16
	movw R20,R16
	mov R2,R22
	clr R3
	add R20,R2
	adc R21,R3
	.dbline 94
	movw R16,R20
	.dbline -2
L113:
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r k 20 i
	.dbsym r i 22 c
	.dbsym r data 10 c
	.dbend
	.dbfunc e status_address_pointer _status_address_pointer fL
;              j -> R20
;              k -> y+0
;              i -> R22
;           data -> R10
	.even
_status_address_pointer::
	xcall push_gset3
	mov R10,R16
	sbiw R28,4
	.dbline -1
	.dbline 98
L118:
	.dbline 102
	.dbline 103
	mov R16,R10
	clr R17
	xcall _SPI
	mov R22,R16
	.dbline 104
L119:
	.dbline 105
	clr R16
	clr R17
	xcall _SPI
	mov R22,R16
	sbrc R22,0
	rjmp L118
	.dbline 106
	clr R16
	clr R17
	xcall _SPI
	mov R20,R16
	.dbline 107
	clr R16
	clr R17
	xcall _SPI
	mov R2,R16
	clr R3
	clr R4
	clr R5
	movw R30,R28
	std z+0,R2
	std z+1,R3
	std z+2,R4
	std z+3,R5
	.dbline 108
	movw R30,R28
	ldd R18,z+0
	ldd R19,z+1
	ldi R16,8
	ldi R17,0
	xcall lsl16
	movw R2,R16
	mov R4,R20
	clr R5
	add R2,R4
	adc R3,R5
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	std z+0,R2
	std z+1,R3
	std z+2,R4
	std z+3,R5
	.dbline 109
	movw R30,R28
	ldd R18,z+0
	ldd R19,z+1
	ldi R16,8
	ldi R17,0
	xcall lsl16
	movw R2,R16
	mov R4,R22
	clr R5
	add R2,R4
	adc R3,R5
	clr R4
	sbrc R3,7
	com R4
	clr R5
	sbrc R4,7
	com R5
	movw R30,R28
	std z+0,R2
	std z+1,R3
	std z+2,R4
	std z+3,R5
	.dbline 110
	movw R30,R28
	ldd R16,z+0
	ldd R17,z+1
	ldd R18,z+2
	ldd R19,z+3
	.dbline -2
L117:
	adiw R28,4
	xcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym r j 20 c
	.dbsym l k 0 L
	.dbsym r i 22 c
	.dbsym r data 10 c
	.dbend
	.dbfunc e command_data _command_data fc
;              n -> R20
;              m -> R22
;              j -> R10
;              k -> R12
;              i -> R14
;          data2 -> y+14
;          data1 -> R20,R21
;        command -> y+10
	.even
_command_data::
	xcall push_arg4
	xcall push_gset5
	movw R20,R18
	.dbline -1
	.dbline 114
	.dbline 116
	movw R10,R20
	mov R10,R11
	clr R11
	.dbline 116
	movw R24,R20
	andi R25,0
	mov R12,R24
	.dbline 117
	ldd R22,y+14
	ldd R23,y+15
	mov R22,R23
	clr R23
	.dbline 117
	ldd R20,y+14
	ldd R21,y+15
	andi R21,0
L122:
	.dbline 119
	.dbline 120
	ldd R16,y+10
	clr R17
	xcall _SPI
	mov R14,R16
	.dbline 121
L123:
	.dbline 122
	clr R16
	clr R17
	xcall _SPI
	mov R14,R16
	sbrc R14,0
	rjmp L122
	.dbline 123
	mov R16,R12
	clr R17
	xcall _SPI
	.dbline 123
	mov R16,R10
	clr R17
	xcall _SPI
	.dbline 124
	mov R16,R20
	clr R17
	xcall _SPI
	.dbline 124
	mov R16,R22
	clr R17
	xcall _SPI
	mov R12,R16
	.dbline 125
	mov R16,R14
	.dbline -2
L121:
	xcall pop_gset5
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbsym r n 20 c
	.dbsym r m 22 c
	.dbsym r j 10 c
	.dbsym r k 12 c
	.dbsym r i 14 c
	.dbsym l data2 14 i
	.dbsym r data1 20 i
	.dbsym l command 10 c
	.dbend
	.dbfile E:\写的程序\AVR(C)\语音.c
	.dbfunc e main _main fV
	.even
_main::
	.dbline -1
	.dbline 5
	.dbline 6
	xcall _kaiji
	.dbline -2
L125:
	.dbline 0 ; func end
	ret
	.dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -