版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)設計(論文)</p><p><b> ( 屆)</b></p><p> 論文題目 基于單片機的語音播報器設計 </p><p> ?。ㄓ⑽模?Design of the voice broadcast based on MCU</p><p> 所在學院
2、 電子信息學院 </p><p> 專業(yè)班級 電子信息工程 </p><p> 學生姓名 學號 </p><p> 指導教師 職稱 </p><p> 完成日期 年
3、 月 日</p><p><b> 摘要</b></p><p> 人們在現(xiàn)代社會工作繁多時間緊湊,生活節(jié)奏快速增加,合理的安排和遵守時間成為每個人的愿望,本文介紹的智能記事器,采用語音播報,隨著語音芯片的普及,語音報播被廣泛應用于車站報站器,語音型數(shù)字萬用表,公交車語音報站器等。可快速直觀的給人們提醒工作日程,將成為人們生活中的好幫手。</p&g
4、t;<p> 本文提出了基于AT89C51 單片機的語音播報器的設計方案。方案以單片機作為系統(tǒng)的控制核心,詳細介紹了ISD 公司生產(chǎn)的ISD4004 語音芯片的優(yōu)點及其使用方法。并且給出了用AT89C51 與ISD4004 構成的語音系統(tǒng)的硬件原圖和軟件設計方法。采用ISD 單片語音錄音/放音集成電路系列中的ISD4004 實現(xiàn)了語音的存儲和播放,使語音音質(zhì)自然真實。ISD4004 不需要A/D 和D/A 轉(zhuǎn)換,并且集成
5、度高,能實現(xiàn)復雜的信息處理功能,真實的再現(xiàn)語音。實現(xiàn)了當按下開始鍵,啟動錄音,松開開始鍵,結束錄音。結束錄音后,循環(huán)播放所錄音的基本功能。并且錄放系統(tǒng)具有電路簡明、應用方便、單片錄放、不怕掉電、音色純正、性價比高等特性。</p><p> 關鍵詞:電子信息;單片機;語音芯片;ISD4004</p><p><b> Abstract</b></p>
6、<p> People in modern society are compact work schedule, with the accelerated pace of life, reasonable arrangements for time and comply with the time is the desire of everybody, this paper introduces the intelligen
7、t recorder, using voice broadcast, with the speech chip popularization, voice broadcast is widely used in stations stations, digital multimeter voice, bus voice station reporting device. Fast intuitive reminds work sched
8、ule, people's lives will become the powerful assistant.</p><p> This article proposed based on AT89C51 single chip voice broadcast device design. Solution to SCM as the core of the control system, intro
9、duces in detail the production company ISD ISD4004 voice chips advantages and its using method. And this paper gives the AT89C51 and ISD4004 voice system hardware and software design methods. Using ISD single chip voice
10、recording / Playback IC Series in ISD4004 realize the voice storage and playback of speech quality, make natural truth. ISD4004 does not requi</p><p> Key words: electric information; single chip; voice chi
11、p; ISD4004</p><p><b> 目 錄</b></p><p><b> 1引言1</b></p><p><b> 2系統(tǒng)設計方案2</b></p><p> 2.1總體設計方案2</p><p><b>
12、3硬件電路設計3</b></p><p> 3.1微處理器AT89C513</p><p> 3.1.1 AT89C51單片機的引腳3</p><p> 3.1.2 AT89C51單片機部分系統(tǒng)4</p><p> 3.1.3 AT89C51單片機電源電路5</p><p> 3.1.4
13、 AT89C51單片機復位電路5</p><p> 3.1.5 AT89C51單片機時鐘電路6</p><p> 3.2 ISD4004語音模塊6</p><p> 3.2.1揚聲器和話筒8</p><p> 3.3 Altium Designer設計硬件電路8</p><p><b>
14、4軟件設計10</b></p><p> 4.1總體程序流程圖10</p><p> 4.2語音錄制存儲模塊11</p><p> 4.2.1錄音部分子程序簡介12</p><p> 4.2.2結束錄音部分子程序簡介12</p><p> 4.3語音播放模塊13</p>
15、<p> 4.4 AT89C51工作模式14</p><p> 4.4.1工作模式寄存器TOMD14</p><p> 4.4.2控制寄存器TCON15</p><p> 4.5 ISD4004工作模式15</p><p> 4.6 keil C51軟件的使用17</p><p><
16、b> 5結論19</b></p><p><b> 6致謝20</b></p><p><b> 參考文獻21</b></p><p> 附錄1 系統(tǒng)實物圖22</p><p> 附錄2 系統(tǒng)實驗原理圖23</p><p> 附錄
17、3 語音模塊PCB布線圖24</p><p> 附錄4 畢業(yè)設計作品說明書25</p><p> 附錄5 程序26</p><p><b> 主程序:26</b></p><p> 放音錄音部分子程序28</p><p><b> 1引言</b>&l
18、t;/p><p> 隨著人類社會的不斷進步,隨著語音芯片的普及,語音報播被廣泛應用于車站報站器,語音型數(shù)字萬用表,出租車語音報站器,排隊機等,并且面向家庭個人使用的方向發(fā)展,更加人性化。隨著電子技術的廣泛應用,其自動化程度越來越高,使用范圍越來越廣,前景十分喜人。自動語音提示技術是計算機語音處理技術的一種應用,屬于語音再生合成技術范疇。錄放系統(tǒng)具有電路簡明、應用方便、單片錄放、不怕掉電、音色純正、性價比高等特性,與
19、此相關的語音系統(tǒng)已廣泛地用于通信、工控 、醫(yī)療、報警等領域。同時,隨著大規(guī)模語音處理集成電路的發(fā)展,在傳統(tǒng)的控制領域,語音提示的應用也越來越廣泛[1]。</p><p> 語音是人類最自然、方便、快捷的交流方式,讓人和機器能夠通過自然語音進行交流是人們長期以來的夢想。隨著單片機的技術的日益發(fā)展,人們已經(jīng)不再滿足于鍵盤輸入,屏顯輸出這樣傳統(tǒng)的輸入/輸出方式,希望擁有更友好的人機界面,更便捷的操作方式。具有語音功能
20、的單片機系統(tǒng)于是應運而生,而且得到了廣泛的應用。近年來計算機在各行業(yè)的日益普及應用,給各行業(yè)帶來了嶄新的面貌。與此同時用戶逐步對各種計算機應用系統(tǒng)提出了更高的要求 ,他們希望自己的系統(tǒng)有更高的自動化程度和更方便的人機界面。語音技術的進展給這種應用需要提供了一種有力的技術支持,逐漸被廣大用戶所接受,并廣泛用于各種需要語音響應的場合。智能儀器、儀表、監(jiān)控設備、工業(yè)控制系統(tǒng)等都有這種需求。所以研究語音播報器對生產(chǎn),生活都有極其重要的意義[2]
21、。</p><p><b> 2系統(tǒng)設計方案</b></p><p><b> 2.1總體設計方案</b></p><p> 本課題主要研究設計一款類似留言機的語音播報器,該播報器設計核心處理器是單片機AT89C51,語音芯片為ISD4004。為了實現(xiàn)語音錄放的功能,即按一下開始鍵,啟動錄音,按一下結束鍵,結束錄音。
22、結束錄音后,按播放鍵播放所錄的聲音。為了使語音播報器的音質(zhì)好, 功能強, 實驗運行效果好,使用起來簡單,所以本設計采用的設計框圖如圖2-1所示:</p><p> 圖 2-1 總體設計框圖</p><p> 由上面的總體設計框圖可知:本設計主要包括,按鍵,單片機模塊控制整個系統(tǒng),語音芯片模塊主要存儲所錄制的語音,話筒和揚聲器為接收語音和播放語音裝置。其中單片機為本設計的控制核心,它控制
23、語音芯片,實現(xiàn)對聲音的存儲和播放。</p><p> 綜合本設計的設計方案可知:主要的硬件電路有單片機最小系統(tǒng)和語音模塊的電路及其外圍電路,及其接口電路。所以根據(jù)上面的內(nèi)容,可以將本例的功能硬件模塊劃分為:</p><p> 1、單片機最小系統(tǒng):系統(tǒng)的控制電路。</p><p> 2、語音錄放電路:包括語音芯片的外圍電路和單片機的接口電路。</p>
24、<p> 3、軟件部分用C語言編寫程序,單片機程序控制語音芯片的正常工作。</p><p><b> 3硬件電路設計</b></p><p> 本次設計的語音播報系統(tǒng)硬件主要有兩大模塊:微處理器AT89C51系統(tǒng)和ISD4004語音模塊。硬件設計軟件為Altium Designer,使用Altium Designer軟件對電路板進行精心的設計,使設
25、計達到一定的美觀程度。</p><p> 3.1微處理器AT89C51</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指
26、令集和輸出管腳相兼容[4]。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案[5]。51單片機雖然和DSP,ARM相比處理速度和運算速度上都比較慢,但它的體積小、質(zhì)量輕、價格便宜,它的速度可以滿足本次實驗的要求,所以我們采用AT89C51這款單片機。</p><p> 3.1.1 AT89C51單片機的引腳<
27、;/p><p> AT89C51引腳結構如圖3-1所示:</p><p> 圖3-1 AT89C51單片機引腳結構圖</p><p> 本次設計將AT89C51單片機最小系統(tǒng)為一個模塊,將硬件電路采用模塊化設計,方便硬件電路的修改,避免互相干擾。單片機AT89C51模塊的引腳P1.1、P1.2、P1.3和P1.4分別與語音芯片ISD4004模塊的引腳/SS、MO
28、SI、MISO和SCLK連接起來,實現(xiàn)單片機對語音芯片的控制。</p><p> 3.1.2 AT89C51單片機部分系統(tǒng)</p><p> 語音錄放電路的單片機部分原理圖如圖3-2所示:</p><p> 圖3-2 語音錄放電路的單片機部分電路圖</p><p> 在圖3-2中為單片機芯片AT89C51部分電路原理圖,工作于12MH
29、z的時鐘。單片機的P1.1、P1.2、P1.3和P1.4引腳提供語音芯片ISD4004的地址/模式輸入,通過這些引腳,單片機可以配置ISD4004操作模式。</p><p> 單片機控制語音芯片ISD4004的錄音/放音模式的選擇,按一下K1錄音鍵給單片機P3.2口輸入一個低電平,單片機對語音芯片發(fā)出錄音指令,語音芯片實現(xiàn)錄音操作;按一下K2結束錄音鍵給單片機P3.3口輸入一個低電平,單片機對語音芯片發(fā)出結束錄
30、音指令,語音芯片停止錄音;按一下K1錄音鍵給單片機P3.3口輸入一個低電平,單片機對語音芯片發(fā)出播放指令,語音芯片地所錄制存儲的語音信號進行播放。</p><p> 3.1.3 AT89C51單片機電源電路</p><p> AT89C51單片機電源電路如圖3-3所示:</p><p> 圖 3-3 AT89C51單片機電源電路</p><
31、p> 在電源引腳并聯(lián)一個0.1uf的小電容目的是1.濾波,引入濾波電容的原因是要獲得平滑穩(wěn)定的電壓,因為電容兩端的電壓不能突變,所以它能抑制電壓的波動,使電壓變得平穩(wěn)光滑主要作用有兩個:1.去除器件之間的交流射頻耦合。它能將器件的電源端上瞬間的尖峰、毛刺對地短路掉。2.去耦。</p><p> 3.1.4 AT89C51單片機復位電路</p><p> AT89C51單片機復位
32、電路如圖3-4所示:</p><p> 圖3-4 AT89C51單片機復位電路</p><p> AT89C51單片機在啟動時都需要復位,使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期),則CPU就可以響應并將系統(tǒng)復位。上圖為手動復位電路,進行單片機的初始化操作,通過接通按
33、鈕開關,使單片機進入復位狀態(tài)把PC初始化為0000H,將原來的存儲的內(nèi)容清除掉,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位鍵重新啟動。</p><p> 3.1.5 AT89C51單片機時鐘電路</p><p> AT89C51單片機時鐘電路如圖3-5所示:</p><
34、p> 圖3-5 AT89C51單片機時鐘電路</p><p> AT89C51芯片內(nèi)部有一個高增益反相放大器,用于構成振蕩器,引腳XTAL1和XTAL2分別是這個放大器的輸入端和輸出端。兩端跨接石英晶體及兩個電容就可以構成穩(wěn)定的自激振蕩器。兩個電容通常取22pf左右,可穩(wěn)定頻率并對振蕩頻率有微調(diào)作用。該復位電路中采用12MHz的晶振,振蕩脈沖頻率范圍為1.2~24MHz。</p><
35、p> 3.2 ISD4004語音模塊</p><p> 語音模塊采用ISD4004語音芯片為核心,該芯片采用CMOS技術,內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪及高密度多電平閃爍存貯。該芯片的多電平直接模擬存儲專利技術,聲音不需要進行A/D轉(zhuǎn)換和壓縮,模擬信號直接存儲在片內(nèi)的閃爍存儲器中,沒有A/D轉(zhuǎn)換誤差,因此能夠真實、自然地再現(xiàn)語音、音樂及效果聲。避免了傳統(tǒng)錄音電路量化和壓縮造成
36、的量化噪聲和金屬聲。</p><p> ISD4004系列語音芯片的所有操作由微控制器控制,操作命令通過串行通信接口(SPI)送入。錄音采樣頻率可為4.0Hz、5.3Hz、6.4Hz、8.0Hz,錄放時間可為16min、12min、10min、8min。采樣頻率越低,錄放時間越長,但音質(zhì)則有所下降。片內(nèi)信息存于閃爍存儲器中,可在斷電情況下保存100年,能夠反復錄音10萬次(典型值)。器件工作電壓為3V,工作電流
37、為15~25mA,維持電流為1μA。語音播放模塊電路的原理圖如圖3-6所示:</p><p> 圖3-6 語音芯片ISD4004部分原理圖</p><p> 由于ISD4004是數(shù)模的混合芯片,因此對數(shù)字信號和模擬信號的處理是PCB設計需要著重考慮的問題。在芯片內(nèi)部使用不同的模擬地和數(shù)字地,模擬電源和數(shù)字電源,他們分別通過VSSA,VSSD,VCCA和VCCD引出,VSSA,VSSD
38、兩引腳最好通過低電阻抗通路連接地;VCCA和VCCD最好也分別走線,并應盡可能在靠近供電端處相連,電源腳附近的去耦電容應盡量靠近芯片,能夠濾除直流電流上的紋波,去除雜音,使音質(zhì)更好。</p><p> 3.2.1揚聲器和話筒</p><p> 揚聲器輸出(SP+、SP-):可驅(qū)動16Ω以上的喇叭(內(nèi)存放音時功率為12.2mW,AUX 1N放音時功率為50mW)。單端輸出時必須在輸出端和
39、喇叭間接耦合電容而雙端輸出則不用電容就能將功率提高至4倍。使用放大器將語音信號進行放大,再通過揚聲器播放,語音信號放大電路如下圖3-7所示:</p><p> 圖3-7語音信號放大電路原理圖</p><p> 話筒輸入(MIC):該端連至片內(nèi)前置放大器。片內(nèi)自動增益控制電路(AGC)可將增益控制在-15-24dB。外接話筒應通過串聯(lián)電容耦合到該端。耦合電容值和該端的10KΩ輸入阻抗決定
40、了芯片頻帶的低頻截止點。</p><p> 3.3 Altium Designer設計硬件電路</p><p> Altium Designer是業(yè)界第一款也是唯一一種完整的板級設計方案。Altium Designer拓寬了板級設計的傳統(tǒng)界限,集成了FPGA設計功能,從而允許工程師能將系統(tǒng)設計中的FPGA與PCB設計集成在一起。Altium Designer還著重在對布線,F(xiàn)PGA器件
41、差分對管腳的動態(tài)分配,PCB和FPGA之間的全面集成操作,在PCB文件中支持多國語言(中文、英文、德文、法文、日文),任意字體和大小的漢字字符輸入,光標跟隨在線信息顯示功能,光標點可選器件列表,復雜BGA器件的多層自動扇出,提供了對高密度封裝(如BGA)的交互布線功能,總路布線功能,器件精確移動,快速鋪銅等功能。</p><p> Altium Designer以強大的設計功能為特點,在FPGA和板級設計中,同
42、時支持原理圖輸入和HDL硬件描述輸入模式;同時支持基于VHDLR 設計仿真,混合信號電路仿真、布局前后信號完整性分析。Altium Designer軟件設計界面如圖3-8所示:</p><p> 圖3-8 Altium Designer軟件界面圖</p><p> 利用Altium Designer進行電路設計需要三個步驟如圖3-9所示:</p><p> 圖
43、 3-9 Altium Designerl設計電路步驟圖</p><p> 本設計利用Altium Designer軟件畫的硬件電路圖主要有單片機AT89C51的最小系統(tǒng)和語音芯片ISD4004電路及它們的接口電路。最后將整個電路板制作出來,焊接電路板元器件。</p><p><b> 4軟件設計</b></p><p> 本次設計的語音
44、播報系統(tǒng)是以AT89C51為核心建立的系統(tǒng),主要包括語音錄制存儲和語音播放模塊兩大部分。在軟件編輯方面,需要對語音錄音和語音播放兩部分分別構成的子函數(shù)進行編輯,在編輯中需要用keil C51軟件。語音錄制存儲模塊是單片機控制ISD4004語音芯片接收語音信號,將語音信號存入芯片中。語音播放模塊是通過單片機控制ISD4004發(fā)送語音信號的指令,通過揚聲器發(fā)出聲音。</p><p> 4.1總體程序流程圖</
45、p><p> 本設計主要通過單片機對ISD4004的控制實現(xiàn)指定地址入口的錄音和循環(huán)播放。程序?qū)崿F(xiàn)過程:“開始”鍵按一下,即系統(tǒng)上電后,系統(tǒng)初始化,然后判斷開始鍵是被按了一下,如果被按則單片機控制PD,P/R引腳低電平,并指向錄音地址,啟動錄音過程。在預先設定的時間內(nèi),(小于60s)結束錄音,按一下“結束”鍵單片機控制P/R引腳回到高電平,即完成一段語音的錄制。按一下“播放”鍵之后打開外部中斷0,指定放音地址,啟動
46、放音程序??傮w程序流程如圖4-1所示:</p><p> 圖4-1 總體程序流程圖</p><p> 4.2語音錄制存儲模塊</p><p> 本模塊主要通過單片機對ISD4004的控制實現(xiàn)指定地址入口的錄音。錄音部分程序主要實現(xiàn)下面的過程:</p><p> 錄音鍵被按下,即系統(tǒng)上電后,系統(tǒng)初始化,然后判斷開始鍵是被按下,如果被按下
47、則單片機控制PD,P/R引腳低電平,并指向錄音地址,調(diào)用錄音函數(shù),啟動錄音過程,可以進行多次錄音存儲。在最長錄音時間范圍內(nèi)按下結束鍵,單片機控制P/R引腳回到高電平,即完成一段語音的錄制。語音錄制程序流程如圖4-2所示:</p><p> 圖4-2錄音程序流程圖</p><p> 4.2.1錄音部分子程序簡介</p><p> //錄音部分子程序,地址由ADD
48、RESS決定</p><p> void record(void) </p><p> { unsigned int y;</p><p><b> SS = 0;</b></p><p> MOSI = 0;// 發(fā)送開始</p><p><
49、b> SCLK = 0;</b></p><p> for(y=0; y<8; y++)</p><p> {SCLK = 0;</p><p> if((0x20>>y) & 0x01)</p><p><b> {MOSI=1;}</b></p>&
50、lt;p> 以上程序中MOSI為串行輸入端,SCLK為時鐘脈沖,if((0x20>>y) & 0x01)為上電命令。上電之前MOSI串行輸入端為低電平,上電之后串行輸入端變成高電平。</p><p> for(y=0; y<16; y++)</p><p><b> {SCLK=0;</b></p><p>
51、; if((address>>y) & 0x01)</p><p> {MOSI = 1;}else </p><p> {MOSI = 0;}</p><p> 上電結束后,進行發(fā)送16位地址。地址發(fā)送結束后,開始錄音,將錄下的語音信號存入芯片地址中。</p><p> 4.2.2結束錄音部分子程序簡介<
52、/p><p> void stop(void)</p><p> { unsigned char y;</p><p><b> SS = 1;</b></p><p><b> SS = 0;</b></p><p> MOSI = 0; </p>
53、<p><b> SCLK = 0;</b></p><p> for(y=0; y<8; y++)</p><p><b> {</b></p><p><b> SCLK = 0;</b></p><p> if((0x30>>y)
54、 & 0x01)</p><p><b> {MOSI=1;}</b></p><p> 0x30為停止當前操作地址,當0x30發(fā)送后結束當前正在錄音的操作,便停止了錄音。</p><p><b> 4.3語音播放模塊</b></p><p> 本模塊主要通過單片機對ISD4004的
55、控制實現(xiàn)播放函數(shù)的調(diào)用,進行播放存儲著的語音信號。播放語音部分程序主要實現(xiàn)下面的過程:</p><p> 在結束錄音后,按下播放鍵之后從指定放音地址,調(diào)用播放函數(shù),開始語音信號的播放。語音播放程序流程如圖4-3所示:</p><p> 圖4-3錄音播放流程圖</p><p> 4.4 AT89C51工作模式</p><p> 定時器共
56、有兩個控制,有軟件寫入TMOD和TCON兩個8位寄存器,用來設置兩個T0或T1的操作模式和控制功能。當AT89C51系統(tǒng)復位時,兩個寄存器所有位都被清零。</p><p> 4.4.1工作模式寄存器TOMD</p><p> TOMD用于控制T0和T1工作模式,其各位的定義格式如圖4-4所示:</p><p> 定時器T1
57、 定時器T0</p><p> 圖 4-4 工作模式寄存器TMOD的位定義</p><p> 其中,低四位用于T0,高4位用于T1。 </p><p> 以下介紹各個位的功能:</p><p> 1、M1和M1:操作模式控制位。兩位可形成4種編碼,對應于四種操作模式(即四種電路結構)。</p><p>
58、; 2、C/T:定時器/計數(shù)器方式選擇位。</p><p> 3、C/T=0,設置為定時方式。定時器計數(shù)89C51片內(nèi)脈沖,亦即對機器周期(振蕩周期的12倍)計數(shù)。</p><p> 4、C/T=1,設置為計數(shù)方式,計數(shù)器的輸入是來自T0(P3.4)或T1(P3.5)端的外部脈沖</p><p> 5、GATE:門控位。</p><p&g
59、t; 6、GATE=0時,只要用軟件使TR0(或TR1)置1,就可以啟動定時器,而不管INT0(或INT1)電平是高還是低</p><p> 7、GATE=1時,只有INT0(或INT1)引腳為高電平且由軟件使TR0(或TR1)置1時,才能啟動定時器工作。</p><p> 8、TOMD不能位尋址,只能用字節(jié)設置定時器的工作模式,低半字節(jié)設定T0,高半字節(jié)設定T1[11]。</
60、p><p> 4.4.2控制寄存器TCON</p><p> 定時器控制寄存器TCON除可字節(jié)尋址外,各位還可位尋址,各位定義及格式如圖4-5所示:</p><p> 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H</p><p> 圖4-5 控制寄
61、存器TCON的位定義</p><p> TCON各個位的作用如下。</p><p> 1、TF1(TCON.7): T1溢出標志位。當T1溢出時,由硬件自動使中斷觸發(fā)器TF1置1,并向CPU申請中斷。當CPU響應中斷進入中斷服務程序后,TF1又被硬件自動清零。TF1也可用軟件清0.</p><p> 2、TF0(TCON.5): T0溢出標志位。其功能和操作情
62、況同TF1.</p><p> 3、TR1(TCON.6): T1運行控制位。可通過軟件置1或清0來啟動或關閉T1.在程序中用指令“SETB TR1”使TR1位置1,定時器T1便開始計數(shù)。</p><p> 4、TR0(TCON.4): T0運行控制位。其功能及操作情況同TR1.</p><p> 5、TE1,IT1,IT0(TCON.3~TCON.0):外部
63、中斷INT1和INT0請求及請求方式控制位。</p><p> AT89C51復位時,TCON的所有位都被清0。</p><p> 4.5 ISD4004工作模式</p><p> 錄音時,按一下錄音鍵,單片機通過口線設置語音段的起始地址,再使PD端、P /R端和CE端為低電平啟動錄音;結束時,按一下結束鍵,單片機又讓CE端回到高電平,完成一段語音的錄制。同樣
64、的方法可錄取第二段、第三段……。特別值得注意的是,錄音時間不能超過預先設定的每段語音的時間。放音時,根據(jù)需播放的語音內(nèi)容,找到相應的語音段起始地址,并通過口線送出。再將P /R端設為高電平, PD端設為低電平,并讓CE端產(chǎn)生一負脈沖啟動放音,這時單片機只需等待ISD4004的信息結束信號,即EOM的產(chǎn)生。信號為一負脈沖,在負脈沖的上升沿,該段語音才播放結束,所以單片機必須要檢測到EOM的上升沿才能播放第二段,否則播放的語音就不連續(xù),而且
65、會產(chǎn)生啪啪聲,這一點在編制軟件時一定要注意。</p><p> 由于ISD4004內(nèi)置了若干操作模式,因而可用最少的外圍器件實現(xiàn)最多的功能。具體的操作模式見圖4-6:</p><p> 圖4-6 ISD4004語音芯片操作模式圖</p><p> 操作模式可有微控制也可由硬件實現(xiàn)。使用操作模式要注意兩點: <
66、;/p><p> 1、所有的操作最初都是從0地址(即存儲空間的起始端)開始。后續(xù)的操作根據(jù)選用的模式可從其它地址開始。但是,電路由錄音或放音轉(zhuǎn)錄音(M6模式除外),或都執(zhí)行了掉電周期后,地址計數(shù)器將復位為0。</p><p> 2、當CE變低且最高兩地址為同位高時,執(zhí)行操作模式。這種操作模式將一直有效,知道CE再次由高變低,芯片重新鎖存當前的地址/模式引腳電平并執(zhí)行相應的操作為止。<
67、/p><p><b> 按鍵設置</b></p><p> 語音芯片模塊部分設有三顆按鍵,按鍵可以對語音錄制,停止語音錄制,播放所錄制的語音內(nèi)容。按鍵K1,K2,K3具體設置如下:</p><p> sbit SS = P1^1; // LOW IS ACTIVELY</p><p> sbi
68、t MOSI = P1^2;</p><p> sbit MISO = P1^3;</p><p> sbit SCLK = P1^4; </p><p> sbit K1 = P3^2; // 獨立按鍵</p><p> sbit K2 = P3^3;</p><p> sbi
69、t K3 = P3^4;</p><p> 4.6 keil C51軟件的使用</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。</p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工
70、具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下圖是keil C51使用界面圖:</p><p> 圖4-7 keil C51界面圖</p><p> 語音播報器電路包括兩大部分:AT89C51單片機開發(fā)板部分和語音芯片部分。
71、單片機開發(fā)板與電腦相連,再開發(fā)板與語音芯片模塊連接,單片機AT89C51模塊的引腳P1.1、P1.2、P1.3和P1.4分別與語音芯片ISD4004模塊的引腳/SS、MOSI、MISO和SCLK連接起來。</p><p> 將播放器硬件部分連接完成后,用keil C51軟件將程序進行編譯,待完成之后進行程序的調(diào)試和燒錄到單片機中。</p><p><b> 5結論</b
72、></p><p> 我設計的課題是語音播報器,經(jīng)過幾個多月的思考和準備,我已經(jīng)完成了老師規(guī)定的任務。通過做本設計,我熟悉了Altium Designer軟件,基本上學會其使用方法。更加深入的學習了AT89C51單片機的各項功能。對ISD4004有了更深層次的了解。對C語言編寫程序有了進一步的把握。我對我所做的語音播報器有如下總結:</p><p> AT89C51單片機雖然和D
73、SP,ARM相比處理速度和運算速度上都比較慢,但它的體積小、質(zhì)量輕、價格便宜,容易獲取。它的速度可以滿足本次實驗的要求,所以我采用AT89C51這款單片機的時候很方便。</p><p> ISD4004語音芯片采樣多電平直接模擬量存儲專利技術。采用E2PROM存儲方法將模擬語音數(shù)據(jù)直接寫入半導體存儲單元中,不需另加A/D或D/A變換來存放或重放。使的外圍電路簡單。該器件有音質(zhì)自然、使用方便、單片存放、反復錄音、
74、低功耗、抗斷電等許多特點 能夠非常自然地再現(xiàn)聲音; 同時, 具備微控制器所需接口, 便于與微機的連接。而且編程簡單。 是語音播報器系統(tǒng)中語音芯片很好的選擇。這兩款芯片有兼容性能構成接口電路,而且接口電路簡單。能夠很好地實現(xiàn)所需的功能。本文設計的基于ISD4004的語音器, 其語音音質(zhì)好, 功能強, 實驗運行效果較好,使用起來也很簡單。</p><p><b> 6致謝</b></p&
75、gt;<p> 當畢業(yè)論文寫作結束時,我的四年本科生活也即將畫上句號?;厥自谡撐牡膶懽鬟^程中,得到了許多人的幫助,給予我在知識和精神上的鼓勵。讓我這篇論文能夠從醞釀然后付諸實踐調(diào)查最后形成文章,借此機會,向他們表示我由衷的感激之情!</p><p> 最后,要感謝母校為我提供了良好的學習、生活環(huán)境。正因如此,我才能得以安心學習,完成學業(yè)。感謝四年所有的任課老師四年來對我的教育與栽培;謝謝你們傳授
76、給我無數(shù)的寶貴知識,開闊了我的眼界,為我日后的學習和工作奠定了知識和思想的基礎,讓我能夠無畏的勇往直前。</p><p><b> 參考文獻</b></p><p> [1] Moca V.V., Lupu E., Pop P.G. (2005), TESPAR coding method evaluation in speaker recognition exp
77、eriments, Trends in Speech Technology Proceedings of the 3rd Conference Speech Technology and Human-Computer-Dialogue[M]: SpeD 2005, Cluj-Napoca , pp. 201-212.</p><p> [2] 林福宗.多媒體技術基礎[M].北京:清華大學出版社.2002.1&l
78、t;/p><p> [3] 唐繼賢.51單片機工程應用實例[M].北京:北京航空航天大學出版社,2009,1.</p><p> [5] Li Xiaokun,Chirnan Kwan,Geometrical Feature Extraction for Robust Speech Recognition.IEEE,2005:558-562.</p><p> [
79、6] 紀宗南. 單片機外圍器件實用手冊——輸入通道器件分冊[M].北京:北京航空航天大學出版社.2009::558-562.</p><p> [7] 竇振中.單片機外圍器件實用手冊——輸出通道器件分冊[M].北京:北京航空航天大學出版社.2009:78-83.</p><p> [8] 劉彥文.基于單片機ARM7TDMI的S3C44BOX嵌入式微處理器技術[M].北京:清華大學出版社
80、.2009,3.</p><p> [9] 趙廣林.新型語音芯片應用手冊[M].北京:電子工業(yè)出版社,2008,8.</p><p> [10]謝宜仁.單片機接口技術實用寶典[M].北京:機械工業(yè)出版社,2011,1.</p><p> [11]孫肖子.模擬電子電路及技術基礎(第二版)[M].西安:西安電子科技大學出版社,2008,1</p>&
81、lt;p> [12] 程焱,王華奎.Keil Monitor-51技術的研究與電路設計[J].安徽電氣工程職業(yè)技術學院學報,2006,1.</p><p> 附錄1 系統(tǒng)實物圖</p><p> 附錄2 系統(tǒng)實驗原理圖</p><p> 附錄3 語音模塊PCB布線圖</p><p> 附錄4 畢業(yè)設計作品說明書<
82、;/p><p><b> 作品名稱</b></p><p><b> 語音播報器</b></p><p><b> 作品功能</b></p><p> 此充播報器能夠逐條錄音保存,逐條播放??僧敵闪粞詸C或公交車報站器使用。</p><p><b
83、> 運行環(huán)境</b></p><p> 硬件運行環(huán)境在Altium Designer 6.9軟件中;軟件運行環(huán)境在keil C51</p><p><b> 操作步驟</b></p><p> 1.硬件設計。利用Altium Designer 6.9軟件,畫電路原理圖→生成PCB圖→布線→制作PCB板→檢測線路的連通性
84、→元器件焊接。</p><p> 2.軟件設計。系統(tǒng)主流程包括初始化、錄音流程、播放流程。</p><p><b> 注意事項</b></p><p> 在使用設計軟硬件時,要先建一個Project。</p><p> 在制作PCB板時,焊盤一定要足夠大,設定為2mm。</p><p>
85、 在打印PCB圖時,要搞清楚黃油紙的打印面。</p><p> PCB布線時,要在底層,線粗為1mm,最細為0.254mm。</p><p><b> 附錄5 程序</b></p><p><b> 主程序:</b></p><p> #include <reg52.h><
86、;/p><p> #include "ISD4004.h" </p><p> unsigned int Record_Addr[18]={0x02,0x20,0x3E,0x5c,0x7A,0x98,0xB6,0xD4,0xF2,0x110,0x12E,0x14c,0x16A,0x190,0x1C2,0x1F4,0x226,0x258};</p><
87、;p> //unsigned int Record_Addr[13]={0x190,0x1C2,0x1F4,0x226,0x258};</p><p> int main(void)</p><p><b> {</b></p><p> unsigned char Turn_Addr=0;</p><p>
88、; unsigned char Play_addr=0;</p><p> unsigned char play_flag=0;</p><p> P1 = 0xff;</p><p> P2 = 0xff;</p><p> P3 = 0xff;</p><p><b> while(1)<
89、;/b></p><p><b> {</b></p><p> if(0 == K1)</p><p><b> {</b></p><p> delayms(10);</p><p> while(!K1); // 松手判斷</p>&l
90、t;p><b> LED1 = 0;</b></p><p><b> LED2 = 1;</b></p><p> address =Record_Addr[Turn_Addr++];// 從0X05單元開始</p><p><b> record();</b></p>
91、<p> P1 = 0xff;</p><p><b> }</b></p><p> if(0 == K2)</p><p><b> { </b></p><p> delayms(10);</p><p> while(!K2);</p&
92、gt;<p><b> LED1 = 1;</b></p><p><b> LED2 = 0;</b></p><p> address =Record_Addr[Play_addr++];</p><p><b> play();</b></p><p&g
93、t; P1 = 0xff;</p><p> delayms(1000);</p><p> play_flag=1;</p><p><b> }</b></p><p> if(play_flag==1)</p><p><b> {</b></p>
94、;<p> for(Play_addr=0;Play_addr<18;Play_addr++)</p><p><b> {</b></p><p><b> LED1 = 1;</b></p><p><b> LED2 = 0;</b></p><p
95、> address =Record_Addr[Play_addr];</p><p><b> play();</b></p><p> P1 = 0xff;</p><p> delayms(1000);</p><p><b> }</b></p><p>
96、; play_flag=0;</p><p><b> }</b></p><p> if(0 == K3)</p><p><b> {</b></p><p> delayms(10);</p><p> while(!K3);</p><
97、p> LED1 = 1; </p><p><b> LED2 = 1;</b></p><p><b> stop();</b></p><p> P1 = 0xff;</p><p><b> }</b></p><p><b
98、> }</b></p><p><b> }</b></p><p><b> 放音錄音部分子程序</b></p><p> #include <reg52.h></p><p> #include <intrins.h></p>&
99、lt;p> #include "ISD4004.h"</p><p> unsigned int address;</p><p> void delayms(unsigned int ms)</p><p><b> {</b></p><p> unsigned ch
100、ar j;</p><p> while(ms--)</p><p><b> {</b></p><p> for(j=0; j<120; j++);</p><p><b> }</b></p><p><b> }</b></
101、p><p> void play(void)</p><p><b> { </b></p><p> unsigned int y;</p><p><b> SS = 0;</b></p><p> MOSI = 0;// 發(fā)送開始</p>&l
102、t;p><b> SCLK = 0;</b></p><p> for(y=0; y<8; y++)</p><p><b> {</b></p><p><b> SCLK = 0;</b></p><p> if((0x20>>y) &am
103、p; 0x01)</p><p><b> {</b></p><p><b> MOSI = 1;</b></p><p><b> }</b></p><p><b> else </b></p><p><b&g
104、t; {</b></p><p><b> MOSI = 0;</b></p><p><b> }</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p>
105、<p><b> _nop_();</b></p><p><b> SCLK = 1;</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b>
106、 _nop_();</b></p><p> }// 發(fā)送結束</p><p> SS = 1;// 上電結束</p><p> delayms(50);</p><p><b> SS = 0;</b></p><p> MOSI = 0;// 發(fā)送地址
107、</p><p><b> SCLK = 0;</b></p><p> for(y=0; y<16; y++)</p><p><b> {</b></p><p><b> SCLK = 0;</b></p><p> if((add
108、ress>>y) & 0x01)</p><p><b> {</b></p><p><b> MOSI = 1;</b></p><p><b> }</b></p><p><b> else </b></p>
109、<p><b> {</b></p><p><b> MOSI = 0;</b></p><p><b> }</b></p><p><b> _nop_();</b></p><p><b> _nop_();<
110、;/b></p><p><b> _nop_();</b></p><p><b> SCLK = 1;</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p>
111、<p><b> _nop_();</b></p><p> }// 發(fā)送地址結束</p><p> MOSI = 0;// 放音</p><p><b> SCLK = 0;</b></p><p> for(y=0; y<8; y++)</p>
112、<p><b> {</b></p><p><b> SCLK = 0;</b></p><p> if((0xe0>>y) & 0x01)</p><p><b> {</b></p><p><b> MOSI = 1;
113、</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p><b> MOSI = 0;</b></p><p><b
114、> }</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCLK = 1;</b>&l
115、t;/p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> }</b></p><p><b>
116、; SS = 1;</b></p><p><b> SS = 0;</b></p><p> MOSI = 0;// 放音</p><p><b> SCLK = 0;</b></p><p> for(y=0; y<8; y++)</p><p
117、><b> {</b></p><p><b> SCLK = 0;</b></p><p> if((0xf0>>y) & 0x01)</p><p><b> {</b></p><p><b> MOSI = 1;</b
118、></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p><b> MOSI = 0;</b></p><p><b>
119、}</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCLK = 1;</b></p&g
120、t;<p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> }</b></p><p> SS = 1; &l
121、t;/p><p><b> }</b></p><p> // 錄音部分子程序,地址由ADDRESS決定 </p><p> void record(void) </p><p><b> { </b></p><p> unsigned
122、 int y;</p><p><b> SS = 0;</b></p><p> MOSI = 0;// 發(fā)送開始</p><p><b> SCLK = 0;</b></p><p> for(y=0; y<8; y++)</p><p><b
123、> {</b></p><p><b> SCLK = 0;</b></p><p> if((0x20>>y) & 0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p&
124、gt;<p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p><b> MOSI = 0;</b></p><p><b> }</b>
125、</p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> SCLK = 1;</b></p><p&g
126、t;<b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p> }// 發(fā)送結束</p><p> SS = 1;// 上電結束</p>&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的gps語音播報器設計【畢業(yè)論文】
- 基于單片機的語音播報器的設計[開題報告]
- 基于單片機的語音播報器設計[任務書]
- 畢業(yè)設計(論文)-基于at89c51單片機的語音播報器的設計
- 畢業(yè)設計(論文)-基于at89c51單片機的語音播報器的設計
- 基于avr單片機的語音播報系統(tǒng)設計
- 基于單片機的畢業(yè)論文-- 基于51單片機的搶答器設計
- 基于單片機的畢業(yè)論文-- 基于51單片機的搶答器設計
- 畢業(yè)設計---基于單片機的語音播報數(shù)字多用表
- 基于單片機的搶答器設計【畢業(yè)論文】
- 基于單片機的搶答器設計畢業(yè)論文
- 基于單片機的搶答器設計畢業(yè)論文
- 基于單片機的搶答器設計畢業(yè)論文
- 基于單片機的搶答器設計畢業(yè)論文
- 基于單片機壓力警報器設計-畢業(yè)論文
- 單片機基于at89s52單片機的遙控器設計畢業(yè)論文
- 基于單片機的gps定位器設計-畢業(yè)論文
- 基于單片機技術的汽車限速器設計畢業(yè)論文
- 畢業(yè)論文-基于單片機的電器遙控器設計
- 畢業(yè)論文--基于單片機的搶答器的設計
評論
0/150
提交評論