<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的多段語音組合錄放系統(tǒng)設(shè)計(jì)

          單片機(jī)的多段語音組合錄放系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2011-11-05 來源:網(wǎng)絡(luò) 收藏

          對該芯片的操作有獨(dú)立按鍵和微控制器SPI接口2種方式。當(dāng)按鍵方式操作時(shí),通過將圖中的S1~S4分別接地,就可以實(shí)現(xiàn)對ISD1730芯片復(fù)位、刪除、錄入、回放等操作,這些操作也可以通過STC89C52RC實(shí)現(xiàn)。ISD1730提供了4線(SCLK、MOSI、MISO、)SPI接口與STC89C52RC連接,采用了STC89C52RC的P1.0、P1.1、P1.2、P1.3口模擬SPI時(shí)序?qū)SD1730進(jìn)行操作。語音輸出方式有2種,以PWM的形式驅(qū)動(dòng)一個(gè)8Ω的D級(jí)揚(yáng)聲器(SPEAKER),也可以配置成AUD(電流)或AUX(電壓)單端輸出的方式驅(qū)動(dòng)外部的音頻放大器。
          1.3 對語音信息的操作
          1.3.1 語音信號(hào)錄入
          可以采用商業(yè)的語音拷貝機(jī)或手動(dòng)錄入方式,將語音信號(hào)錄入語音芯片;手動(dòng)錄入時(shí),首先借助于聲音魔法師、文語轉(zhuǎn)換小精靈或其他的文字轉(zhuǎn)聲音軟件,在電腦上將需要錄入的文字轉(zhuǎn)換成多段語音信息,然后將電腦的耳機(jī)輸出口與如圖2所示的Analn引腳連接,也可以將發(fā)音設(shè)備對準(zhǔn)MIC;閉合S33鍵,打開音源,進(jìn)行錄制,錄制時(shí)指示燈LED閃亮;松開S33鍵則該段語音錄制結(jié)束,LED熄滅,一段語音錄制完成。同理可錄制下一段;全部語音錄制完成后,閉合S44鍵并保持,器件將會(huì)依次將錄制的語音全部播放出來,如果錄制不理想,可以刪除重來;閉合S33鍵并保持,LED閃爍7次,錄制的信息將全部刪除。
          1.3.2 各段語音在芯片內(nèi)地址的確定
          語音錄制完成后,要實(shí)現(xiàn)對多段語音輸出,還必須知道每段語音的存儲(chǔ)地址。STC89C52RC與ISD1730之間采用SPI通信協(xié)議,TC89 C52RC通過MOSI引腳發(fā)送指令給ISD1730,ISD1730語音芯片通過MISO引腳返回給STC89C52RC指令執(zhí)行的情況和自己內(nèi)部的狀態(tài),每一個(gè)SPI指令執(zhí)行時(shí)都會(huì)從ISD1730返回2個(gè)字節(jié)的數(shù)據(jù)反映出芯片的狀態(tài),這2個(gè)字節(jié)的D5~D15位反映了存儲(chǔ)器中當(dāng)前語音段的開始存放地址,因此通過軟件查詢就可以將存儲(chǔ)器中各段語音的存儲(chǔ)地址找出來。下面是其主要程序片段:
          c.jpg
          當(dāng)初始化完成后,執(zhí)行以上程序,利用串口調(diào)試程序可以觀察到返回的是每段語音存放的開始行的地址。其結(jié)束行的地址為下一段語音開始行的前一行地址,這樣就可以得到每段語音存放的開始和結(jié)束地址。


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();