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

📄 boyin.s

📁 语音芯片PM50八方源代码
💻 S
字号:
	.module boyin.c
	.area lit(rom, con, rel)
L2:
	.byte 170,170
	.byte 170,170
	.byte 170
	.area text(rom, con, rel)
	.dbfile G:\AVR系列\boyin\boyin.c
	.dbfunc e main _main fV
;        address -> y+0
;              j -> R20
;              i -> R22
;            add -> R10
	.even
_main::
	sbiw R28,5
	.dbline -1
	.dbline 5
; /*/boyin.c*/
; //单片机控制语音芯片pm50放音程序
; #include<iom8v.h>
; void main()  //控制语音芯片pm50放音主程序
; {
	.dbline 7
;  char i,j,add;
; char address[5]={0xaa,0xaa,0xaa,0xaa,0xaa};//存储语音芯片中语音段的地址
	ldi R24,<L2
	ldi R25,>L2
	movw R30,R28
	ldi R16,5
	ldi R17,0
	st -y,R31
	st -y,R30
	st -y,R25
	st -y,R24
	rcall asgncblk
	.dbline 8
;  DDRD|=0xa0;   //设置PD5,6为输出口.PD5发送地址,PD6为时钟信号,
	in R24,0x11
	ori R24,160
	out 0x11,R24
	.dbline 9
;  DDRD&=0xfb;  //设置PD2为输入口.拉低时表示PM50播放完毕.
	in R24,0x11
	andi R24,251
	out 0x11,R24
	.dbline 10
;  PORTD&=0x5f;  
	in R24,0x12
	andi R24,95
	out 0x12,R24
	rjmp L4
L3:
	.dbline 12
;  while(1)     //进入死循环 
;  {
	.dbline 13
;   for(j=0;j<5;j++) //连续播放五段录音
	clr R20
	rjmp L9
L6:
	.dbline 14
;   {
	.dbline 15
;    add=address[j];
	movw R24,R28
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R10,z+0
	.dbline 16
;    if(!(PIND&0x04))
	sbic 0x10,2
	rjmp L10
	.dbline 17
;    for(i=0;i<8;i++) //发送八位地址
	clr R22
	rjmp L15
L12:
	.dbline 18
	.dbline 19
	in R24,0x12
	andi R24,223
	out 0x12,R24
	.dbline 20
	mov R24,R10
	andi R24,1
	lsl R24
	lsl R24
	lsl R24
	lsl R24
	lsl R24
	in R2,0x12
	or R2,R24
	out 0x12,R2
	.dbline 21
	sbi 0x12,7
	.dbline 22
	in R24,0x12
	andi R24,127
	out 0x12,R24
	.dbline 23
	lsr R10
	.dbline 24
L13:
	.dbline 17
	inc R22
L15:
	.dbline 17
	cpi R22,8
	brlo L12
L10:
	.dbline 25
L7:
	.dbline 13
	inc R20
L9:
	.dbline 13
	cpi R20,5
	brlo L6
	.dbline 26
L4:
	.dbline 11
	rjmp L3
X0:
	.dbline -2
L1:
	adiw R28,5
	.dbline 0 ; func end
	ret
	.dbsym l address 0 A[5:5]c
	.dbsym r j 20 c
	.dbsym r i 22 c
	.dbsym r add 10 c
	.dbend

⌨️ 快捷键说明

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