

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)原理及接口技術(shù) 課程設(shè)計(jì)(論文)</p><p><b> 摘 要</b></p><p> 語(yǔ)音不僅是人與人之間進(jìn)行信息交流最直接、最方便和最有效的工具,而且也是人與機(jī)器之間進(jìn)行通信的重要工具。1874年電話(huà)的發(fā)展可以認(rèn)為是現(xiàn)代處理的開(kāi)端。電話(huà)的理論基礎(chǔ)是盡可能不失真地傳送語(yǔ)音波形。這種“波形原則”幾乎統(tǒng)治了其后整整一百年。1939年
2、產(chǎn)生了一種概念全新的語(yǔ)音處理技術(shù),這就是著名的通道聲碼器技術(shù)。聲碼器的理論基礎(chǔ)是認(rèn)為語(yǔ)音是由人的聲帶振動(dòng)產(chǎn)生的生源(載波)受到運(yùn)動(dòng)的聲道的控制(調(diào)制)而產(chǎn)生的,因而將載波和調(diào)制兩部分分開(kāi)來(lái)進(jìn)行傳送便可極大地壓縮頻帶。這一概念已經(jīng)包含著其后出現(xiàn)的語(yǔ)音參數(shù)模型的基本思想。40年代后期,研制成功了能夠把語(yǔ)音信號(hào)的時(shí)變譜用語(yǔ)音表示出來(lái)的儀器——語(yǔ)音儀,為語(yǔ)音信號(hào)分析提供了一個(gè)有力的工具。</p><p> 對(duì)于語(yǔ)音信號(hào)
3、,數(shù)字處理比模擬處理具有更多的優(yōu)點(diǎn)。這是因?yàn)椋旱谝?,?shù)字技術(shù)能夠完成許多很復(fù)雜的信號(hào)處理工作;第二,通過(guò)語(yǔ)音進(jìn)行交換的信息本質(zhì)上具有離散的性質(zhì),因?yàn)檎Z(yǔ)音可以看成是因素的組合,這就特別適合于數(shù)字處理;第三,數(shù)字系統(tǒng)具有高可靠性、價(jià)廉、緊湊、快速等特點(diǎn),很容易完成實(shí)時(shí)處理任務(wù);第四,數(shù)字語(yǔ)音適合于在強(qiáng)干擾通信中傳輸,易于和數(shù)據(jù)一起在通信網(wǎng)中傳輸,也易于進(jìn)行加密傳輸。因此數(shù)字語(yǔ)音信號(hào)處理是主要研究方向。</p><p>
4、; 單片機(jī)的應(yīng)用無(wú)處不在,利用單片機(jī)控制語(yǔ)音的錄放也多不勝舉。用單片機(jī)控制語(yǔ)音芯片,再把單片機(jī)和語(yǔ)音芯片嵌入到通信設(shè)備,智能儀器,治安報(bào)警及兒童玩具中,就可做成語(yǔ)音播放的機(jī)器,應(yīng)用范圍廣泛。用單片機(jī)控制語(yǔ)音芯片設(shè)計(jì)語(yǔ)音錄放系統(tǒng),該系統(tǒng)功能多,錄放音音質(zhì)好,外圍電路簡(jiǎn)單。</p><p> 關(guān)鍵詞:STC89C52;錄音放音;ISD4004</p><p><b> 目 錄&
5、lt;/b></p><p><b> 第1章 緒論1</b></p><p> 第2章 課程設(shè)計(jì)的方案2</p><p><b> 2.1 概述2</b></p><p> 2.2 系統(tǒng)組成總體結(jié)構(gòu)2</p><p> 第3章 硬件設(shè)計(jì)4</
6、p><p> 3.1 89C2051單片機(jī)性能和引腳介紹4</p><p> 3.2 語(yǔ)音信號(hào)功率放大電路5</p><p> 3.3 ISD4004語(yǔ)音芯片介紹6</p><p> 3.3.1 芯片性能簡(jiǎn)述和引腳圖6</p><p> 3.3.2 ISD4004芯片主要引腳描述7</p>
7、<p> 3.3.3 SPI協(xié)議8</p><p> 第4章 軟件設(shè)計(jì)10</p><p> 4.1 總體方案10</p><p> 4.2 程序流程圖10</p><p> 4.2.1 系統(tǒng)程序流程10</p><p> 4.2.2 子程序流程11</p><p
8、> 4.3 模塊說(shuō)明11</p><p> 4.3.1 ISD4004驅(qū)動(dòng)程序11</p><p> 4.3.2 1602液晶底層驅(qū)動(dòng)13</p><p> 第5章 制作與調(diào)試15</p><p> 5.1 硬件電路的布線(xiàn)與焊接15</p><p> 5.1.1 總體特點(diǎn)15</p&
9、gt;<p> 5.1.2 Altium designer軟件畫(huà)PCB15</p><p> 5.1.3 焊接15</p><p><b> 5.2 調(diào)試15</b></p><p> 5.2.1 硬件調(diào)試16</p><p> 5.2.2 軟件調(diào)試16</p><p
10、> 第6章 課程設(shè)計(jì)總結(jié)17</p><p><b> 參考文獻(xiàn)18</b></p><p><b> 附錄19</b></p><p><b> 緒論</b></p><p> 本設(shè)計(jì)主要用來(lái)實(shí)現(xiàn)語(yǔ)音錄放功能。語(yǔ)音錄放系統(tǒng)主要包括單片機(jī)控制模塊、語(yǔ)音采集
11、模塊、語(yǔ)音處理模塊、信號(hào)放大模塊,其中單片機(jī)控制模塊是整個(gè)系統(tǒng)設(shè)計(jì)的關(guān)鍵。在語(yǔ)音的錄放過(guò)程中,單片機(jī)通過(guò)SPI通信方式與語(yǔ)音模塊進(jìn)行通訊,來(lái)實(shí)現(xiàn)語(yǔ)音的錄音與播放。由于每段錄音都對(duì)應(yīng)著不同的地址,因此在播放錄音時(shí),需要發(fā)送需要播放的地址即可播放。</p><p> 語(yǔ)音錄放系統(tǒng)的信號(hào)處理過(guò)程主要包括語(yǔ)音的采集、信號(hào)的放大和語(yǔ)音的濾波。語(yǔ)音經(jīng)過(guò)駐極體傳感器,即麥克風(fēng),把聲波信號(hào)轉(zhuǎn)換成電信號(hào)。傳感器采集的電信號(hào)進(jìn)過(guò)放
12、大電路,放大一定倍數(shù),經(jīng)濾波、耦合之后送至語(yǔ)音模塊。語(yǔ)音模塊對(duì)連續(xù)變化的語(yǔ)音信號(hào)進(jìn)行采樣,抽取其中的語(yǔ)音信號(hào)電平,直接存儲(chǔ)在語(yǔ)音芯片ISD4004中,因此使得語(yǔ)音自然真實(shí)。當(dāng)語(yǔ)音播放時(shí),需要在語(yǔ)音芯片的輸出段加一個(gè)帶通濾波器,以濾除音頻帶寬以外的信號(hào),從而減少雜音的干擾。STC89C52單片機(jī)的程序,使用keil編譯程序進(jìn)行設(shè)計(jì)和調(diào)試完成,其主要功能是控制語(yǔ)音模塊,以及1602液晶顯示模塊。</p><p>&l
13、t;b> 課程設(shè)計(jì)的方案</b></p><p><b> 概述</b></p><p> 本次設(shè)計(jì)主要是綜合應(yīng)用所學(xué)知識(shí),設(shè)計(jì)語(yǔ)音錄放系統(tǒng),并在實(shí)踐的基本技能方面進(jìn)行一次系統(tǒng)的訓(xùn)練。能夠較全面地鞏固和應(yīng)用“單片機(jī)”課程中所學(xué)的基本理論和基本方法,并初步掌握小型單片機(jī)系統(tǒng)設(shè)計(jì)的基本方法。</p><p> 應(yīng)用場(chǎng)合:語(yǔ)
14、音的錄放系統(tǒng)的應(yīng)用十分廣泛,可以應(yīng)用于通訊設(shè)備、智能儀表、治安報(bào)亭、語(yǔ)音報(bào)站、語(yǔ)音講解、語(yǔ)音記錄、語(yǔ)音復(fù)讀、智能玩具等領(lǐng)域。</p><p> 系統(tǒng)功能介紹:語(yǔ)音錄放系統(tǒng)的工作原理是單片機(jī)通過(guò)SPI通信模式,來(lái)控制語(yǔ)音芯片ISD4004的錄音與播放。此系統(tǒng)一般包括單片機(jī)控制模塊、語(yǔ)音的采集模塊,語(yǔ)音的放大模塊、語(yǔ)音處理模塊、濾波模塊、功率放大模塊和顯示模塊。信號(hào)傳遞至語(yǔ)音芯片,語(yǔ)音芯片對(duì)連續(xù)的電信號(hào)進(jìn)行采樣,本
15、系統(tǒng)采用直接存儲(chǔ)的方式,ISD4004語(yǔ)音芯片是美國(guó)ISD公司制造的一種新款的語(yǔ)音芯片,芯片采用多電平直接模擬量存儲(chǔ)技術(shù),每個(gè)采樣值直接存儲(chǔ)在片內(nèi)閃存flash中,因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音、音樂(lè)、音調(diào)和效果音,避免了一般固體錄音電路因量化和壓縮造成的量化噪音和“金屬音”。</p><p><b> 系統(tǒng)組成總體結(jié)構(gòu)</b></p><p> 語(yǔ)音錄放系統(tǒng)主
16、要是通過(guò)單片機(jī)來(lái)控制語(yǔ)音芯片ISD4004來(lái)實(shí)現(xiàn)語(yǔ)音的錄放的功能。在錄音模式下,語(yǔ)音信號(hào),即聲波信號(hào),通過(guò)麥克風(fēng),將其轉(zhuǎn)換成電信號(hào)。但此時(shí)的電信號(hào)很微弱,需要經(jīng)放大電路,放大語(yǔ)音信號(hào)。由于電路中可能存在高頻分量,信號(hào)經(jīng)過(guò)帶通濾波器,以濾除語(yǔ)音頻帶以外的噪聲。最后,ISD4004采樣得到的語(yǔ)音信號(hào)相對(duì)“干凈”。在語(yǔ)音播放的模式下,單片機(jī)向ISD4004發(fā)送播放的地址和語(yǔ)音播放指令后,便可以播放相應(yīng)段的語(yǔ)音。為了使播放的語(yǔ)音依然“干凈”,本
17、系統(tǒng)依然設(shè)置了一個(gè)濾波電路。由于ISD4004不能驅(qū)動(dòng)一塊喇叭,需要在濾波電路添加一個(gè)功率放大電路,在本系統(tǒng)中,采用的是LM386語(yǔ)音驅(qū)動(dòng)電路。如圖2.1所示,系統(tǒng)的總體結(jié)構(gòu)框圖。</p><p> 圖2.1 系統(tǒng)的總體結(jié)構(gòu)框圖</p><p><b> 硬件設(shè)計(jì)</b></p><p> 89C2051單片機(jī)性能和引腳介紹</p&
18、gt;<p> AT89C2051是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī)片內(nèi)含2K bytes的可反復(fù)可擦寫(xiě)的只讀程序儲(chǔ)存器(PEROM)和128bytes的隨機(jī)存儲(chǔ)數(shù)據(jù)儲(chǔ)存器(RAM),器件采用ATMEL公司的高密度,非易失性?xún)?chǔ)存技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲(chǔ)單元。</p><p> STC89C52是由深圳宏晶科技公司生產(chǎn)
19、的與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容的單片機(jī)。STC89C52單片機(jī)管腳如圖3.1所示,其主要功能特性表3.1所示。</p><p><b> 圖3.1單片機(jī)管腳</b></p><p> 表3.1 STC89C52單片機(jī)主要功能</p><p> STC89C52引腳具體介紹如下:</p><p>
20、?、僦麟娫匆_(2根)</p><p> VCC(Pin40):電源輸入,接+5V電源</p><p> GND(Pin20):接地線(xiàn)</p><p> ?、谕饨泳д褚_(2根)</p><p> XTAL1(Pin19):片內(nèi)振蕩電路的輸入端</p><p> XTAL2(Pin20):片內(nèi)振蕩電路的輸出端&
21、lt;/p><p><b> ③控制引腳(4根)</b></p><p> RST/VPP(Pin9):復(fù)位引腳,引腳上出現(xiàn)2個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。</p><p> ALE/PROG(Pin30):地址鎖存允許信號(hào)</p><p> PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)</p>&
22、lt;p> EA/VPP(Pin31):程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令。</p><p> ?、芸删幊梯斎?輸出引腳(32根)</p><p> STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位(8根引腳),共32根。</p><p> P0口(P
23、in39~Pin32):8位雙向I/O口線(xiàn),名稱(chēng)為P0.0~P0.7</p><p> P1口(Pin1~Pin8):8位準(zhǔn)雙向I/O口線(xiàn),名稱(chēng)為P1.0~P1.7 </p><p> P2口(Pin21~Pin28):8位準(zhǔn)雙向I/O口線(xiàn),名稱(chēng)為P2.0~P2.7 </p><p> P3口(Pin10~Pin17):8位準(zhǔn)雙向I/O口線(xiàn),名稱(chēng)為P3.0~P
24、3.7</p><p> 語(yǔ)音信號(hào)功率放大電路</p><p> LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。它是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類(lèi)產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下
25、,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場(chǎng)合。LM386的封裝形式有塑封8引線(xiàn)雙列直插式和貼片式。其雙列直插式封裝如圖3.2所示。</p><p> 圖3.2 LM386直插封裝</p><p> 語(yǔ)音芯片ISD4004輸出的電壓只有毫伏級(jí),難以驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。本系統(tǒng)采用采用LM386功率放大器,以提高揚(yáng)聲器的驅(qū)動(dòng)能力。有時(shí)喇叭放音會(huì)出現(xiàn)失真現(xiàn)象,這是可能是運(yùn)放的
26、增益過(guò)高所致,需要在1腳和8腳之間加一個(gè)10uF電容或串聯(lián)一個(gè)10K電位器調(diào)整一下。</p><p> ISD4004語(yǔ)音芯片介紹</p><p> 芯片性能簡(jiǎn)述和引腳圖</p><p> ISD系列語(yǔ)音芯片是美國(guó)ISD公司推出的產(chǎn)品。該系列芯片采用多電平直接模擬存儲(chǔ)(Chip Corder)專(zhuān)利技術(shù),聲音不需要A/D轉(zhuǎn)換和壓縮,每個(gè)采樣直接存儲(chǔ)在片內(nèi)的閃爍存
27、儲(chǔ)器中,避免了A/D轉(zhuǎn)換的誤差;能夠真實(shí)、自然地還原語(yǔ)音、音樂(lè)及效果聲;避免了一般固體錄音電路量化和壓縮造成的量化噪聲和金屬聲[7]。ISD4000系列采用CMOS技術(shù),內(nèi)含晶體振蕩器、防混疊濾波器、平滑濾波器、自動(dòng)靜噪、音頻功率放大器及高密度多電平閃爍存儲(chǔ)陣列等,只需要很少的外圍器件即可構(gòu)成一個(gè)完整的語(yǔ)音錄放系統(tǒng)。它的操作命令通過(guò)串行通信接口(SPI)或Microwire送入;采樣頻率可為4.0 Hz、5.3 Hz、6.4 Hz、8.
28、0 Hz,頻率越低,錄放時(shí)間越長(zhǎng),但音質(zhì)會(huì)有所下降;片內(nèi)信息存于閃爍存儲(chǔ)器中,可在斷電情況下保存100年(典型值),反復(fù)錄音10萬(wàn)次;器件工作電壓3 V,工作電流25~30 mA,音質(zhì)好,適用于移動(dòng)電話(huà)及其他便攜式電子產(chǎn)品[8]。本設(shè)計(jì)使用的芯片型號(hào)為ISD4004-08,單片錄放時(shí)間為8分鐘。其芯片的引腳圖如圖3.3所示。</p><p> 圖3.3 ISD4004語(yǔ)音芯片引腳圖</p>&l
29、t;p> ISD4004芯片主要引腳描述</p><p> ?。?)電源:(VCCA,VCCD) 為使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線(xiàn),并且分別引到外封裝的不同管腳上,模擬和數(shù)字電源端最好分別走線(xiàn),盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近器件。</p><p> ?。?)地線(xiàn):(VSSA,VSSD) 芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線(xiàn)。</p&
30、gt;<p> ?。?)同相模擬輸入(ANA IN+) 這是錄音信號(hào)的同相輸入端。輸入放大器可用單端或差分驅(qū)動(dòng)。單端輸入時(shí),信號(hào)由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3KΩ電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動(dòng)時(shí),信號(hào)最大幅度為峰峰值 16mV,為 ISD33000 系列相同。</p><p> (4)反相模擬輸入(ANA IN-) 差分驅(qū)動(dòng)時(shí),這是錄音信號(hào)的反相輸
31、入端。信號(hào)通過(guò)耦合電容輸入,最大幅度為峰峰值16mV音頻輸出(AUDOUT) 提供音頻輸出,可驅(qū)動(dòng) 5KΩ的負(fù)載。</p><p> (5)片選(SS)此端為低,即向該 ISD4004 芯片發(fā)送指令,兩條指令之間為高電平。</p><p> (6)串行輸入(MOSI),此端為串行輸入端,主控制器應(yīng)在串行時(shí)鐘上升沿之前半個(gè)周期將數(shù)據(jù)放到本端,供ISD輸入。</p><
32、p> ?。?)串行輸出(MISO) ISD的串行輸出端。ISD未選中時(shí),本端呈高阻態(tài)。</p><p> ?。?)串行時(shí)鐘(SCLK)ISD的時(shí)鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在 SCLK上升沿鎖存到ISD,在下降沿移出 ISD。</p><p> ?。?)中斷(/INT)本端為漏極開(kāi)路輸出。ISD 在任何操作(包括快進(jìn))中檢測(cè)到 EOM 或 OV
33、F 時(shí),本端變低并保持。中斷狀態(tài)在下一個(gè) SPI 周期開(kāi)始時(shí)清除。中斷狀態(tài)也可用 RINT 指令讀取。OVF 標(biāo)志----指示 ISD 的錄、放操作已到達(dá)存儲(chǔ)器的末尾。EOM 標(biāo)志----只在放音中檢測(cè)到內(nèi)部的EOM標(biāo)志時(shí),此狀態(tài)位才置1。</p><p> ?。?0)行地址時(shí)鐘(RAC) 漏極開(kāi)路輸出。每個(gè) RAC 周期表示 ISD 存儲(chǔ)器的操作進(jìn)行了一行(ISD4004 系列中的存貯器共 2400 行)。該信
34、號(hào) 175ms 保持高電平,低電平為25ms??爝M(jìn)模式下,RAC 的218.75μs是高電平,31.25μs 為低電平。</p><p> ?。?1)外部時(shí)鐘(XCLK) 本端內(nèi)部有下拉元件。芯片內(nèi)部的采樣時(shí)鐘在出廠(chǎng)前已調(diào)校,誤差在+1%內(nèi)。商業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi), 頻率變化在+2.25%內(nèi)。工業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi),頻率變化在-6/+4%內(nèi),此時(shí)建議使用穩(wěn)壓電源。若要求更高精度,可從本端輸入外
35、部時(shí)鐘(如前表所列)。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時(shí)鐘頻率不應(yīng)改變。輸入時(shí)鐘的占空比無(wú)關(guān)緊要,因內(nèi)部首先進(jìn)行了分頻。在不外接地時(shí)鐘時(shí),此端必須接地。</p><p> ?。?2)自動(dòng)靜噪(AMCAP) 當(dāng)錄音信號(hào)電平下降到內(nèi)部設(shè)定的某一閾值以下時(shí),自動(dòng)靜噪功能使信號(hào)衰弱,這樣有助于養(yǎng)活無(wú)信號(hào)(靜音)時(shí)的噪聲。通常本端對(duì)地接 1uF的電容,構(gòu)成內(nèi)部信號(hào)電平峰值檢測(cè)電路的一部分。檢出的峰值電平與內(nèi)
36、部設(shè)定的閾值作比較,決定自動(dòng)靜噪功能的翻轉(zhuǎn)點(diǎn)。大信號(hào)時(shí),自動(dòng)靜噪電路不衰減,靜音時(shí)衰減 6dB。1uF的電容也影響自動(dòng)靜噪電路對(duì)信號(hào)幅度的響應(yīng)速度。本端接 VCCA 則禁止自動(dòng)靜噪。</p><p><b> SPI協(xié)議</b></p><p> ISD4004工作于SPI串行接口。SPI協(xié)議是一個(gè)同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK
37、的下降沿動(dòng)作。對(duì)ISD4004而言,在時(shí)鐘上升沿鎖存MOSI引腳數(shù)據(jù),而下降沿將數(shù)據(jù)送至MISO引腳,其時(shí)序圖如圖3.4所示。協(xié)議具體內(nèi)容如下:</p><p> ?。?)所有串行數(shù)據(jù)傳輸開(kāi)始于SS下降沿;(2)SS在傳輸期間必須保持為低電平,在兩條指令之間保持為高電平;(3)數(shù)據(jù)在時(shí)鐘上升沿移入,在下降沿移出;(4)SS變低,輸入指令和地址之后,ISD才會(huì)開(kāi)始錄放動(dòng)作;(5)指令格式是10位地址碼加6位
38、控制碼;(6)ISD的任何操作(含快進(jìn))如果遇到EOM或OVF則產(chǎn)生一個(gè)中斷,該中斷狀態(tài)在下一個(gè)SPI周期開(kāi)始時(shí)被清除;(7)使用讀指令會(huì)使中斷狀態(tài)為移出ISD的MISO引腳時(shí),控制及地址數(shù)據(jù)也同步從MOSI移入;(8)所有操作在運(yùn)行位(RUN)置1時(shí)開(kāi)始,置0時(shí)結(jié)束;</p><p> ?。?)所有指令都在SS上升沿開(kāi)始執(zhí)行。</p><p> 圖3.4 ISD4004-08 S
39、PI通信工作時(shí)序圖</p><p><b> 軟件設(shè)計(jì)</b></p><p><b> 總體方案</b></p><p> 該設(shè)計(jì)的軟件部分包括語(yǔ)音程序,1602液晶顯示和按鍵控制三部分程序。語(yǔ)音程序主要包括驅(qū)動(dòng)程序,1602液晶顯示部分包括顯示驅(qū)動(dòng)程序,按鍵控制部分包括菜單的選擇,可以選擇錄音模式和放音模式。&l
40、t;/p><p> 軟件設(shè)計(jì)采用的是Keil uVision4編程。Keil C51是51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)上、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易懂。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解,在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。因此本設(shè)計(jì)采用C51編程語(yǔ)言。</p><p><b>
41、; 程序流程圖</b></p><p><b> 系統(tǒng)程序流程</b></p><p> 如圖4.1所示,系統(tǒng)的流程圖。</p><p> 圖4.1 系統(tǒng)的流程圖</p><p> 單片機(jī)上電后,系統(tǒng)默認(rèn)進(jìn)入錄音模式。錄音完成后,可以選擇相應(yīng)段的語(yǔ)音,按下播放按鍵就可以播放語(yǔ)音。當(dāng)按下復(fù)位選擇按鍵時(shí)
42、,系統(tǒng)就會(huì)切換成錄音模式。</p><p><b> 子程序流程 </b></p><p> 在錄音模式下,當(dāng)按下錄音鍵時(shí),錄音提示燈點(diǎn)亮,松開(kāi)按鍵,錄音模式結(jié)束,提示燈熄滅。放音模式下,直接按下放音鍵,無(wú)需長(zhǎng)按。如圖4.2所示,錄放放音子程序。</p><p> 圖4.2 錄放音子程序流程圖</p><p>&l
43、t;b> 模塊說(shuō)明</b></p><p> ISD4004驅(qū)動(dòng)程序</p><p> ?。?)SPI串行發(fā)送函數(shù)</p><p> /********以下是SPI串行發(fā)送函數(shù)********/</p><p> void isd_send(uchar isdx)</p><p><b&
44、gt; {</b></p><p> uchar isx_counter;</p><p> SS=0; //ss=0,打開(kāi)spi通信端</p><p><b> SCLK=0;</b></p><p> for(isx_counter=0;isx_counter<8;i
45、sx_counter++)//先發(fā)低位再發(fā)高位,依次發(fā)送。</p><p><b> {</b></p><p> if((isdx&0x01)==1)</p><p><b> MOSI=1;</b></p><p><b> else</b></p&g
46、t;<p><b> MOSI=0;</b></p><p> isdx=isdx>>1;//8位數(shù)據(jù)右移一位</p><p><b> SCLK=1;</b></p><p> DelayUs(2);</p><p><b> SCLK=0;</
47、b></p><p> DelayUs(2);</p><p><b> }</b></p><p> }單片機(jī)通過(guò)MOSI接口,通過(guò)串行的方式來(lái)發(fā)送八位數(shù)據(jù),數(shù)據(jù)在是時(shí)鐘的上升沿移入,下降沿移出。在判斷數(shù)據(jù)0或1的采用相與的方式,如果相與條件符合,則MOSI輸出1,,否則輸出0。</p><p> (2
48、)向ISD4004語(yǔ)音芯片發(fā)送上電和掉電指令</p><p> /********以下是發(fā)送上電指令********/</p><p> void isd_powerup()</p><p><b> {</b></p><p> DelayUs(10);</p><p><b>
49、; SS=0;</b></p><p> isd_send(0x20);</p><p><b> SS=1;</b></p><p> DelayMs(50);</p><p><b> }</b></p><p> /********以下是發(fā)送掉電
50、指令函數(shù)********/</p><p> void isd_stopwrdn()</p><p><b> {</b></p><p> DelayUs(10);</p><p> isd_send(0x10);</p><p><b> SS=1;</b>&l
51、t;/p><p> DelayMs(50);</p><p><b> }</b></p><p> 閱讀ISD4004芯片手冊(cè)知,向語(yǔ)音芯片發(fā)送8位的指令,就能控制其上電與掉電,這應(yīng)用在錄放音的時(shí)序控制中。</p><p><b> ?。?)錄放音函數(shù)</b></p><p&
52、gt; /********以下是發(fā)送錄放音指令函數(shù)********/</p><p> void isd_play() //發(fā)送play指令</p><p><b> {</b></p><p> isd_send(0xf0);</p><p><b> SS=1;</b>&
53、lt;/p><p><b> }</b></p><p> void isd_setplay(uchar adl,uchar adh)</p><p><b> {</b></p><p> DelayMs(1);</p><p> isd_send(adl); //發(fā)
54、送放音起始地址低位</p><p> DelayUs(2);</p><p> isd_send(adh); //發(fā)送放音起始地址高位</p><p> DelayUs(2);</p><p> isd_send(0xe0); //發(fā)送setplay指令字節(jié)</p><p><b> SS=1;&l
55、t;/b></p><p><b> }</b></p><p> D4002不同的是,ISD4004內(nèi)部地址是16位的,分為高位和地位兩部分,在發(fā)送地址時(shí),要先發(fā)送地位地址,然后再發(fā)送高位地址。</p><p> 1602液晶底層驅(qū)動(dòng)</p><p><b> 1)LCD判忙程序</b&g
56、t;</p><p> /********以下是LCD忙碌檢查函數(shù)********/</p><p> unsigned char ReadStatusLCD(void)</p><p><b> {</b></p><p> LCD_Data = 0xFF;</p><p> LCD_
57、RS = 0;</p><p> LCD_RW = 1;</p><p> LCD_E = 0;</p><p> LCD_E = 0;</p><p> LCD_E = 1;</p><p> while (LCD_Data & Busy); //檢測(cè)忙信號(hào) </p><p&g
58、t; return(LCD_Data);</p><p><b> } </b></p><p> 當(dāng)模塊在接受指令前,單片機(jī)必須先確認(rèn)模塊內(nèi)部是否處于忙綠狀態(tài),即讀取時(shí)LCD_Data需為0,方可接受新的指令;如果在送出一個(gè)指令前不檢查L(zhǎng)CD_Data標(biāo)志位,或者延遲時(shí)間不夠長(zhǎng),會(huì)導(dǎo)致接收出錯(cuò)。</p><p> (2)寫(xiě)指令、寫(xiě)數(shù)據(jù)
59、程序</p><p> /********以下是寫(xiě)指令寄存器IR函數(shù)********/</p><p> void WriteCommandLCD(unsigned char WCLCD,BuysC) </p><p><b> {</b></p><p> if (BuysC) ReadStatusLCD();
60、 //根據(jù)需要檢測(cè)忙</p><p> LCD_Data = WCLCD;</p><p> LCD_RS = 0;</p><p> LCD_RW = 0;</p><p> LCD_E = 0;</p><p> LCD_E = 0; //若晶振速度太高可以在這后加小的延時(shí)</p><
61、p> LCD_E = 1; //延時(shí)</p><p><b> }</b></p><p> /********以下是寫(xiě)寄存器DR函數(shù)********/</p><p> void WriteDataLCD(uchar WDLCD)</p><p><b> {</b></p&
62、gt;<p> ReadStatusLCD(); //檢測(cè)忙</p><p> LCD_Data = WDLCD;</p><p> LCD_RS = 1;</p><p> LCD_RW = 0;</p><p> LCD_E = 0; //若晶振速度太高可以在這后加小的延時(shí)</p><p>
63、 LCD_E = 0; //延時(shí)</p><p> LCD_E = 1;</p><p><b> }</b></p><p> 閱讀LCD1602芯片手冊(cè)知,通過(guò)向1602控制端LCD_RS、LCD_RW和LCD_EN寫(xiě)不同的狀態(tài),就可以選擇此時(shí)液晶是工作在寫(xiě)指令模式下,還工作在寫(xiě)數(shù)據(jù)的模式下。</p><p>
64、;<b> 制作與調(diào)試</b></p><p> 硬件電路的布線(xiàn)與焊接</p><p><b> 總體特點(diǎn)</b></p><p> 該系統(tǒng)所涉及的各部分硬件電路,總體的特點(diǎn)是:</p><p> ?。?)大部分的電容電阻采用貼片封裝,節(jié)約板材,減小成本;</p><p&
65、gt; (2)為了檢錯(cuò)方便電路采用分模塊制作,即單片機(jī)控制模塊與語(yǔ)音模塊;</p><p> ?。?)在電路布局時(shí),盡量合理安排空間,這樣可以減少跳線(xiàn),從而美化硬件電路;</p><p> ?。?)為了減小單片機(jī)控制模塊的面積大小,以及考慮到二次利用,本系統(tǒng)中的串口采用獨(dú)立制作;</p><p> 因此,應(yīng)合理布線(xiàn),以降低焊接難度,降低出錯(cuò)率,同時(shí)防止干擾。&l
66、t;/p><p> Altium designer軟件畫(huà)PCB</p><p> 在本設(shè)計(jì)中,畫(huà)PCB要注意的一些地方。首先,在原理圖轉(zhuǎn)換成PCB之后,要不要急于連線(xiàn),要把元器件的分裝擺放好,以減少跳線(xiàn)的麻煩。其次,元器件擺放好之后,接下去就是布線(xiàn),布線(xiàn)時(shí)盡量不用自動(dòng)布線(xiàn),不要怕麻煩,要自己手動(dòng)布線(xiàn)。在遵循一定的規(guī)則下,手動(dòng)布線(xiàn)更加合理美觀(guān)。最后,線(xiàn)寬的設(shè)計(jì)比較重要,電源線(xiàn)和地線(xiàn)要盡量的寬
67、點(diǎn)。</p><p><b> 焊接</b></p><p> 焊接前應(yīng)熟悉各芯片的引腳,焊接時(shí)參照電路圖,仔細(xì)地連接引腳。按照以下原則進(jìn)行焊接:</p><p> ?。?)先焊接各芯片的電源線(xiàn)和地線(xiàn),這樣確保各芯片有正確的工作電壓;</p><p> ?。?)同類(lèi)的芯片應(yīng)順序焊接,在一片焊接并檢查好之后,其他的同類(lèi)
68、芯片便可以參照第一片進(jìn)行焊接。這樣便可大大節(jié)省時(shí)間,也可降低出錯(cuò)率。</p><p><b> 調(diào)試</b></p><p> 調(diào)試是一個(gè)重要環(huán)節(jié),其包括硬件調(diào)試和軟件調(diào)試。</p><p><b> 硬件調(diào)試</b></p><p> (1)制作完電路之后,先不要馬上上電,要用萬(wàn)用表測(cè)量每
69、一塊電路,確保每一根走線(xiàn)是連通的。最后要確保電源的正負(fù)極性的是否連接在一起,這很重要,因?yàn)槎探拥目赡茉斐呻娏鬟^(guò)大,燒毀電路,需要硬件重新制版,這也是禁止發(fā)生的。</p><p> ?。?)單片機(jī)的輸出端口,如果有接限流電阻,這個(gè)端口盡量不要作為其他控制端口。這是因?yàn)殡娏髁鬟^(guò)電阻,會(huì)有一部分的電壓落在電阻上,這樣本來(lái)應(yīng)該輸出高電平,結(jié)果輸出低電平,不能很好的控制其他器件。</p><p>
70、 (3)硬件的制作盡量分模塊來(lái)做,這樣檢查更加容易方便。在本設(shè)計(jì)中分為單片機(jī)控制模塊、語(yǔ)音模塊、濾波模塊、還有下載程序的模塊。首先,把單片機(jī)模塊和下載器模塊調(diào)通,使得下載器能夠下載程序,單片機(jī)最小系統(tǒng)可以運(yùn)行。其次,在測(cè)試語(yǔ)音模塊時(shí)候,在錄音模式下,使用示波器來(lái)檢測(cè)ISD4004語(yǔ)音的輸入端是否有語(yǔ)音波形。在放音模式下,同樣使用示波器,檢測(cè)語(yǔ)音芯片輸出端是否有語(yǔ)音波形。</p><p><b> 軟件
71、調(diào)試</b></p><p> 下面是一些在編寫(xiě)的軟件的過(guò)程中遇到的問(wèn)題和解決方案:</p><p> (1)數(shù)值轉(zhuǎn)換中的問(wèn)題</p><p> disp_buf1[0]=count/10+0x30; // 取十位</p><p> count= count %10;</p><p> dis
72、p_buf1[1]=count+0x30; //取個(gè)位</p><p> 如果語(yǔ)句按照以上方式編寫(xiě),會(huì)發(fā)現(xiàn)十位不能顯示這是因?yàn)閏ount是全局變量,單獨(dú)對(duì)count求余,就會(huì)改變count值,解決方法如下:</p><p> disp_buf1[0]=count/10+0x30; // 取十位</p><p> disp_buf1[1]=coun
73、t%10+0x30; //取個(gè)位</p><p><b> (2)顯示的問(wèn)題</b></p><p> 開(kāi)始的時(shí)候,液晶顯示函數(shù)沒(méi)有放在程序的合適的位置,導(dǎo)致顯示不完全或者顯示有重疊的現(xiàn)象。解決的方案,啟用一個(gè)定時(shí)器,讓顯示的函數(shù)放在定時(shí)器的中斷里,實(shí)時(shí)地顯示,這樣就不會(huì)出現(xiàn)以上的問(wèn)題。</p><p> ?。?)錄音指令要遵循ISD4
74、004的時(shí)序</p><p> 每次的錄放音,需要先發(fā)送錄放音指令,然后再發(fā)送地址,只有嚴(yán)格遵循時(shí)序圖,才能使ISD4004正常工作。</p><p><b> 課程設(shè)計(jì)總結(jié)</b></p><p> 本設(shè)計(jì)達(dá)到了任務(wù)書(shū)上的要求,實(shí)現(xiàn)了單片機(jī)控制控制ISD4004的語(yǔ)音功能,而且具有模式選擇功能。系統(tǒng)的主要特點(diǎn)如下:</p>
75、<p> (1)單片機(jī)通過(guò)模擬SPI通信方式與ISD4004之間進(jìn)行通信;</p><p> ?。?)單片機(jī)與1602液晶屏之間采用間接控制方式,首先給出1602液晶屏的驅(qū)動(dòng)程序(寫(xiě)數(shù)據(jù)、寫(xiě)指令、讀數(shù)據(jù)),實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)更新等;</p><p> ?。?)系統(tǒng)中設(shè)置的三個(gè)按鍵,分別實(shí)現(xiàn)錄音、放音和復(fù)位功能,這樣增加了系統(tǒng)的靈活性,符合實(shí)際情況。</p><
76、p> 本設(shè)計(jì)實(shí)現(xiàn)了畢業(yè)設(shè)計(jì)達(dá)到的技術(shù)指標(biāo),具有錄放功能,最長(zhǎng)可以錄音16分鐘。設(shè)計(jì)中采用分段錄音的方式,可錄制24段語(yǔ)音,并在此基礎(chǔ)上,實(shí)現(xiàn)了語(yǔ)音播放溫度和語(yǔ)音時(shí)鐘的功能。進(jìn)一步地,在日常生活中,可以應(yīng)用在家庭語(yǔ)音報(bào)警系統(tǒng)以及語(yǔ)音醫(yī)療之中。</p><p> 從收集相關(guān)資料,方案的確定,硬件的制作,軟件的編寫(xiě),到最后的調(diào)試,在這個(gè)過(guò)程中遇到很多大大小小的問(wèn)題,都一一克服。</p><
77、p> 由于時(shí)間,水平和經(jīng)驗(yàn)有限,在濾波方面和液晶顯示等方面仍有不足之處,有改進(jìn)的余地,如帶通濾波器帶寬可以做的更加準(zhǔn)確,通頻帶更加穩(wěn)定。還需要在技術(shù)水平和可靠性方面進(jìn)一步改進(jìn)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 高慧芳等.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:科學(xué)出版社,2010.</p><p>
78、 [2] 宋戈,黃鶴松,員玉良,蔣海峰.51單片機(jī)應(yīng)用開(kāi)發(fā)范例大全 [M],北京:人</p><p> 民郵電出版社,2010:P193-P205 </p><p> [3] 鄭鋒等. 51單片機(jī)應(yīng)用系統(tǒng)典型模塊開(kāi)發(fā)大全[M].北京:中國(guó)鐵道部出版社</p><p><b> 2010.</b></p><p>
79、 [4] 劉建清.輕松玩51單片機(jī)C語(yǔ)言[M].北京:北京航空航天大學(xué),2011:P378-P385</p><p> [5] 康華光.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2005:P119-P132</p><p> [6] 印黃燕.ARM系列單片機(jī)與PC機(jī)之間的串行通信[J]. 常州信息職業(yè)技術(shù)學(xué)院</p><p> 學(xué)報(bào), 2008, 7(6)
80、: 30-32</p><p> [7] 劉超美, 李紅萍, 賈秀明. 基于單片機(jī)的語(yǔ)音錄放系統(tǒng)設(shè)計(jì)[J]. 甘肅聯(lián)合大學(xué)</p><p> 學(xué)報(bào):自然科學(xué)版,2008,22(3):67-69</p><p> [8] 韓改寧, 李永鋒. 基于A(yíng)T89C52單片機(jī)的語(yǔ)音錄放系統(tǒng)實(shí)現(xiàn)[J]. 成陽(yáng)師范學(xué)</p><p> 院, 2009
81、,17(9):116-117</p><p> [9] 許春冬,劉亦晴,劉鈞彬,楊萬(wàn)青. 一種嵌入式數(shù)字語(yǔ)音錄放系統(tǒng)的設(shè)計(jì)[J].電子</p><p> 元器件應(yīng)用,2010,12(12):41-43</p><p> [10] 楊易華,吳效明,岑人經(jīng).基于ISD4004的紅外遙控醫(yī)院語(yǔ)音播報(bào)系統(tǒng)的設(shè)計(jì)[J]研究論著,2009,30(10):16-19<
82、/p><p> [11] 齊向東,劉立群.單片機(jī)控制技術(shù).中國(guó)電力出版社,2009年06月.</p><p> [12] 趙廣林.新型語(yǔ)音芯片應(yīng)用戶(hù)手冊(cè).電子工業(yè)出版社,2008年08月.</p><p> [13] 萬(wàn)光毅.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程.北京航天航空大學(xué)出版社,2006年05月.</p><p> [14] 高紅亮,張同忠,楊杰
83、,等.采用ISD4004的電梯語(yǔ)音系統(tǒng)的設(shè)計(jì)[J].電子技術(shù),2005年9月.</p><p> [15] 王振紅, 李洋, 郝承祥.ISD4004 語(yǔ)音芯片的工作原理及其在智能控制系統(tǒng)中的應(yīng)用 [J].國(guó)外電子元器件, 2002 年03月第 25 卷第 1 期.</p><p> [16] Wang Zhenhai. Application for Realizing Voice R
84、ecording Using MCU[R].</p><p> Shangdong:Linyi University,2011.</p><p> [17] Jie Zeng, Meng Zhang, Guilin Li, Shaohua Chen, and Nan Xiao. Development of </p><p> Multilanguage Se
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于isd4004的語(yǔ)音錄放系統(tǒng)畢業(yè)論文
- 基于isd4004的語(yǔ)音錄放系統(tǒng)畢業(yè)論文
- isd4004電路圖和程序
- 外文翻譯--isd4004語(yǔ)音芯片在語(yǔ)音報(bào)站器中的應(yīng)用
- 基于ISP技術(shù)的ISD4004系列語(yǔ)音芯片的工作控制.pdf
- isd1420語(yǔ)音模塊課程設(shè)計(jì)
- 數(shù)字語(yǔ)音處理課程設(shè)計(jì)
- 語(yǔ)音告警電路課程設(shè)計(jì)
- 課程設(shè)計(jì)--語(yǔ)音錄放器
- 語(yǔ)音放大電路課程設(shè)計(jì)
- isd1110-isd1420語(yǔ)音錄放電路中文資料
- dsp課程設(shè)計(jì)--語(yǔ)音噪聲濾波
- 語(yǔ)音濾波器課程設(shè)計(jì)
- 語(yǔ)音濾波器課程設(shè)計(jì)
- 語(yǔ)音錄放器電子課程設(shè)計(jì)
- 語(yǔ)音信號(hào)處理課程設(shè)計(jì)
- 課程設(shè)計(jì)---語(yǔ)音放大電路的設(shè)計(jì)
- isd語(yǔ)音錄放系統(tǒng)大學(xué)課題論文
- 語(yǔ)音濾波器課程設(shè)計(jì)
- 課程設(shè)計(jì)--語(yǔ)音放大電路的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論