星空无限传媒官网免费_星空传媒MV免费观看_麻花星空MV视频_星空无限传媒免费观看

當(dāng)前位置:首頁(yè) > 技術(shù)文章
單片機(jī)如何控制語(yǔ)音芯片?

產(chǎn)品開發(fā)中單片機(jī)如何控制語(yǔ)音芯片播放?下面具體說(shuō)一下。首先我們?cè)陂_發(fā)產(chǎn)品時(shí)需要用到很多少聲音,一般常用語(yǔ)音芯片如SK080 SK040 SK020等支持的段數(shù)為32或63段先我們把一些重復(fù)使用的語(yǔ)音先分好段編好地址盡量精簡(jiǎn)。然后用單機(jī)片程序組合成我們需要的語(yǔ)句。如“1-9”,“十”,“百”,“千”,“元”...現(xiàn)在我們要發(fā)“100元”的語(yǔ)音,我們先發(fā)一個(gè)“1”再發(fā)“百”為再發(fā)“元”就可以了,下面討論一下程序怎么樣處理。

1.單片機(jī)控制接線圖如下:

 

語(yǔ)音芯片

2.時(shí)序圖:

語(yǔ)音芯片

單片機(jī)每次控制語(yǔ)音芯片放音前先發(fā)一個(gè)RST信號(hào)把語(yǔ)音芯片里的計(jì)數(shù)器清0,然后DATA腳發(fā)N個(gè)100US的脈沖高電平,就控制放第N個(gè)里的語(yǔ)音。

3.程序:

 

include "REG_MPC82L52.H"

 #include

 

 

void delay_ms(unsigned int count) ;

void delay_us(unsigned int count);

void Speech(unsigned char cnt);

void WBusy(void);

void Speechs(void);

 

/**************端口定義*****************/

sbit RST=P3^0;      //P3.0是脈沖復(fù)位腳

sbit DATA=P3^1;     //P3.1是脈沖數(shù)據(jù)腳

sbit BUSY=P3^2;     //P3.2是放音BUSY腳

 

unsigned int sp[3];    //定義一個(gè)組合語(yǔ)音用的數(shù)組變量

 

/*************主程序****************/

main (void)

{

  DATA=0;

  RST=1;

  delay_us(100);            //上電復(fù)位防止干擾發(fā)聲芯片放音

  RST=0;

  delay_us(100);

  sp[0]=0;

  sp[1]=0;

  sp[2]=0;

  while(1)

  {

  

        sp[0]=1;

        sp[1]=11;

        sp[2]=12;

        Speechs();      //組合1,11,12地址段放音‘100元‘

   delay_ms(5000);    //延時(shí)放音時(shí)間5秒

   }

}

/**************************************

;延時(shí)X毫秒

;不同的工作環(huán)境,需要調(diào)整此函數(shù)

;入口參數(shù):count

;出口參數(shù):無(wú)

**************************************/

void delay_ms(unsigned int count)    

{

 unsigned int i,j;

 for(i=0;i

 {

    for(j=0;j<500;j++);

 }

}

/**************************************

;延時(shí)X微秒

;不同的工作環(huán)境,需要調(diào)整此函數(shù)

;入口參數(shù):count

;出口參數(shù):無(wú)

**************************************/

void delay_us(unsigned int count)

{

 unsigned int i,j;

 for(i=0;i

 {

    for(j=0;j<2;j++);

 }

}

/**************************************

;控制地址段放音

;入口參數(shù):cnt;

;出口參數(shù):無(wú)

**************************************/

void SC_Speech(unsigned char cnt)

{   

     unsigned char i;  

   

     RST=1;

     delay_us(100);           

     RST=0;

     delay_us(100);

     for(i=0;i < cnt;i++)

     {  

        DATA=1;             //數(shù)據(jù)脈沖高

        delay_us(100);         //延時(shí)100US

        DATA=0;             //數(shù)據(jù)脈沖低

        delay_us(100);         //延時(shí)100US

     }

}

/**************************************

;控制地址段組合放音

;入口參數(shù):無(wú)

;出口參數(shù):無(wú)

**************************************/

void Speechs(void)

{   

    Speech(sp[0]);

   WBusy();

    Speech(sp[1]);

    WBusy();

    Speech(sp[2]);

    sp[0]=0;

    sp[1]=0;

    sp[2]=0;

}

 

/**************************************

;等待BUSY信號(hào)變低;

;入口參數(shù):無(wú)

;出口參數(shù):無(wú)

**************************************/

void WBusy(void)

{

    unsigned int times;

    for(times=0;times<50;times++)        //等待超過(guò)5秒最長(zhǎng)語(yǔ)音段自動(dòng)退出;

    {

       delay_ms(100);                    //調(diào)節(jié)組合語(yǔ)音間隔

       if(BUSY==0) break;

    }  

 

}

 

 

 

 

 電子街  天賜網(wǎng)  51電子網(wǎng)  物友網(wǎng)  企企通采購(gòu)網(wǎng)  維庫(kù)電子市場(chǎng)網(wǎng)  企業(yè)夢(mèng)工廠  北極星電力商務(wù)通  阿土伯商貿(mào)網(wǎng)  佳工機(jī)電網(wǎng)  百業(yè)網(wǎng)  EETOP創(chuàng)芯網(wǎng)  企業(yè)供需庫(kù)  3618醫(yī)療器械網(wǎng)  東方醫(yī)療器械網(wǎng)  知乎-思科微  匯安人力資源  綠盾征信  數(shù)碼之家  搜狐博客  博客園  新工商名錄  食品機(jī)械設(shè)備網(wǎng)  東方供應(yīng)商  全天候貿(mào)易網(wǎng)  電子發(fā)燒友  知乎  全球機(jī)械網(wǎng)  中塑在線   商名網(wǎng)  佰伯安全網(wǎng)  一大把  樂酷商務(wù)網(wǎng)   富商通  N127網(wǎng)  新浪微博  新品快播網(wǎng)  企業(yè)在線   一品威客  馬可波羅網(wǎng)  虎易網(wǎng)  娃酷網(wǎng)  818同城網(wǎng)  網(wǎng)商匯  智家網(wǎng)  谷瀑環(huán)保網(wǎng)  2018信息港  今日推薦  中國(guó)教育裝備采購(gòu)網(wǎng)  品牌網(wǎng)  更多>>