📄 boyin.lst
字号:
__start:
__text_start:
0016 E5CF LDI R28,0x5F
0017 E0D4 LDI R29,4
0018 BFCD OUT 0x3D,R28
0019 BFDE OUT 0x3E,R29
001A 51C0 SUBI R28,0x10
001B 40D0 SBCI R29,0
001C EA0A LDI R16,0xAA
001D 8308 STD Y+0,R16
001E 2400 CLR R0
001F E6E0 LDI R30,0x60
0020 E0F0 LDI R31,0
0021 E010 LDI R17,0
0022 36E0 CPI R30,0x60
0023 07F1 CPC R31,R17
0024 F011 BEQ 0x0027
0025 9201 ST R0,Z+
0026 CFFB RJMP 0x0022
0027 8300 STD Z+0,R16
0028 E2EB LDI R30,0x2B
0029 E0F0 LDI R31,0
002A E6A0 LDI R26,0x60
002B E0B0 LDI R27,0
002C E010 LDI R17,0
002D 32EB CPI R30,0x2B
002E 07F1 CPC R31,R17
002F F021 BEQ 0x0034
0030 95C8 LPM
0031 9631 ADIW R30,1
0032 920D ST R0,X+
0033 CFF9 RJMP 0x002D
0034 D001 RCALL _main
_exit:
0035 CFFF RJMP _exit
_main:
address --> Y+0
j --> R20
i --> R22
add --> R10
0036 9725 SBIW R28,5
FILE: G:\AVR系列\boyin\boyin.c
(0001) /*/boyin.c*/
(0002) //单片机控制语音芯片pm50放音程序
(0003) #include<iom8v.h>
(0004) void main() //控制语音芯片pm50放音主程序
(0005) {
(0006) char i,j,add;
(0007) char address[5]={0xaa,0xaa,0xaa,0xaa,0xaa};//存储语音芯片中语音段的地址
0037 E286 LDI R24,0x26
0038 E090 LDI R25,0
0039 01FE MOVW R30,R28
003A E005 LDI R16,5
003B E010 LDI R17,0
003C 93FA ST R31,-Y
003D 93EA ST R30,-Y
003E 939A ST R25,-Y
003F 938A ST R24,-Y
0040 D031 RCALL asgncblk
(0008) DDRD|=0xa0; //设置PD5,6为输出口.PD5发送地址,PD6为时钟信号,
0041 B381 IN R24,0x11
0042 6A80 ORI R24,0xA0
0043 BB81 OUT 0x11,R24
(0009) DDRD&=0xfb; //设置PD2为输入口.拉低时表示PM50播放完毕.
0044 B381 IN R24,0x11
0045 7F8B ANDI R24,0xFB
0046 BB81 OUT 0x11,R24
(0010) PORTD&=0x5f;
0047 B382 IN R24,0x12
0048 758F ANDI R24,0x5F
0049 BB82 OUT 0x12,R24
004A C024 RJMP 0x006F
(0011) while(1) //进入死循环
(0012) {
(0013) for(j=0;j<5;j++) //连续播放五段录音
004B 2744 CLR R20
004C C020 RJMP 0x006D
(0014) {
(0015) add=address[j];
004D 01CE MOVW R24,R28
004E 2FE4 MOV R30,R20
004F 27FF CLR R31
0050 0FE8 ADD R30,R24
0051 1FF9 ADC R31,R25
0052 80A0 LDD R10,Z+0
(0016) if(!(PIND&0x04))
0053 9982 SBIC 0x10,2
0054 C017 RJMP 0x006C
(0017) for(i=0;i<8;i++) //发送八位地址
0055 2766 CLR R22
0056 C013 RJMP 0x006A
(0018) {
(0019) PORTD&=0xdf; //先将PD5拉低使之不影响下一步父敝
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -