Side Menu

ISD3340JL语音组合精灵板发码程序

2017-5-6 11:02| 发布者: admin| 查看: 713| 评论: 0

摘要: 下载:《ISD3340JL语音组合精灵板发码程序》#include "REG2051.H"void init(void); //单片机初始化void send_3340jl(unsigned char vocNO);//发码函数void delay(int t); //延迟unsigned char code buff={0x ...
下载:《ISD3340JL语音组合精灵板发码程序



#include "REG2051.H"
 
 
void init(void);                //单片机初始化
void send_3340jl(unsigned char vocNO);//发码函数
void delay(int t);   //延迟
unsigned char code buff[11]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b};//要发送的语音组合数据,放在buff[]数组里,最大不能超过40个数组.
 
void main()
{
unsigned char a;
                                                                                //将需要发送的语音段数赋值到buff数组里即可。本例将01-0b,共11段发送出去。
init();           //初始化
  
  
       
 
   for (a=0;a<3;a++)
   {
   while(RXD==0);             //检测忙信号,等待340jl放音完毕
   send_3340jl(0);      //将语音组合数据发送出去,buff是发送的数组数据,11是数据的个数
   delay(5000);
  }
    
 
}
 
void init(void)
{
 
   TMOD=0x21;
   TH1=0xfa;
   TL1=0xfa; //4800波特率 with 11.0592
   TR1=1;
   SCON=0x50;//串行口工作方式1
   PCON=0x00; //SMOD=0;
   REN=1;
   EA=0;
  
}
 
 
//void send_3340jl(unsigned char addr_buff[40],vocNO)       //发送子程序
void send_3340jl(unsigned char vocNO)
{ unsigned char i,temp;
   temp = vocNO;                                        //形参addr_buff[40]接受数组数据,vocNO接受数据个数
  i=1;
  SBUF=0xaa;
  while(TI==0);                                          //发送起始码aaaa
  TI=0;
  SBUF=0xaa;
  while(TI==0);
  TI=0;
   for (i=0;i<10;i++)
   {
    SBUF=buff[vocNO];
     while(TI==0);
TI=0;
vocNO++;
 
}
vocNO = temp;
for (i=0;i<10;i++)
   {
    SBUF=buff[vocNO];
     while(TI==0);
TI=0;
vocNO++;
 
}
 
  
 
  SBUF=0xff;                                     //发送结束码ffff
  while(TI==0);
  TI=0;
  SBUF=0xff;
  while(TI==0);
  TI=0;
}
 
 
 
 
 
 
void delay(int t)
{
   while(t!=0)
   {
   t--;
   }
 
}
 

鲜花

握手

雷人

路过

鸡蛋