版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 今天,數(shù)碼語(yǔ)音技術(shù)已經(jīng)發(fā)展成為一種時(shí)尚化智能化,人性化的代表技術(shù),出現(xiàn)在工業(yè)、交通、軍事、安全保衛(wèi)、教育、娛樂(lè)、體育、通訊、廣告、旅游、休閑、政治宣傳等各個(gè)領(lǐng)域。</p><p> 自然的語(yǔ)音、聲音是稍縱即逝的,聰慧的人類想了很多辦法來(lái)留存它們,這樣可以在任何需要的時(shí)候重復(fù)播放出來(lái)。這種保留原聲的媒介
2、曾有過(guò)鋼絲、黑膠唱片、膠片、磁帶、激光唱片等等,這些媒介都需要精密復(fù)雜的機(jī)械傳動(dòng)裝置來(lái)配合,大多體積比較大,耗電大,控制不夠靈活,有介質(zhì)磨損,使用壽命有限?,F(xiàn)在,我們可以采用數(shù)碼電子技術(shù)將純的無(wú)任何機(jī)械的半導(dǎo)體集成電路(IC)去完成語(yǔ)聲信號(hào)的存儲(chǔ)和還原,這樣一類經(jīng)過(guò)存儲(chǔ)而還原播放的語(yǔ)言聲音,我們稱為 數(shù)碼語(yǔ)聲。這類保存著數(shù)碼語(yǔ)聲的集成電路我們稱為數(shù)碼語(yǔ)聲電路,或語(yǔ)聲IC,有了這些語(yǔ)聲IC聲音就能保留和還原,而且能被選擇性地反復(fù)播放,也就
3、能讓不會(huì)說(shuō)話的各種物品發(fā)出聲音或開(kāi)口說(shuō)話。語(yǔ)聲IC具有體積小、耗電少、可控制性能好、永無(wú)磨損、永久壽命等特點(diǎn)。它是采用電子處理技術(shù)將復(fù)雜的語(yǔ)聲信號(hào)“切分”成很多份,以最小的單位存儲(chǔ)在自己內(nèi)部的存儲(chǔ)器里。當(dāng)需要時(shí),再把這些小份拼接成完整的語(yǔ)聲信號(hào)播放出來(lái)。</p><p> 經(jīng)由語(yǔ)聲IC的處理、保存再回放出來(lái)的聲音效果會(huì)比原聲有一定的失真,現(xiàn)在還原聲音最好的是激光唱片方式,它的聲音取樣頻率是44.1KHZ,取樣位
4、數(shù)是24位,簡(jiǎn)單的說(shuō)就是把一秒鐘的語(yǔ)聲信號(hào)橫著切24份,再豎著切4萬(wàn)4千多份,累計(jì)把一秒鐘的信號(hào)切成了約100萬(wàn)份分別存儲(chǔ)在激光唱片上,等播放時(shí)再拼在一起還原出來(lái),因此有較好的還原度。而語(yǔ)聲IC因?yàn)橹圃旒夹g(shù)和成本問(wèn)題,其能夠使用的存儲(chǔ)器容量比較小,大多數(shù)的語(yǔ)聲IC都采用6KHZ5位采樣,即大約把一秒種的信號(hào)切成3萬(wàn)份,因此還原效果就要差不少。但隨著技術(shù)的發(fā)展,這一差距正在減少。</p><p> 語(yǔ)聲IC的成本
5、主要取決于內(nèi)部電路的復(fù)雜程度和存儲(chǔ)器的容量,在短時(shí)間語(yǔ)聲長(zhǎng)度的產(chǎn)品中,語(yǔ)聲IC的性能價(jià)格比是非常高,有的種類的語(yǔ)聲IC價(jià)格低到只有幾分錢,這是任何其它數(shù)碼語(yǔ)聲還原設(shè)備無(wú)法比擬的。</p><p> 關(guān)鍵詞 語(yǔ)音;IC;存儲(chǔ)器;聲音;語(yǔ)音芯片</p><p><b> 目錄</b></p><p><b> 摘 要I</b
6、></p><p><b> 目錄Ⅱ</b></p><p><b> 第1章 概述1</b></p><p> 1.1 國(guó)內(nèi)外研究現(xiàn)狀2</p><p> 1.2 語(yǔ)音播放的基本概念2</p><p> 1.3 語(yǔ)音芯片的分類2</p>
7、<p> 第2章 基于單片機(jī)的語(yǔ)音播放系統(tǒng)分析與設(shè)計(jì)4</p><p> 2.1 系統(tǒng)分析設(shè)計(jì)4</p><p> 2.2 單片機(jī)的選取7</p><p> 2.3 語(yǔ)音芯片芯片選取7</p><p> 2.4 語(yǔ)音芯片芯片選取8</p><p> 第3章 基于單片機(jī)語(yǔ)音播放系統(tǒng)的硬
8、件設(shè)計(jì)11</p><p> 3.1 音頻輸入電路的設(shè)計(jì)11</p><p> 3.2 ISD1720與AT89S52接口電路的設(shè)計(jì)12</p><p> 3.3 LED數(shù)碼管驅(qū)動(dòng)電路的設(shè)計(jì)12</p><p> 3.4 單片機(jī)硬件電路設(shè)計(jì)12</p><p> 3.4.1系統(tǒng)復(fù)位電路13<
9、/p><p> 3.4.2時(shí)鐘電路13</p><p> 3.5 電路板的制作13</p><p> 3.5.1 PROTEL 99SE 繪制原理圖14</p><p> 3.5.2 焊接電路板14</p><p> 3.6 MAX232 的電路設(shè)計(jì)14</p><p> 第4
10、章 基于單片機(jī)語(yǔ)音播放系統(tǒng)的軟件16</p><p> 4.1系統(tǒng)程序設(shè)計(jì)16</p><p> 4.2 KEIL3程序匯編調(diào)試與HEX燒寫23</p><p> 4.2.1 8051開(kāi)發(fā)工具23</p><p> 第4章 總結(jié)26</p><p><b> 參考文獻(xiàn)27</b&
11、gt;</p><p><b> 致謝28</b></p><p> 附錄1電路原理圖29</p><p><b> 第1章 概述</b></p><p> 1.1 國(guó)內(nèi)外研究現(xiàn)狀</p><p> 最近的十五年是電子行業(yè)突飛猛進(jìn)的時(shí)期,語(yǔ)聲IC的發(fā)展也見(jiàn)
12、證了這一過(guò)程,十幾年前的產(chǎn)品幾乎都被淘汰出局了,期間也曾有幾十種語(yǔ)聲IC不斷被開(kāi)發(fā)出來(lái),總的方向是集成度越來(lái)越高、功能越來(lái)越強(qiáng)大、音質(zhì)效果越來(lái)越好、成本越來(lái)越低。最后,經(jīng)得住市場(chǎng)考驗(yàn)的,目前在通用市場(chǎng)上幾乎只有三顆星星在閃耀。</p><p> 一是OTP芯片A8108A 、8208A 、840N 系列。這款芯片是美國(guó)ISSI公司大約在1992年開(kāi)發(fā)的,內(nèi)部有PROM存儲(chǔ)器,只能燒寫一次。原設(shè)計(jì)只是掩膜語(yǔ)音芯片
13、的開(kāi)發(fā)工程樣片。過(guò)去用戶在要求投產(chǎn)MASKROM語(yǔ)音芯片前,都希望廠家提供實(shí)驗(yàn)用的工程樣片,但大多數(shù)廠家都是提供一個(gè)由很復(fù)雜的分立器件電路搭建的開(kāi)發(fā)評(píng)估板——直到今天大多數(shù)廠家仍然如此,這板子很大只能和用戶的電路接口模擬使用,不能裝入用戶的產(chǎn)品中,更不能讓用戶小批量生產(chǎn)試投產(chǎn),而且投產(chǎn)出來(lái)的掩膜片與評(píng)估板的音質(zhì)、管腳、電性能都有所不同,令用戶風(fēng)險(xiǎn)很高。ISSI公司就開(kāi)發(fā)了這一款芯片,而且設(shè)計(jì)了該芯片的開(kāi)發(fā)工具,可以一起賣給用戶做實(shí)驗(yàn)和小
14、批量生產(chǎn),等試驗(yàn)成熟后再投大量而便宜的掩膜芯片??梢哉f(shuō)它只是作為推銷ISSI公司掩膜芯片的一個(gè)促銷手段來(lái)設(shè)計(jì)的,但是OTP芯片的快速開(kāi)發(fā)、簡(jiǎn)單易控制等特性引起很多設(shè)計(jì)工程師的青睞,一直使用至今。</p><p> 另外,隨著個(gè)性化時(shí)代的到來(lái),產(chǎn)品的設(shè)計(jì)日益多樣化,生產(chǎn)也朝著多品種、少數(shù)量的方向發(fā)展,再加上市場(chǎng)的風(fēng)云變幻加快,一般廠家用戶越來(lái)越不敢動(dòng)輒幾萬(wàn)、幾十萬(wàn)地投產(chǎn)掩膜芯片,幾乎都是先拿OTP片試打市場(chǎng),看市
15、場(chǎng)反應(yīng)和接受程度再來(lái)定奪。因此該系列產(chǎn)品的銷量近年來(lái)反而增大了很多。美國(guó) ISSI 公司在2002年停止了該系列產(chǎn)品的生產(chǎn),目前由臺(tái)灣的一家公司提供兼容的產(chǎn)品。二是ISD系列產(chǎn)品。這款是美國(guó)ISD公司大約在1994年開(kāi)發(fā)的,內(nèi)部有 EEPROM 存儲(chǔ)器,可以反復(fù)擦寫。ISD的這款產(chǎn)品具有劃時(shí)代的意義,因?yàn)樗捎盟^“模擬存儲(chǔ)技術(shù)”實(shí)現(xiàn)了極好的語(yǔ)聲還原效果,而且能錄能放,控制簡(jiǎn)單靈活,同時(shí)有很強(qiáng)的智能控制,令人耳目一新。該系列芯片經(jīng)過(guò)原珠
16、海特思高公司、原深圳矽源公司、原北京泰思特研究所、北京中青世紀(jì)公司近十年的努力推廣,目前已經(jīng)是通用語(yǔ)聲產(chǎn)品市場(chǎng)的主流。其中值得一提的是,由于ISD芯片的控制有一定的復(fù)雜性,在1996年前又兩項(xiàng)比較大的難點(diǎn)阻礙其應(yīng)用發(fā)展,一是ISD的技術(shù)資料一直只有很厚的英文資料和很簡(jiǎn)單的中文資料,二是美國(guó)ISD公司提供的編程開(kāi)發(fā)系統(tǒng)價(jià)格貴達(dá)1. 8萬(wàn)元/套,都令開(kāi)發(fā)技術(shù)人員</p><p> 美國(guó)ISD公司大約在1999年被臺(tái)
17、灣的華邦公司收購(gòu),成為其一個(gè)子公司。這幾年 ISD 公司還推出了一些長(zhǎng)時(shí)間的新產(chǎn)品,但在現(xiàn)在看來(lái)都不太成功。其原開(kāi)發(fā)的ISD1100、1400、2500、4000系列產(chǎn)品,語(yǔ)聲長(zhǎng)度涵蓋10秒至16分鐘非常經(jīng)典。 2002年ISD公司又開(kāi)發(fā)完成ISD1800系列產(chǎn)品,語(yǔ)聲長(zhǎng)度在6~20秒,以高音質(zhì)、低價(jià)格主打禮品玩具等低端市場(chǎng),銷售成績(jī)非常顯著。</p><p> 第三顆星是 2003 年底剛誕生的 PM50 系
18、列產(chǎn)品。這是北京中青世紀(jì)公司委托臺(tái)灣設(shè)計(jì)公司開(kāi)發(fā)的新款語(yǔ)聲 IC 系列,該公司一直是 ISD 產(chǎn)品在國(guó)內(nèi)的最大技術(shù)支持單位,非常熟悉電子市場(chǎng)和技術(shù)人員的需求,根據(jù)大量客戶對(duì) OTP 芯片和 ISD 芯片的需求反應(yīng)專門開(kāi)發(fā)了這款新的語(yǔ)聲芯片。其特點(diǎn)是采用單片機(jī) + 語(yǔ)音處理器 +FLASHRAM 結(jié)構(gòu),能反復(fù)擦寫、控制較 ISD 簡(jiǎn)單方便、有 20 秒 ~200 秒一系列產(chǎn)品較 OTP 芯片齊全等,更重要的是開(kāi)發(fā)人員用編程好的文件既能夠燒
19、寫 FLASHRAM 版本的 PM50 產(chǎn)品,也能交給廠家原樣生產(chǎn)幾個(gè)極為低廉的掩膜版本的 PM50 產(chǎn)品,兩者完全互換性能一致,這意味著國(guó)內(nèi)的任何普通技術(shù)人員也能自己設(shè)計(jì)、開(kāi)發(fā)掩膜語(yǔ)聲芯片。這也是數(shù)碼語(yǔ)聲電路發(fā)展歷史上劃時(shí)代的事件。</p><p> 1.2 語(yǔ)音播放的基本概念</p><p> 自然的語(yǔ)音、聲音是稍縱即逝的,聰慧的人類想了很多辦法來(lái)留存它們,這樣可以在任何需要的時(shí)候
20、重復(fù)播放出來(lái)。這種保留原聲的媒介曾有過(guò)鋼絲、黑膠唱片、膠片、磁帶、激光唱片等等,這些媒介都需要精密復(fù)雜的機(jī)械傳動(dòng)裝置來(lái)配合,大多體積比較大,耗電大,控制不夠靈活,有介質(zhì)磨損,使用壽命有限。</p><p> 現(xiàn)在,我們可以采用數(shù)碼電子技術(shù)將純的無(wú)任何機(jī)械的半導(dǎo)體集成電路 (IC) 去完成語(yǔ)聲信號(hào)的存儲(chǔ)和還原,這樣一類經(jīng)過(guò)存儲(chǔ)而還原播放的語(yǔ)言、聲音,我們稱為數(shù)碼語(yǔ)聲。</p><p>
21、1.3 語(yǔ)音芯片的分類</p><p><b> 1、隨錄隨放型的:</b></p><p> 和磁帶機(jī)一樣,可以自由地通過(guò)話筒或模擬音頻線路來(lái)進(jìn)行錄音,通過(guò)驅(qū)動(dòng)喇叭放音。這其中又分幾類型。</p><p> 怕斷電的,語(yǔ)聲保存需要很小的電流,象一些錄音賀卡,它以 SRAM 靜態(tài)存儲(chǔ)器 IC 為介質(zhì),斷電聲音丟失,保存電流很小。在錄音賀卡
22、等錄音禮品中常將幾??凼诫姵厍度氲疆a(chǎn)品中,這樣可以保存錄音幾個(gè)月甚至一年多。特點(diǎn)是可以較長(zhǎng)期保存語(yǔ)聲。不怕斷電的,象一些數(shù)碼錄音筆,它以 FLASHRAM 閃爍存儲(chǔ)器 IC 為介質(zhì),完全斷電后語(yǔ)聲還能保存十年以上。特點(diǎn)是價(jià)格較高。美國(guó) ISD 公司的 ISD 系列就是這類產(chǎn)品。它生產(chǎn)從 10 秒至 16 分鐘的一系列語(yǔ)聲芯片產(chǎn)品。</p><p> 2、編程錄入的只放型:</p><p>
23、; 象 MP3 隨身聽(tīng)播放機(jī)一樣,它的語(yǔ)聲(音樂(lè)歌曲)錄入需通過(guò)電腦、軟件和專用數(shù)字接口來(lái)完成,不能簡(jiǎn)單地通過(guò)話筒錄入,因此其成本價(jià)格較前者低。這其中根據(jù)使用存儲(chǔ)器的種類不同又分以下幾種類型,性能有所不同但其生產(chǎn)成本卻相差不大。</p><p> 一次編程OTP型,芯片內(nèi)部是PROM 結(jié)構(gòu)存儲(chǔ)器,可以通過(guò)外部數(shù)字接口將語(yǔ)聲文件或程序文件燒錄進(jìn)去,但只能燒錄一次,以后不能修改不能更換。ISSI 公司的22C01
24、2/022/040(臺(tái)灣公司的編號(hào)分別為A8108A 、8208A 、840N) ,還有一些 OTP 型的語(yǔ)音單片機(jī)都是此類。</p><p> 多次編程EPROM型,電路中用EPROM來(lái)存儲(chǔ)語(yǔ)聲數(shù)據(jù),它需要專用的燒錄工具把語(yǔ)聲數(shù)據(jù)放置在芯片中,這種芯片可以反復(fù)燒錄,壽命在幾十年,次數(shù)多了以后就會(huì)有一定的單元損壞這是比較早期的數(shù)碼語(yǔ)聲電路構(gòu)成方式,通常是語(yǔ)音處理UM5100加上外掛的EPROM老式的公交車語(yǔ)音報(bào)
25、站系統(tǒng)多采用這種方式。反復(fù)編程FLASHRAM型,電路中用FLASHRAM來(lái)存儲(chǔ)語(yǔ)聲數(shù)據(jù),它需要專用的燒錄工具或?qū)S脭?shù)字接口把語(yǔ)聲數(shù)據(jù)放置在芯片中,這種芯片可以反復(fù)燒錄,壽命可達(dá)到1萬(wàn)次以上。這是最新的數(shù)碼語(yǔ)聲電路構(gòu)成方式 ,現(xiàn)在流行的MP3播放器就是這種方式。中青世紀(jì)公司新開(kāi)發(fā)的PM50、PM64系列也是這一類。</p><p> 3、掩膜生產(chǎn)的只放型:</p><p> 和CD機(jī)一
26、樣,拿到手的就是定制好的語(yǔ)聲,自己不能更改,只能播放這類產(chǎn)品的成本最低。在客戶需求方面可以分兩類:</p><p> 標(biāo)準(zhǔn)聲源型,這是指在電子市場(chǎng)上可以買到的通用語(yǔ)聲芯片,例如各種警報(bào)聲、“倒車倒車請(qǐng)注意”、“這張是假幣”等等。它們是大批量生產(chǎn)出來(lái)的標(biāo)準(zhǔn)品,價(jià)格非常便宜。如果用戶能確認(rèn)可用,將是投資最少見(jiàn)效最快的選擇,只是不能根據(jù)自己的情況做任何變動(dòng),包括語(yǔ)聲的音調(diào)、音質(zhì)、觸發(fā)控制方式等。</p>
27、<p> 定制聲源型,這是用戶有自己的特殊要求而專門制作生產(chǎn)的,需要經(jīng)過(guò)設(shè)計(jì)開(kāi)發(fā)、制作樣片,確認(rèn)樣品,幾萬(wàn)片起做的芯片投單,確認(rèn)芯片,交貨等幾個(gè)過(guò)程,制作和生產(chǎn)周期約45天,一次投資一般大約在15萬(wàn)元(人民幣)以上,投資均攤在每個(gè)芯片上,數(shù)量越大價(jià)格越低。</p><p> 一直以來(lái),這類芯片的開(kāi)發(fā)和投產(chǎn)在用戶和開(kāi)發(fā)商都存在比較大的風(fēng)險(xiǎn),因?yàn)樗荒苄×靠焖偕a(chǎn),沒(méi)有一個(gè)小批量的生產(chǎn)測(cè)試和市場(chǎng)投放的
28、過(guò)程,而且開(kāi)發(fā)商提供的實(shí)驗(yàn)樣品和最后交付的產(chǎn)品有一定的差別(音質(zhì)、管腳、電性能等),因而容易出現(xiàn)用戶拒絕收貨的情況。給雙方都造成很大損失。</p><p> 第2章 基于單片機(jī)的語(yǔ)音播放系統(tǒng)分析與設(shè)計(jì)</p><p> 2.1 系統(tǒng)分析設(shè)計(jì)</p><p> 基于單片機(jī)語(yǔ)音系統(tǒng)系統(tǒng)采用集成語(yǔ)音播放器滿足語(yǔ)音合成播放,并將語(yǔ)音片段組合成連續(xù)的信號(hào)進(jìn)行播放,通過(guò)單
29、片機(jī)的SPI接口去實(shí)現(xiàn)與語(yǔ)音的錄制與播放,指示部分有單片機(jī)的數(shù)碼管去顯示。該測(cè)量?jī)x可實(shí)現(xiàn)多段錄音和自定義錄音。</p><p> 由以上大致分析,整個(gè)系統(tǒng)控制將由AT89S52單片機(jī)為核心構(gòu)成。選用ISD1720作為語(yǔ)音處理芯片,顯示信號(hào)可由單片機(jī)的I/O口進(jìn)行顯示</p><p> 圖2.1 系統(tǒng)分析設(shè)計(jì)圖</p><p> 2.2 單片機(jī)的選取</
30、p><p> 單片機(jī)是由大名鼎鼎的Intel公司發(fā)明的,最初的系列是MCS-48,后來(lái)有了更加完善的MCS-51,也就是經(jīng)常說(shuō)的51系列單片機(jī),它是一種8位的單片機(jī),這個(gè)系列的單片機(jī)包括了多個(gè)種類,如8031,8051,8751,8032,8052,8752等。其中,8051是最典型的產(chǎn)品,該系列的其他產(chǎn)品都是在8051的基礎(chǔ)上,進(jìn)行功能的增減而來(lái)的。所以人們習(xí)慣使用8051來(lái)稱呼MCS-51系列單片機(jī)。</
31、p><p> 后來(lái)Intel公司把它的核心技術(shù)轉(zhuǎn)讓給了世界上很多的小公司,所以世界上就有了許多公司生產(chǎn)51系列兼容單片機(jī),比如飛利浦的87LPC系列、華邦的W78系列、達(dá)拉斯的DS87系列、現(xiàn)代的GSM97系列等等。</p><p> 現(xiàn)在我國(guó)比較流行的是美國(guó)ATMEL公司的89C、89S系列。我們的實(shí)訓(xùn)板上就可以使用89S52芯片,它是在線可編程的,也就是說(shuō)我們可以通過(guò)并口下載線直接把程
32、序下載到芯片里面,使得對(duì)芯片的編程非常的方便。而89CX系列就沒(méi)有這個(gè)在線可編程的功能,我們必須使用專用的編程器才能把編程文件寫入芯片里面,這樣就會(huì)使得我們的學(xué)習(xí)成本增加。隨著集成電路技術(shù)的飛速發(fā)展,單片機(jī)技術(shù)的出現(xiàn)給現(xiàn)代工業(yè)測(cè)控領(lǐng)域帶來(lái)了一次新的技術(shù)革命。單片機(jī)以其高可靠性、高性價(jià)比,在工業(yè)測(cè)控系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化等諸多領(lǐng)域得到廣泛的應(yīng)用,并已步入家庭,在洗衣機(jī)、空調(diào)和電磁爐等家電中到處可見(jiàn)到單片機(jī)的蹤影。&
33、lt;/p><p><b> 主要特性</b></p><p> ● 與MCS-51單片機(jī)產(chǎn)品兼容</p><p> ● 4K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器</p><p> ● 1000次擦寫周期</p><p> ● 全靜態(tài)工作:0Hz—33MHz</p><p&g
34、t; ● 32個(gè)可編程I/O口線</p><p> ● 2個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ● 6個(gè)中斷源</b></p><p> ● 全雙工UART串行通道</p><p> ● 低功耗空閑和掉電模式</p><p> ● 掉電后中斷可喚醒</p>&
35、lt;p><b> ● 看門狗定時(shí)器</b></p><p><b> ● 雙數(shù)據(jù)指針</b></p><p> ● 靈活的ISP編程(字或字節(jié)模式)</p><p> ● 4.0---5.5V電壓工作范圍</p><p> 內(nèi)部結(jié)構(gòu):它可以劃分為CPU、存儲(chǔ)器、并行口、串行口、定時(shí)
36、/計(jì)數(shù)器和中斷邏輯幾個(gè)部分。</p><p> ● CPU由運(yùn)算器和控制邏輯構(gòu)成。其中包括若干特殊功能寄存器(SFR)</p><p> ● AT89S51時(shí)鐘有兩種方式產(chǎn)生,即內(nèi)部方式和外部方式(如圖2.2)。</p><p> ● AT89S51在物理上有四個(gè)存儲(chǔ)空間:片內(nèi)/片外程序存儲(chǔ)大路、片內(nèi)/片外數(shù)據(jù)存儲(chǔ)器。片內(nèi)有256B數(shù)據(jù)存儲(chǔ)器RAM和4KB的程
37、序存儲(chǔ)器ROM。除此之外,還可以在片外擴(kuò)展RAM和ROM,并且和有64KB的尋址范圍。</p><p> ● AT89S51內(nèi)部有一個(gè)可編程的、全雙工的串行接口。它串行收發(fā)存儲(chǔ)在特殊功能寄存器SFR的串行數(shù)據(jù)緩沖器SBUF中的數(shù)據(jù)。</p><p> ● AT89S51共有4個(gè)(P0、P1、P2、P3口)8位并行I/O端口,共32個(gè)引腳。P0口雙向I/O口,用于分時(shí)傳送低8位地址和8位
38、數(shù)據(jù)信號(hào);P1、P2、P3口均為準(zhǔn)雙向I/O口;其中P2口還用于傳送高8位地址信號(hào);P3口每一引腳還具有特殊功能,用于特殊信號(hào)的輸入輸出和控制信號(hào)。</p><p> 表2.1 P3口引腳的特殊功能</p><p> ● AT89S51內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器T0、T1。最大計(jì)數(shù)值為216-1。工作方式和定時(shí)器或計(jì)數(shù)器的選擇由指令來(lái)確定。</p><
39、p> ● 中斷系統(tǒng)允許接受5個(gè)獨(dú)立的中斷源,即兩個(gè)外部中斷,兩個(gè)定時(shí)器/計(jì)數(shù)器中斷以及一個(gè)串行口中斷。</p><p> c.外部特性(引腳功能)</p><p> AT89S51芯片有40條引腳,雙列直插式封裝引腳</p><p> ● Vcc(40):電源+5V</p><p> ● Vss(20): 接地</p&g
40、t;<p> ● XTAL1(19)和XTAL2(18):使用內(nèi)部振蕩電路時(shí),用來(lái)接石英晶體和電容;使用外部時(shí)鐘時(shí),用來(lái)輸入時(shí)鐘脈沖。</p><p> ● P0口(39—32):雙向I/O口。</p><p> 既可作地址/數(shù)據(jù)總線口用,也可作普通I/O口用。</p><p> ● P1口(1—8):準(zhǔn)雙向通用I/O口。</p>
41、<p> ● P2口(21—28):準(zhǔn)雙向口,既可作地址總線口輸出地址高8位,也可作普通I/O口用。</p><p> ● P3口(10—17):多用途口,既可作普通I/O口,也可按每位定義的第二功能操作。</p><p> ● ALE/~PROG(30):地址鎖存信號(hào)輸出端。在訪問(wèn)片外豐儲(chǔ)器時(shí),若ALE為有效高電平,則P0口輸出地址低8位,可以用ALE信號(hào)作外部地址鎖存
42、信號(hào)。公式(2—1)fALE=1/6fOSC ,也可作系統(tǒng)中其它芯片的時(shí)鐘源。第二功能~PROG是對(duì)EPROM編程時(shí)的編程脈沖輸入端。</p><p> ● RST/VPD(9):復(fù)位信號(hào)輸入端。AT89S51接能電源后,在時(shí)鐘電路作用下,該腳上出現(xiàn)兩個(gè)機(jī)器周期以上的高電平,使</p><p> 內(nèi)部復(fù)位。第二功能是VPD,即備用電源輸入端。當(dāng)主電源Vcc發(fā)生故障,降低到低電平規(guī)定值時(shí)
43、,VPD將為RAM提供備用電源,發(fā)保證存儲(chǔ)在RAM中的信號(hào)不丟失。這的格式修改</p><p> 2.2 AT89S51的時(shí)鐘電路</p><p> ● ~EA/Vpp(31):內(nèi)部和外部程序存儲(chǔ)器選擇線。~EA=0時(shí)訪問(wèn)外部ROM 0000H—FFFFH;~EA=1時(shí),地址0000H—0FFFH空間訪問(wèn)內(nèi)部ROM,地址1000H—FFFFH空間訪問(wèn)外部ROM。</p>
44、<p> ● ~PSEN(29):片外程序存儲(chǔ)器選通信號(hào),低電平有效。</p><p> 2.3語(yǔ)音芯片芯片選取</p><p> 模塊使用射頻芯片PT2262和PT2272組成接收頻率位514MHZ,接收模塊有七個(gè)引出端,分別為10、11、12、13、GND、17、VCC,其中VCC為5V供電端,GND為接地端, 17端為解碼有效輸出端,10、11、12、13是解碼芯PT
45、2272(SC2272)集成電路的10~13腳,為四位數(shù)據(jù)鎖存輸出端,有信號(hào)時(shí)能輸出5V左右的高電平,驅(qū)動(dòng)電流約2mA,與發(fā)射器上的四為個(gè)按鍵一一相對(duì)應(yīng)。</p><p> (L)――信號(hào)鎖定(互鎖型)</p><p> 即:按遙控器A鍵所對(duì)應(yīng)的A路輸高電平并保持,B路停止,按遙控器B鍵,A路停止,B路輸出高電平并保持,依次循環(huán)工作。</p><p> (M)
46、――信號(hào)暫存(非鎖型)</p><p> 即:按下遙控器A鍵,所對(duì)應(yīng)的A路輸出高電平,松開(kāi)遙控器按鍵,A路停止,依次循環(huán)工作。</p><p> (T)――信號(hào)自鎖(自鎖型)即:每一路都是觸發(fā)一次翻轉(zhuǎn)一次,就是按一下為開(kāi),再按一下為關(guān)。例如:按一下A鍵,A路輸出高電平并自保持,如果再按一下A鍵,A路停止輸出,其它通道類似,互相之間不會(huì)干擾。</p><p>
47、可以使用此模塊接收數(shù)據(jù),并控制小車的轉(zhuǎn)向,從而達(dá)到控制小車的目的。具體控制可以如下 無(wú)線模塊接收的17 引腳去接單片機(jī)中斷,單片機(jī)執(zhí)行中斷程序,去查詢是ABCD當(dāng)中那一個(gè)按下,從而確定按鍵的信號(hào),可以實(shí)現(xiàn)無(wú)線控制模塊的控制信號(hào)的分離,進(jìn)而讓單片機(jī)去執(zhí)行相應(yīng)的功能函數(shù)</p><p> 2.4 語(yǔ)音芯片芯片選取</p><p> ISD1700 系列是華邦公司新推出的語(yǔ)音芯片,用來(lái)替代已
48、經(jīng)停產(chǎn)的 ISD1400 系列及 ISD2500 系列芯片。 ISD1700 系列不僅在錄音時(shí)間上有更多的選擇(從 20秒到 240 秒) ,而且在功能上繼承 14 及 25 系列的所有錄放功能,并增加了一些更加人性化的提示功能及對(duì)存儲(chǔ)地址的精確操作。 ISD1700 的音質(zhì)也較 14 及 25 系列有明顯的提高。ISD1700系列芯片是華邦公司新推出的單片優(yōu)質(zhì)語(yǔ)音錄放電路,該芯片提供多項(xiàng)新功能, 包括內(nèi)置專利的多信息管理系統(tǒng), 新信息
49、提示 (vAlert) 雙運(yùn)作模式(獨(dú)立&嵌入式) ,以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動(dòng)增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。</p><p><b> a.主要特性</b></p><p> ·工作電壓:2.4V-5.5V,,最高不能超過(guò)6V </p><p>
50、·靜態(tài)電流:0.5 - 1 μA</p><p> ·工作電流:20mA</p><p><b> b.內(nèi)部結(jié)構(gòu)</b></p><p> ·可錄、放音十萬(wàn)次,存儲(chǔ)內(nèi)容可以斷電保留一百年。</p><p> ·兩種控制方式,兩種錄音輸入方式,</p><
51、p><b> 兩種放音輸出方式</b></p><p> ·可處理多達(dá) 255 段以上信息</p><p> ·有豐富多樣的工作狀態(tài)提示 </p><p> ·多種采樣頻率對(duì)應(yīng)多種錄放時(shí)間</p><p> ·音質(zhì)好,電壓范圍寬,應(yīng)用靈活,</p>&
52、lt;p><b> 價(jià)廉</b></p><p> c.外部特性(引腳功能如圖2.4)</p><p> VCCD 數(shù)字電路電源</p><p> /LED LED指示信號(hào)輸出</p><p> /RESET 芯片復(fù)位</p><p> MISO SPI接
53、口的串行輸出。ISD1700 在SCLK 下降沿之前的半個(gè)周期將數(shù)據(jù)放置在 MISO 端。數(shù)據(jù)在 SCLK 的下降沿</p><p> 時(shí)移出MOSI SPI接口的數(shù)據(jù)輸入端口。</p><p> 圖2.3 isd1700引腳功能</p><p> 主控制芯片在 SCLK 上升沿之前的半個(gè)周期將數(shù)據(jù)放置在 MOSI 端。數(shù)據(jù)在SCLK上升沿被鎖存在芯片內(nèi)。此
54、管腳在空閑時(shí),應(yīng)該被拉高SCLK SPI接口的時(shí)鐘。由主控制芯片產(chǎn)生,并且被用來(lái)同步芯片MOSI和MISO端各自的數(shù)據(jù)輸入和輸出。此管腳空閑時(shí),必須拉高。</p><p> /SS 為低時(shí),選擇該芯片成為當(dāng)前被控制設(shè)備并且開(kāi)啟 SPI接口??臻e時(shí),需要拉高</p><p> VSSA 模擬地</p><p> AnaIn 芯片錄音或直通時(shí),輔助
55、的模輸入。需要一個(gè)交流耦合電容(典值為0.1uF) , 并且輸入信號(hào)的幅值不超出1.0Vpp。APC寄存器的D3可以定Analn信號(hào)被立刻錄制到存儲(chǔ)器中與Mic信號(hào)混合被錄制到存儲(chǔ)器中,者被緩存到喇叭端并經(jīng)由直通線路AUD/AUX輸出。</p><p> MIC+ 麥克風(fēng)輸入+</p><p> MIC- 麥克風(fēng)輸入-</p><p> VSSP2
56、負(fù)極 PWM 喇叭驅(qū)動(dòng)器地</p><p> SP- 喇叭輸出-</p><p> VCCP PWM喇叭驅(qū)動(dòng)器電源</p><p> SP+ 喇叭輸出+</p><p> VSSP1 正極 PWM 喇叭驅(qū)動(dòng)器地</p><p> AUD/ AUX 輔助輸出,決定于APC寄存器的D7,
57、用來(lái)輸出一個(gè)AUD或AUX輸出。AUD是一個(gè)單端電流輸出,而AuxOut是一個(gè)單端電壓輸出。他們能夠被用來(lái)驅(qū)動(dòng)一個(gè)外部揚(yáng)聲器。出廠默認(rèn)設(shè)置為AUD。APC寄存器的D9可以使其掉電。</p><p> AGC 自動(dòng)增益控制</p><p> /VOL 音量控制</p><p> ROSC 振蕩電阻ROSC用一個(gè)電阻連接到地,決定芯片的采樣頻率&l
58、t;/p><p> VCCA 模擬電路電源</p><p> /FT 模式下,當(dāng) FT 一直為低,Analn 直通線路被激活。Analn 信號(hào)被立刻從 Analn 經(jīng)由音量控制線路發(fā)射到喇叭以及 AUD/AUX 輸出。D所控制。該管腳有一個(gè)內(nèi)部上拉設(shè)備和一個(gè)內(nèi)部防抖動(dòng)設(shè)計(jì),當(dāng)在 SPI 模式下,SPI無(wú)視這個(gè)輸入,而且直通線路被 APC 寄存器的,允許使用按鍵開(kāi)關(guān)來(lái)控制開(kāi)始和結(jié)
59、束。</p><p> /PLAY 播放控制端</p><p> /REC 錄音控制端</p><p> /ERASE 擦除控制端</p><p> /FWD 進(jìn)控制端</p><p> RDY /INT 一個(gè)開(kāi)路輸出。 Ready(獨(dú)立模式) 該管腳在錄音,放音,擦除和進(jìn)操作時(shí)保持為低,保
60、持為高時(shí)進(jìn)空閑狀態(tài) Interrupt(SPI 模式) 在完成 SPI 命令后,會(huì)產(chǎn)生一低信號(hào)的中斷。一旦中斷消除,該變回為高。</p><p> VSSD 數(shù)字地</p><p> 用戶可利用震蕩電阻來(lái)自定芯片的采樣頻率,從而決定芯片的錄放時(shí)間和錄放音質(zhì)。下表為 ISD1700的參數(shù)表:</p><p><b> d.微機(jī)接口</b&g
61、t;</p><p> 主控單片機(jī)主要通過(guò)四線(SCLK,MOSI,MISO,/SS)SPI協(xié)議對(duì)ISD1700進(jìn)行串行通信。ISD1700作為從機(jī),幾乎所有的操作都可以通過(guò)這個(gè)SPI協(xié)議來(lái)完成。為了兼容獨(dú)立按鍵模式,一些SPI命令:PLAY,REC,ERASE,F(xiàn)WD,RESET和GLOBAL_ERASE的運(yùn)行類似于相應(yīng)的獨(dú)立按鍵模式的操作。另外,SET_PLAY,SET_REC,SET_ERASE命令允許用
62、戶指定錄音、放音和擦除的開(kāi)始和結(jié)束地址。此外,還有一些命令可以訪問(wèn)APC寄存器,用來(lái)設(shè)置芯片模擬輸入的方式。</p><p> 第3章 基于單片機(jī)語(yǔ)音播放系統(tǒng)的硬件設(shè)計(jì)</p><p> 3.1 音頻輸入電路的設(shè)計(jì) </p><p> 芯片內(nèi)部包含有自動(dòng)增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。ISD1760的MIC+與
63、MIC-連接耳麥,通過(guò)連接兩個(gè)濾波電容去除雜波,雙運(yùn)作模式(獨(dú)立&嵌入式) ,以及可定制的信息操作指示音效。功能強(qiáng)大。不僅有錄、放功能,還有快進(jìn)、擦除、音量控制、直通放音和復(fù)位等功能。</p><p> 圖. 圖3.1 音頻輸入</p><p> 3.2 ISD1720與AT89S52接口電路的設(shè)計(jì)</p><p> ISD1700系列的SPI串
64、行接口操作遵照以下協(xié)議:一個(gè)SPI處理開(kāi)始于/SS管腳的下降沿。在一個(gè)完整的SPI指令傳輸周期,/SS管腳必須保持低電平數(shù)據(jù)在SCLK的上升沿鎖存在芯片的MOSI管腳,在SCLK的下降沿從MISO管腳輸出,并且首先移出低位。SPI指令操作碼包括命令字節(jié),數(shù)據(jù)字節(jié)和地址字節(jié),這決定于1700的指令類型 當(dāng)命令字及地址數(shù)據(jù)輸入到MOSI管腳時(shí),同時(shí)狀態(tài)寄存器和當(dāng)前行地址信息從MISO管腳移出。一個(gè)SPI處理在/SS變高后啟動(dòng)在完成一個(gè)SPI
65、命令的操作后,會(huì)啟動(dòng)一個(gè)中斷信息,并且持續(xù)保持為低,直到芯片收到CLR_INT命令或者芯片復(fù)位。</p><p> 圖3.2 ISD1720與AT89S52接口電路</p><p> 3.3 LED數(shù)碼管驅(qū)動(dòng)電路的設(shè)計(jì)</p><p> 數(shù)碼管在系統(tǒng)中可以作為播放顯示、計(jì)數(shù)顯示、電路如圖7所示。數(shù)碼管是LED的一種集成,將LED通過(guò)一定的形式安排在相應(yīng)的位
66、置就構(gòu)成了數(shù)碼管,當(dāng)相應(yīng)的段碼和位碼協(xié)同操作,于是就產(chǎn)生了數(shù)碼的顯示。在系統(tǒng)中,采用1位一體的集成數(shù)碼顯示器,內(nèi)部結(jié)構(gòu)為共陽(yáng)方式。在整體的數(shù)碼管顯示電路中,由P2口為數(shù)碼管提供相應(yīng)的段碼,分別為a、b、c、d、e、f、g、dp,組成顯示相應(yīng)數(shù)碼的字段;單片機(jī)的低電平信號(hào)時(shí)就導(dǎo)通,于是數(shù)碼管的位選端得到5V電源,提供數(shù)碼管的顯示操作。</p><p> 圖3.3 LED數(shù)碼管接口電路</p>&l
67、t;p> 3.4 單片機(jī)硬件電路設(shè)計(jì)</p><p> 系統(tǒng)設(shè)計(jì)電路圖如附1</p><p> 3.4.1系統(tǒng)復(fù)位電路</p><p> 復(fù)位是單片機(jī)的初始化操作,只要給RESET引腳加上2個(gè)機(jī)器周期以上的高電平信號(hào),即可使單片機(jī)復(fù)位。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運(yùn)行出錯(cuò)或是操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為了擺脫死鎖狀態(tài),也需要按復(fù)位鍵重新復(fù)
68、位。在系統(tǒng)中,為了實(shí)現(xiàn)上述的兩項(xiàng)功能,采用常用的按鍵電平復(fù)位電路,如圖3所示。從途中可以看出,當(dāng)系統(tǒng)得到工作電壓的時(shí)候,復(fù)位電路工作在上電自動(dòng)復(fù)位狀態(tài),通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn),只要Vcc的上升時(shí)間不超過(guò)1ms就可現(xiàn)自動(dòng)上電復(fù)位功能。在本系統(tǒng)中采用10uF的電容和10kΩ的電阻來(lái)實(shí)現(xiàn)復(fù)位電路。當(dāng)系統(tǒng)出錯(cuò)時(shí),直接按開(kāi)關(guān)實(shí)現(xiàn)模擬系統(tǒng)上電復(fù)位的功能,從而實(shí)現(xiàn)系統(tǒng)重新復(fù)位啟動(dòng)。</p><p> 圖3.4 按鍵
69、電平復(fù)位電路</p><p><b> 3.4.2時(shí)鐘電路</b></p><p> 時(shí)鐘電路是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)的,有條不紊地一拍一拍地工作。時(shí)鐘頻率直接影響單片機(jī)的度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。在本系統(tǒng)中采用內(nèi)部時(shí)鐘方式的電路,如圖4所示。電路中的電容C1、C2典型值為30±10 pF。外接代內(nèi)
70、容的值雖然沒(méi)有嚴(yán)格的要求,但是電容的大小會(huì)影響振蕩器的穩(wěn)定性和起振的快速性。</p><p> 同時(shí),在系統(tǒng)中采用11.0592MHz的晶體振蕩器來(lái)產(chǎn)生時(shí)鐘脈沖。一方面,可以滿足系統(tǒng)在設(shè)計(jì)時(shí)的機(jī)器周 圖3.5 單片機(jī)內(nèi)部時(shí)鐘電路 期的需要;另一方面,在進(jìn)行串行口通訊的時(shí)候能夠提供精準(zhǔn)的通訊波特率。 </p
71、><p> 3.5 電路板的制作</p><p> 3.5.1 PROTEL 99SE 繪制原理圖</p><p> “隨著計(jì)算機(jī)業(yè)的發(fā)展,從80年代中期計(jì)算機(jī)應(yīng)用進(jìn)入各個(gè)領(lǐng)域。在這種背景下,87、88”年由美國(guó)ACCEL Technologies Inc推出了第一個(gè)應(yīng)用于電子線路設(shè)計(jì)軟件包——TANGO,這個(gè)軟件包開(kāi)創(chuàng)了電子設(shè)計(jì)自動(dòng)化(ED
72、A)的先河。這個(gè)軟件包現(xiàn)在看來(lái)比較簡(jiǎn)陋,但在當(dāng)時(shí)給電子線路設(shè)計(jì)帶來(lái)了設(shè)計(jì)方法和方式的革命,人們紛紛開(kāi)始用計(jì)算機(jī)來(lái)設(shè)計(jì)電子線路,直到今天在國(guó)內(nèi)許多科研單位還在使用這個(gè)軟件包。</p><p> 隨著電子業(yè)的飛速發(fā)展,TANGO日益顯示出其不適應(yīng)時(shí)代發(fā)展需要的弱點(diǎn)。為了適應(yīng)科學(xué)技術(shù)的發(fā)展,Protel Technology公司以其強(qiáng)大的研發(fā)能力推出了Protel For Dos作為TA
73、NGO的升級(jí)版本,從此Protel這個(gè)名字在業(yè)內(nèi)日益響亮。八十年代末,Windows系統(tǒng)開(kāi)始日益流行,許多應(yīng)用軟件也紛紛開(kāi)始支持Windows操作系統(tǒng)。 Protel也不例外,相繼推出了Protel For Windows 1.0、Protel For Windows1.5等版本。九十年代中,Win95開(kāi)始出現(xiàn),Protel也緊跟潮流,推出了基于Win95的3.X版本。3.X
74、版本的Protel加入了新穎的主從式結(jié)構(gòu),但在自動(dòng)布線方面卻沒(méi)有什么出眾的表現(xiàn)。另外由于3.X版本的Protel是16位和32位的混合型軟件不太穩(wěn)定。98年,Prote公司推出了給人全新感覺(jué)的Proel98。Protel98以其出眾的自動(dòng)布線能力獲得了業(yè)內(nèi)人士的一直好評(píng)。99年,Protel公司又推出了最新一代的電子線路設(shè)計(jì)系統(tǒng)——Protel99。在Protel99中加入了許多全新的特色。</p><p>&l
75、t;b> a.原理圖設(shè)計(jì)系統(tǒng)</b></p><p> 原理圖設(shè)計(jì)系統(tǒng)是用于原理圖設(shè)計(jì)的Advanced Schematic系統(tǒng)。這部分包括用于設(shè)計(jì)原理圖的原理圖編輯器Sch以及用于修改、生成零件的零件庫(kù)編輯器</p><p> b.印刷電路板設(shè)計(jì)系統(tǒng)</p><p> 印刷電路板設(shè)計(jì)系統(tǒng)是用于電路板設(shè)計(jì)的Advanced
76、0;PCB。這部分包括用于設(shè)計(jì)電路板的電路板編輯器PCB以及用于修改、生成零件封裝的零件封裝編輯器PCBLib</p><p> c.信號(hào)模擬仿真系統(tǒng)</p><p> 信號(hào)模擬仿真系統(tǒng)是用于原理圖上進(jìn)行信號(hào)模擬仿真的SPICE 3f5系統(tǒng)。</p><p> d.可編程邏輯設(shè)計(jì)系統(tǒng) Protel99內(nèi)置編輯器</p><
77、;p> 可編程邏輯設(shè)計(jì)系統(tǒng)是基于CUPL的集成于原理圖設(shè)計(jì)系統(tǒng)的PLD設(shè)計(jì)系統(tǒng)。這部分包括用于顯示、編輯文本的文本編輯器Text和用于顯示、編輯電子表格的電子表格編輯器Spread。</p><p> 3.6 MAX232 的電路設(shè)計(jì)</p><p> MAX232 的11引腳接單片機(jī)TXD端P3^1,TTL電平從單片機(jī)的TXD端發(fā)出,警服哦MAX232 轉(zhuǎn)換為RS232 電
78、平后從MAX232 的14引腳T1out發(fā)出,再連接到串口座的2引腳,再經(jīng)過(guò)交叉線后,連接到PC機(jī)的串口座的第3引腳RXD端,至此計(jì)算機(jī)接收到數(shù)據(jù)。PC機(jī)發(fā)送數(shù)據(jù)時(shí)從PC機(jī)串口座的第2引腳TXD端發(fā)出數(shù)據(jù),再逆向流向單片機(jī)的RXD端P3^0接收數(shù)據(jù)。需要注意的是,MAX232 與串口座連接時(shí)無(wú)論是數(shù)據(jù)輸出還是數(shù)據(jù)輸入端,連接串口座的第2引腳或第3引腳都可以,選用不同的連接方式時(shí),單片機(jī)與計(jì)算機(jī)之間的串口線都要謹(jǐn)慎選擇,是選擇平行串口線還
79、是選擇交叉串口線,是選擇母頭對(duì)公頭串口線還是母頭對(duì)母頭串口線都要非常注意,每種選擇都有對(duì)應(yīng)的電路,但無(wú)論哪種搭配方式,大家都要明白,在單片機(jī)與計(jì)算機(jī)之間必須要有一條數(shù)據(jù)能互相傳輸?shù)幕芈罚灰盐蘸妹總€(gè)交接點(diǎn)就一定能通信成功。</p><p> 圖3.6 MAX232 的電路圖</p><p> 第4章 基于單片機(jī)語(yǔ)音播放系統(tǒng)的軟件</p><p> 4.1
80、系統(tǒng)程序設(shè)計(jì)</p><p> #include "reg52.h"</p><p> #include<intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p
81、> sbit sbnISD_SS = P1^0;// ISD1760的slave select</p><p> sbit sbISD_SCLK = P1^1;// ISD1760的SPI接口時(shí)鐘</p><p> sbit sbISD_MOSI = P1^
82、2;// ISD1760的SPI接口數(shù)據(jù)輸入端口</p><p> sbit sbISD_MISO = P1^3;// ISD1760的SPI接口的串行輸出</p><p> #define CMD_CLI_INT 0x04 //清中斷 </p><p> #define
83、 CMD_PU 0x01 //上電</p><p> #define CMD_RESET 0x03 //復(fù)位</p><p> #define CMD_PLAY 0x50 //放音</p><p&g
84、t; #define CMD_REC 0x51 //錄音</p><p> #define CMD_STOP 0x12 //停止</p><p> #define CMD_1760_SET_PLAY 0x90 //定點(diǎn)放音</p
85、><p> #define CMD_1760_SET_REC 0x91 //定點(diǎn)錄音</p><p> #define CMD_1760_G_ERASE 0x43 //定點(diǎn)錄音</p><p> #define CMD_1760_SET_ERASE 0x82
86、 //定點(diǎn)清除</p><p> uchar code dis[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p> uint code aSpeech_Addr[]={0x10,0x30,0x31,0x50,0x51,0x70,0x71,0x90};</p><p> un
87、signed char temp=0x80;</p><p> uint i, a,flag=0;</p><p> uchar zz;</p><p> void delayms(uint w)</p><p><b> {</b></p><p><b> uint x
88、,y;</b></p><p> for(x=w;x>0;x--)</p><p> for(y=110;y>0;y--);</p><p><b> }</b></p><p><b> //語(yǔ)音</b></p><p> uchar I
89、SD_SendByte(uchar BUF_ISD)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> uchar dat=BUF_ISD;</p><p> sbISD_SCLK=1;</p><p> s
90、bnISD_SS=0;</p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p> sbISD_SCLK=0;</p><p><b> _nop_();</b></p><p><b> _nop_(
91、);</b></p><p> if(dat&0x01)</p><p><b> {</b></p><p> sbISD_MOSI=1;</p><p><b> }</b></p><p><b> else</b>&
92、lt;/p><p><b> {</b></p><p> sbISD_MOSI=0;</p><p><b> }</b></p><p><b> dat>>=1;</b></p><p> if(sbISD_MISO==1)<
93、;/p><p><b> {</b></p><p> dat|=0x80;</p><p><b> }</b></p><p> sbISD_SCLK=1;</p><p><b> _nop_();</b></p><p&
94、gt;<b> _nop_();</b></p><p><b> }</b></p><p> sbISD_MOSI=0;</p><p><b> _nop_();</b></p><p> return(dat);</p><p><
95、;b> }</b></p><p> void ISD_Reset(void)</p><p><b> {</b></p><p> ISD_SendByte(CMD_RESET);</p><p> ISD_SendByte(0x00);</p><p> sbn
96、ISD_SS=1;</p><p><b> }</b></p><p> void ISD_PU(void)</p><p><b> {</b></p><p> ISD_SendByte(CMD_PU|0x10);</p><p> ISD_SendByte
97、(0x00);</p><p> sbnISD_SS=1;</p><p> delayms(50);</p><p><b> }</b></p><p> void ISD_ClrInt(void)</p><p><b> {</b></p>&
98、lt;p> ISD_SendByte(CMD_CLI_INT);</p><p> ISD_SendByte(0x00);</p><p> sbnISD_SS=1;</p><p> delayms(10); </p><p><b> }</b></p>&l
99、t;p> void ISD_GetToneAdd(uchar cNum, uint * ipStartAdd, uint * ipEndAdd)</p><p><b> {</b></p><p> *ipStartAdd=aSpeech_Addr[cNum *2];</p><p> *ipEndAdd=aSpeech_Add
100、r[cNum *2 + 1];</p><p><b> }</b></p><p> void ISD_SetPLAY(uchar cNum)</p><p><b> {</b></p><p> uint Add_ST, Add_ED;</p><p> uc
101、har Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;</p><p> ISD_GetToneAdd(cNum, &Add_ST, &Add_ED); // 取出當(dāng)前語(yǔ)音的首末地</p><p> Add_ST_L=(uchar)(Add_ST&0x00ff);</p><p> Add_ST_H=(u
102、char)((Add_ST>>8)&0x00ff);</p><p> Add_ED_L=(uchar)(Add_ED&0x00ff);</p><p> Add_ED_H=(uchar)((Add_ED>>8)&0x00ff);</p><p> ISD_SendByte(CMD_1760_SET_PLAY);
103、 // 發(fā)送放音指令</p><p> ISD_SendByte(0x00);</p><p> ISD_SendByte(Add_ST_L); //S7:S0 開(kāi)始地址</p><p> ISD_SendByte(Add_ST_H); //S10:S8</p><p> ISD_SendByte(Add_ED_L); //E7:E0
104、 結(jié)束地址</p><p> ISD_SendByte(Add_ED_H); //E10:E8</p><p> ISD_SendByte(0x00);</p><p> sbnISD_SS=1;</p><p> delayms(10);</p><p><b> }</b></
105、p><p> void ISD_Set_REC(uchar cNum)</p><p><b> {</b></p><p> uint Add_ST, Add_ED;</p><p> uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;</p><p>
106、; ISD_GetToneAdd(cNum, &Add_ST, &Add_ED); // 取出當(dāng)前語(yǔ)音的首末地</p><p> Add_ST_L=(uchar)(Add_ST&0x00ff);</p><p> Add_ST_H=(uchar)((Add_ST>>8)&0x00ff);</p><p> Add_
107、ED_L=(uchar)(Add_ED&0x00ff);</p><p> Add_ED_H=(uchar)((Add_ED>>8)&0x00ff);</p><p> ISD_SendByte(CMD_1760_SET_REC); // 發(fā)送錄音指令</p><p> ISD_SendByte(0x00);</p>
108、<p> ISD_SendByte(Add_ST_L); //S7:S0 開(kāi)始地址</p><p> ISD_SendByte(Add_ST_H); //S10:S8</p><p> ISD_SendByte(Add_ED_L); //E7:E0 結(jié)束地址</p><p> ISD_SendByte(Add_ED_H); //E10:E8<
109、/p><p> ISD_SendByte(0x00);</p><p> sbnISD_SS=1;</p><p> delayms(10);</p><p><b> } </b></p><p> void ISD_Set_ERASE(uchar cNum)</p><
110、;p><b> {</b></p><p> uint Add_ST, Add_ED;</p><p> uchar Add_ST_H, Add_ST_L, Add_ED_H, Add_ED_L;</p><p> ISD_GetToneAdd(cNum, &Add_ST, &Add_ED); // 取出當(dāng)前語(yǔ)音的
111、首末地</p><p> Add_ST_L=(uchar)(Add_ST&0x00ff);</p><p> Add_ST_H=(uchar)((Add_ST>>8)&0x00ff);</p><p> Add_ED_L=(uchar)(Add_ED&0x00ff);</p><p> Add_ED
112、_H=(uchar)((Add_ED>>8)&0x00ff);</p><p> ISD_SendByte(CMD_1760_SET_ERASE); // 發(fā)送刪除指令</p><p> ISD_SendByte(0x00);</p><p> ISD_SendByte(Add_ST_L); //S7:S0 開(kāi)始地址</p>
113、<p> ISD_SendByte(Add_ST_H); //S10:S8</p><p> ISD_SendByte(Add_ED_L); //E7:E0 結(jié)束地址</p><p> ISD_SendByte(Add_ED_H); //E10:E8</p><p> ISD_SendByte(0x00);</p><p>
114、 sbnISD_SS=1;</p><p> delayms(10);</p><p><b> } </b></p><p><b> main()</b></p><p><b> {</b></p><p> TMOD=0x20;
115、</p><p><b> TH1=0xfd;</b></p><p><b> TL1=0xfd;</b></p><p><b> TR1=1;</b></p><p> SCON=0x50;</p><p><b> EA=1;
116、</b></p><p><b> ES=1;</b></p><p> ISD_Reset();</p><p> ISD_PU(); </p><p> delayms(50); </p><p> ISD_ClrInt(); </p><p>
117、 delayms(50);</p><p><b> while(1)</b></p><p><b> { </b></p><p> if(flag==1)</p><p> { flag=0;</p><p><b> ES=0;</b
118、></p><p><b> if(a==1)</b></p><p><b> {</b></p><p> ISD_Set_ERASE(0);</p><p> delayms(500);</p><p> ISD_Set_REC(0);</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的語(yǔ)音播放系統(tǒng)分析與設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) 基于單片機(jī)的數(shù)碼錄音與播放系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的語(yǔ)音存儲(chǔ)與回放系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)的語(yǔ)音控制小車畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的語(yǔ)音識(shí)別系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)(論文)-單片機(jī)音樂(lè)播放器設(shè)計(jì)
- 基于單片機(jī)的語(yǔ)音識(shí)別系統(tǒng) 畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于單片機(jī)的語(yǔ)音識(shí)別系統(tǒng)
- 畢業(yè)設(shè)計(jì)-- 基于單片機(jī)的音樂(lè)播放器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的音樂(lè)播放器
- 畢業(yè)設(shè)計(jì)—基于單片機(jī)的音樂(lè)播放器
- 畢業(yè)論文-基于單片機(jī)的錄音與播放系統(tǒng)
- 基于單片機(jī)的mp3播放器設(shè)計(jì)-畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的數(shù)碼錄音與播放系統(tǒng)設(shè)計(jì)論文.doc
- 基于單片機(jī)的數(shù)碼錄音與播放系統(tǒng)設(shè)計(jì)論文.doc
- 基于單片機(jī)的溫度控制系統(tǒng)分析
- 基于單片機(jī)的溫度控制系統(tǒng)分析
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的數(shù)字語(yǔ)音溫度計(jì)
- 基于單片機(jī)的無(wú)線語(yǔ)音對(duì)講系統(tǒng)設(shè)計(jì)-畢業(yè)設(shè)計(jì)開(kāi)題報(bào)告
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)控制的語(yǔ)音錄放器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論