51单片机读写WTV语音芯片

原帖地址:http://em78447.blog.163.com/blog/static/9986005120098541118433/

步骤:
第一步:用语音软件mp3小助手将普通.mp3文件转换成8k\10k\12k\..\20k采样率,比如16k,采样率高音质好
第二步:打开WT588D V1.0软件,新建工程
第三步:转换成mp3wav
第四步:在加载区选16k,加载转换的WAV,选第几段和存储器
第五步:操作编译并存为BIN(注意如果是功放电路驱动选择DAC模式,直接的话选择PWM模式)
第六步:试听
第七步:工具,下载F5
下载页面下:
第一步选择存储容量(我的16M)
第二步点击连接
第三步连接成功后找到文件路径载入新的BIN文件
第四步下载到SPI存储器

 

测试:按键P34按下一次播放一段,共5

char code dx516[3] _at_ 0x003b;
#include <reg52.H>
#include <intrins.h>  //_nop_() 0.5ns
//#include <absacc.h>
#include <mb2003.h>

#define uchar unsigned char  //0-0xff;0-255
#define uint unsigned int   //0-0xffff;0-65535


#define KEY P34


#define DATA P37
#define CS   P36
#define CLK  P35

uchar tcc0=0;

//函数声明
void delay(uint i);  //x=1000,4.89312ms//x=10,0.057510ms//x=1,0,013560ms
void send_wtv(uchar add);    //WTV语音函数 add为地址

void delay(uint i) // 22.1184M晶振下x=433时候为2ms,x=3775时候为17ms,x=21时候为100us
{
 while(i--);
}

void int_init()  //初始化定义中断
{
 TMOD=0x00;  //定时器T0模式为0
 TH0=0x0e;    
 TL0=0x00;  //22M晶震下2.5ms,实际要短
 TR0=1;   //启动T0
 ET0=1;   //允许T0中断
// EA=1;    //开中断
}

 

void send_wtv(uchar add)      //音乐
{
 uchar i;
 //外部复位
 delay(3775);    //延时17ms     
 CS=0;
 delay(433);     //延时2ms  
 for(i=0;i<8;i++)
 {
  CLK=0;
  if(add&0x01)DATA=1; //最低位
  else DATA=0;
  add>>=1;   //右移
  delay(21);  //100us
  CLK=1;
  delay(21);  //100us
 }
 CS=1;    
}

 

void main()
{
 uchar FD=0;
 P3=0xff;
 P2=0xff;
 P1=0xff;
 P0=0xff;
 int_init(); 
 EA=1;
 while(1)
 {

  if(!KEY)   //按键入
  {
   delay(2500);
   if(!KEY)
   {
    send_wtv(FD);
    FD++;
    if(FD==5)FD=0;
    while(!KEY);    //等待下次键入
   }
  }

 }
}

void int0()interrupt 1  //2.5ms
{
 TH0=0x0e;    
 TL0=0x00;  //22M晶震下2.5ms,实际要短
 tcc0++;
 if(tcc0>=200)
 {
  tcc0=0;
 P32=!P32;  //系统指示灯
 }
  
}

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值