微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 关于语音芯片yf017

关于语音芯片yf017

时间:10-02 整理:3721RD 点击:
使用yf017连续播放一段声音失败,播放出来的是乱的,求使用过的大神解答,
#include<reg52.h>
#include<string.h>
#include<stdio.h>
#define uint unsigned int
#define uchar unsigned char
sbit rst1=P1^2;
sbit Da1=P1^1;
sbit busy1=P1^0;  
sbit key1=P1^5;
void delay(uint ms)//延时
{
uint x,y;
for(x=ms;x>0;x--)
  for(y=110;y>0;y--);
}
void music_1(uchar a)//语音控制函数
{
rst1=1;
delay(2);//发送一个复位脉冲
rst1=0;
delay(2);
while(a>0)
{
  Da1=1;
  delay(1);//发送脉冲,确定控制的语音段
  Da1=0;
  delay(1);
  a--;
}
}
void main()
{
  while(1)
{
  
      if(key1==0)
  {
        delay(10);
        if(key1==0)
     {   
       delay(2);
       music_1(25);
     while(busy1==0);
       music_1(22);
     while(busy1==0);
       music_1(11);
     while(busy1==0);
       music_1(13);
     while(busy1==0);
     music_1(3);
                 while(busy1==0);
                 music_1(11);
                 while(busy1==0);
                 music_1(4);
                 while(busy1==0);
                 music_1(14);
      }
   }
}
}
芯片的相关信息可以点以下链接
http://wenku.baidu.com/link?url=GOfMvYOH0e1cx-x8KNos66jnL5SIfPqsCqrpvMNYRWO0eSKqEbUsuJhOvpKHnWdk-OzpMqXcK4dIOYf8W8wm19AQvelAhEM0VorHnDX56cK

是不是有中断,打乱你的主程序了?
或者是CPU处理不及时
你也可以关掉中断在试试

没有任何终端,直接是调用而已

检查一下语音芯片的电路吧,纹波大不大,示波器看看,看看信号稳不稳。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top