語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)目錄附錄3工作圖語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著當(dāng)今社會電子技術(shù)更新的日益加快,單片機(jī)控制系統(tǒng)的應(yīng)用在日常生活中已變得越來越廣泛,特別是在語音錄放等領(lǐng)域。以單片機(jī)控制為基礎(chǔ)來進(jìn)行語音錄放系統(tǒng)的設(shè)計,或是具備語音播報功能的產(chǎn)品,正在被大家所廣泛接受,這也將對通信領(lǐng)域語音處理的發(fā)展起著更大的推進(jìn)作用。本文采用單片機(jī)AT89S52與語音芯片ISD4004來組成語音存放系統(tǒng),實現(xiàn)語音的分段存儲、組合回放。該語音錄放系統(tǒng)主要包括單片機(jī)控制模塊、語音處理模塊、顯示模塊,其中單片機(jī)控制模塊是整個系統(tǒng)設(shè)計的核心。在語音的錄放過程中,單片機(jī)通過SPI通信方式與語音模塊ISD芯片進(jìn)行實時通訊,以此來實現(xiàn)語音的錄制與回放。實踐證明,本系統(tǒng)能實現(xiàn)語音的錄放,且音質(zhì)自然清晰。關(guān)鍵詞單片機(jī)/語音芯片/語音存儲/語音回放

THEDESIGNANDIMPLEMENTATIONOFVOICESTORAGEANDPLAYBACKSYSTEMABSTRACTWiththeacceleratingupdatesofelectronictechnologyintoday'ssociety,theapplicationofmicro-controllercontrolsystemindailylifehasbecomemoreandmorewidespread,especiallyinvoicerecordingareas.ThedesignofvoicerecordingsystemthatbasedonMCUcontrol,ortheproductswhichhaveavoicebroadcastfeature,arewidelyacceptedbyeveryone,whichwillalsoplayagreaterroleinpromotingthedevelopmentofcommunicationinthefieldofspeechprocessing.Inthispaper,AT89S52micro-controllerandvoicechipISD4004areusedtoformthevoicestoragesystems,torealizethefragmentationofvoice,thecombinationofplayback.Thevoicerecordingsystemincludes,voiceprocessingmodule,anddisplaymodule,inwhichthesingle-chipcontrolmoduleisthecoreofthesingle-chipsystemdesign.Inthevoicerecordingprocess,themicro-controllerviaSPIcommunicationmoduletocommunicateISDvoicechipwithforreal-timecommunication,inordertoachieveavoicerecordingandplayback.Practicehasprovedthatthesystemcanachievevoicerecording,andthesoundnaturalandclear.KEYWORDSAT89S52,voicechip,voicestorage,voiceplayback1緒論1.1課題的背景及意義在智能儀器儀表或自動控制設(shè)備中,增加語音功能就能夠在很大程度上提高人機(jī)界面的友好型,為用戶提供方便。目前,語音服務(wù)的應(yīng)用越來越廣泛,如電腦語音鐘、排隊機(jī)、公交車報站器、語音型數(shù)字萬用表、監(jiān)控系統(tǒng)語音報警等。在許多場合,設(shè)計者都需要將語音系統(tǒng)和單片機(jī)結(jié)合在一起,以實現(xiàn)智能語音控制的功能。由于單片機(jī)的體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點,使得現(xiàn)代人們生活中所用的幾乎每件電子和機(jī)械產(chǎn)品都會集有單片機(jī)。手機(jī)、電話、計算器、ipad、電子玩具以及鼠標(biāo)等電腦配件中都會有1-2部單片機(jī)。而個人電腦中也會有為數(shù)不少的單片機(jī)在維持工作,由此看出,單片機(jī)在語音功能的實現(xiàn)中發(fā)揮著重大的作用。數(shù)字化語音錄放指的是利用數(shù)字技術(shù)對語音信號進(jìn)行采集、處理并在一定存儲設(shè)備中存儲,而且在需要時可以進(jìn)行輸出的過程。相對于模擬設(shè)備來說,數(shù)字化語音設(shè)備憑借著易于集成、小型化、制作成本低、穩(wěn)定、操作直接、方便等優(yōu)點,在各個領(lǐng)域都得到廣泛的應(yīng)用。如監(jiān)控環(huán)境中的語音采集系統(tǒng),家庭或?qū)W校使用的語音復(fù)讀機(jī)等,都是數(shù)字化語音存放系統(tǒng)的典型應(yīng)用[1]。在對語音信號的處理方法上,常規(guī)的是采用濾波器處理接收到的信號,通過模數(shù)轉(zhuǎn)換成數(shù)字信號,再由單片機(jī)控制存儲在存儲器中,在需要輸出時,由單片機(jī)控制從存儲器輸出,再經(jīng)數(shù)模轉(zhuǎn)換成模擬信號,濾波后由功放放大播出。這種方法的缺點是:輸出不穩(wěn)定,語音信號有雜音或變音,不易調(diào)試。解決該缺陷,可以采用語音芯片。語音芯片就是在人工或者控制器控制下可以完成錄/放音的芯片,它可以很方便的在單片機(jī)系統(tǒng)中使用,并且和單片機(jī)的接口非常容易,其體積和重量也很符合單片機(jī)系統(tǒng)的要求。因此,采用單片機(jī)和語音芯片的結(jié)合,來實現(xiàn)語音信號的數(shù)字化控制,是實用性較強(qiáng)的選擇。1.2國內(nèi)外研究現(xiàn)狀隨著IT行業(yè)的不斷發(fā)展進(jìn)步,生活中的各種語音錄播設(shè)備層出不窮。在一般的數(shù)字化語音錄放系統(tǒng)中,對于語音信號的處理只是簡單的采集、存儲和播放;盡管還能較大程度上保證語音的保真度,但是過多的語音數(shù)據(jù)會造成對大量存儲設(shè)備的需求。所以,對于大型系統(tǒng),可以通過使用大容量的硬盤、甚至大規(guī)模的磁盤陣列來解決;但對于小型的設(shè)備,如便攜式語音復(fù)讀機(jī),則不能采用同樣的方法。近年來,語音信號處理技術(shù)的快速發(fā)展,為數(shù)字化語音錄放系統(tǒng)提供了新的發(fā)展空間,對語音信號的采集、處理由以前的簡單的波形編碼變?yōu)閰?shù)編碼、壓縮,從而大大地減少了數(shù)據(jù)的存儲量。比如說,原始的語音信號一般是采用8kHz抽樣,16bits的線性PCM編碼進(jìn)行采集,一般的系統(tǒng)是直接將采集的數(shù)據(jù)直接進(jìn)行存儲;而如果采用參數(shù)編碼對采集的數(shù)據(jù)進(jìn)行壓縮之后在存儲,能夠使存儲量大大減少,當(dāng)恢復(fù)信號時,則利用編碼后的參數(shù)進(jìn)行合成,可以得到滿意的音質(zhì)效果[2]。就現(xiàn)在來說,比較典型的語音器件有美國ISD公司生產(chǎn)的ISD系列語音芯片。它采用的是模擬數(shù)據(jù)在半導(dǎo)體存儲器中直接存儲的專利技術(shù),即模擬信號直接存儲,無需A\D或D\A轉(zhuǎn)換,因此能夠很好地再現(xiàn)語音效果,避免了一般固體語音電路因量化和壓縮所造成的量化噪聲和失真現(xiàn)象。另外,該芯片功能強(qiáng)大:能錄能放、10萬次的擦寫壽命、語音可掉電保存、手動控制和CPU控制兼容、可多片級聯(lián)、無需開發(fā)系統(tǒng)等,它為欲實現(xiàn)語音功能的單片機(jī)設(shè)計人員提供了解決方案。目前,市場上已有將AT89C2051單片機(jī)與ISD語音芯片組成的語音組合板,使用串口通信,芯片里能固話一些常用詞匯,用戶無需知道工作原理,只需通過串口按一定協(xié)議發(fā)送代碼即可發(fā)送語音。1.3本文的主要內(nèi)容及研究方法1.3.1本文主要內(nèi)容本論文主要是在查閱相關(guān)國內(nèi)外文獻(xiàn)資料的前提之下,在了解和熟悉目前語音存儲與回放系統(tǒng)結(jié)構(gòu)、功能以及發(fā)展現(xiàn)狀的基礎(chǔ)上,完成語音存儲與回放系統(tǒng)的設(shè)計與實現(xiàn)。設(shè)計步驟大致分為以下三個部分:第一,主要了解實物的具體組成部分,其中包括單片機(jī)AT89S52和語音芯片ISD4004具體功能和各個引腳的作用,兩者之間如何連線。第二,程序的操作。怎樣編寫程序,如何進(jìn)行仿真和寫入程序。比如先是進(jìn)行程序的寫入,然后通過單片機(jī)對語音芯片的控制操作。第三,對于仿真方面,經(jīng)過查閱資料選出了比較合適的程序編寫和仿真軟件Keil,當(dāng)所有東西都做完后,選用了通過實物的調(diào)試來檢驗設(shè)計的完整性和實物的真實效果。1.3.2研究方法該系統(tǒng)要求實現(xiàn)的功能是語音的存儲與回放,整個系統(tǒng)分為錄音、暫停、回放、停止四種狀態(tài)。身為模擬信號的語音信號,本身是不能完成數(shù)字化的處理的,需要借助于專用的語音芯片或者A/D和D/A轉(zhuǎn)換,來完成模擬信號的處理工作。但這種數(shù)字化處理方法易產(chǎn)生信號失真的現(xiàn)象。為避免此現(xiàn)象,利用語音芯片有模擬量直接存儲技術(shù)的特點,采用語音芯片來實現(xiàn)語音錄放,單片機(jī)在其中起著主控作用,不需在外部進(jìn)行語音信號的放大和濾波,語音芯片抗干擾能力強(qiáng),可有效防止信號失真。語音芯片內(nèi)部集成模擬存儲陣列,無需外連存儲器,這使得電路更加簡單便于操作擴(kuò)展。單片機(jī)要控制語音錄音的開始和結(jié)束,設(shè)定信號的存儲地址,并在播放時尋址播放空間并控制播放。

2語音存儲與回放系統(tǒng)總體設(shè)計2.1設(shè)計要求1、設(shè)計一個語音存儲與回放系統(tǒng),能最少實現(xiàn)4分鐘的錄音時間并且播放音質(zhì)清晰;2、根據(jù)單片機(jī)系統(tǒng)的原則,構(gòu)建硬件電路;3、給出語音存儲與回放系統(tǒng)的硬件電路設(shè)計圖和模塊程序流程圖;4、編寫源程序代碼,制作印刷電路板、并制作實物。2.2實現(xiàn)方案的選擇方案一:利用單片機(jī)及其外圍電路(如A/D、D/A、存儲器等),實現(xiàn)語音信號的數(shù)字化處理,完成語音的存儲與回放。該方案聲音通過MIC轉(zhuǎn)換成微弱的電信號,經(jīng)放大及濾波后之后,送入A/D轉(zhuǎn)換進(jìn)行模數(shù)轉(zhuǎn)換,輸出的數(shù)字化語音信號通過單片機(jī)的控制,寫入片外數(shù)據(jù)存儲器中[3]?;胤艜r,單片機(jī)從存儲器中將數(shù)據(jù)讀出,送入D/A轉(zhuǎn)換器,進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)換后的模擬信號經(jīng)濾波、功率放大后,實現(xiàn)語音回放。該方案的優(yōu)點:能完成語音信號的數(shù)字化處理,實現(xiàn)語音信號的存儲與回放。缺點是:語音信號容易受到外界干擾而失真,且信號的壓縮存儲比較復(fù)雜,硬件電路不易調(diào)試,因此該方案不是最佳選擇。方案二:直接采用單片機(jī)與專用的語音芯片ISD4004來實現(xiàn)語音存儲與回放,此方案可以實現(xiàn)語音的存儲與回放[4]。而且優(yōu)點是無需外擴(kuò)存儲器,外圍電路簡單,語音信號抗干擾能力強(qiáng),存儲方便,調(diào)試簡單,還可以用此作為語音服務(wù)的子系統(tǒng)。本設(shè)計采用第二種方案,可以實現(xiàn)錄音,循環(huán)放音,擦除等功能。2.3總體設(shè)計方案根據(jù)設(shè)計要求,本系統(tǒng)采用AT89S52單片機(jī)和ISD4004語音芯片來實現(xiàn)語音的存儲與回放,系統(tǒng)總體設(shè)計框圖如圖2-1所示。由圖可知,本系統(tǒng)分為七個部分:單片機(jī)控制電路、語音錄入電路、語音處理電路、功放電路、按鍵控制電路、狀態(tài)顯示電路和電源電路。采用51單片機(jī)作為主控芯片,利用ISD4004實現(xiàn)語音信號的錄放處理,采用LM386集成功放構(gòu)成功放電路,用液晶1602構(gòu)成工作狀態(tài)顯示電路,簡單易行且控制方便。單片機(jī)單片機(jī)控制電路語音處理電路語音錄入電路功放電路狀態(tài)顯示電路按鍵控制電路電源電路圖2-1系統(tǒng)總體設(shè)計框圖各模塊介紹如下:單片機(jī)控制電路:完成硬件的初始化,響應(yīng)用戶鍵盤輸入的命令,通過模擬SPI總線與語音芯片進(jìn)行通信,給狀態(tài)顯示模塊和語音處理模塊發(fā)送命令;語音錄入電路:采集語音信號,為語音芯片提供信號輸入;語音處理電路:響應(yīng)單片機(jī)發(fā)送來的命令,從而使語音芯片根據(jù)按鍵作相應(yīng)的語音處理;功放電路:回放時對語音信號進(jìn)行放大,播放出來;按鍵控制電路:為用戶控制該系統(tǒng)的工作狀態(tài)提供方便;狀態(tài)顯示電路:提醒用戶此時該系統(tǒng)處于何種狀態(tài),使操作界面友好化;電源電路:為語音芯片、單片機(jī)等各電路模塊提供合適的電源電壓。

3語音錄放系統(tǒng)的硬件設(shè)計3.1單片機(jī)控制電路設(shè)計3.1.1AT89S52單片機(jī)簡介AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器和內(nèi)部看門狗電路。該芯片使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程[5],亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式[6]??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。AT89S52單片機(jī)的主要性能參數(shù)如表3-1所示。表3-1單片機(jī)主要特征AT89S52單片機(jī)主要特征與MCS-51

指令系統(tǒng)兼容8K可反復(fù)擦寫FlashROM32個雙向I/O口三個16位可編程定時/計數(shù)器中斷256*8bit內(nèi)部RAM時鐘頻率0-24MHZ2個串行中斷可編程UART串行通道2個外部中斷6個中斷源2個中斷讀寫口線3級加密位低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路數(shù)據(jù)來源:2007年《電子元器件手冊》[J]單片機(jī)AT89S52的引腳圖如圖3-1所示。各引腳的功能及說明如下:VCC:接供電電壓,+5V。GND:接地。P0口:P0口為一個8位漏極開路雙向I/O口,即地址/數(shù)據(jù)通信總線復(fù)用口。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,同時它有轉(zhuǎn)換控制部分。當(dāng)它做I/O口時,會構(gòu)成一個準(zhǔn)雙向口,這時的多路開關(guān)連接到鎖存器的Q端口上。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入[7]。圖3-1AT89S52的引腳圖3.1.2晶振電路設(shè)計圖3-2晶振電路單片機(jī)是一種時序電路,必須要為它提供時鐘脈沖信號才能正常工作。系統(tǒng)的時鐘信號是單片機(jī)內(nèi)部各種操作的時間基準(zhǔn),為各種指令的執(zhí)行提供時鐘節(jié)拍。一般情況下,單片機(jī)可以通過內(nèi)部震蕩或者外部震蕩兩種方式得到系統(tǒng)的時鐘信號。本系統(tǒng)中,采用的是12MHz的晶振,電容是用的22pF的陶瓷電容,其晶振原理圖如圖3-2所示。3.1.3復(fù)位電路設(shè)計在本次設(shè)計中,采用外部手動復(fù)位,當(dāng)一個高電平加到RST引腳超過2機(jī)器周期時,單片機(jī)產(chǎn)生復(fù)位。復(fù)位電路圖如圖3-3所示。圖3-3復(fù)位電路當(dāng)任何一個復(fù)位信號產(chǎn)生時,C51的所有I/O端口都會立即復(fù)位成它們的初始值,并不需要時鐘源處于運行狀態(tài)。在復(fù)位信號撤銷后,硬件系統(tǒng)將調(diào)用一個計數(shù)延時過程,經(jīng)過一定的延時之后,才能進(jìn)行系統(tǒng)內(nèi)部的真正復(fù)位啟動。采用這種形式的復(fù)位啟動過程,保證了電源達(dá)到穩(wěn)定后才使單片機(jī)進(jìn)入正常的操作,復(fù)位啟動的延時時間可以由用戶通過對熔絲位的編程來定義。3.2語音錄入電路設(shè)計3.2.1MIC簡介此次畢業(yè)設(shè)計中,語音錄入設(shè)置采用的是咪頭,學(xué)名為傳聲器,是將聲音信號轉(zhuǎn)換成電信號的能量轉(zhuǎn)換信號,是和喇叭正好相反的一個器件。當(dāng)前應(yīng)用比較廣泛的是電容麥克風(fēng),和駐極體麥克風(fēng)??紤]到駐極體形式的體積小巧,成本低廉,應(yīng)用廣泛,此次聲音的錄入,采用駐極體形式的麥克風(fēng)。對于駐極體咪頭,內(nèi)部存在一個由振膜,墊片和極板組成的電容器,因為膜片上充有電荷,并且是一個塑料膜,因此當(dāng)膜片受到聲壓強(qiáng)的作用,膜片要產(chǎn)生振動,從而改變了膜片與極板之間的距離,從而改變了電容器兩個極板之間的距離,產(chǎn)生了一個微小的Δd的變化,因此由公式C=ε?S/L可知,必然要產(chǎn)生一個ΔC的變化,由公式C=Q/V又知,由于ΔC的變化,充電電荷又是固定不變的,因此必然產(chǎn)生一個ΔV的變化。這個電壓的變化量是由聲壓引起的,因此整個咪頭就完成了一個聲電的轉(zhuǎn)換過程,其電壓的輸出范圍是20-25mV[8]。咪頭的實物圖如圖3-4所示。使用的時候要注意接口的正負(fù)極。圖3-4咪頭實物圖3.2.2語音錄入電路設(shè)計圖3-5語音錄入電路語音的錄入電路主要是由麥克MK1及相關(guān)外圍電路等構(gòu)成。但由于語音芯片ISD4004內(nèi)部集成有話筒前置放大,且該芯片采用的是模擬量直接存儲技術(shù),電壓的輸入范圍是0-32mV,所以無需放大咪頭的輸出信號,經(jīng)耦合后,可直接接于語音芯片的信號輸入端。聲音信號由MK1轉(zhuǎn)換成電信號,經(jīng)電容耦合,由ANAIN+引腳進(jìn)入ISD4004,由ISD4004采樣和保存。語音錄入電路圖如圖3-5所示。3.3語音處理電路設(shè)計3.3.1ISD4004簡介(1)ISD4004特征表3-2ISD4002/4003/4004芯片參數(shù)表型號存儲時間(秒)可分段數(shù)信息分辨率(毫秒)采樣頻率(HZ)濾波器帶寬(HZ)控制碼+地址位ISD4002-1201206002008.0K3.4K5+11ISD4002-1801806003005.3K2.3K5+11ISD4002-2402406004004.0K1.7K5+11ISD4003-0424012002008.0K3.4K5+11ISD4003-0636012003005.3K2.3K5+11ISD4003-0848012004004.0K1.7K5+11ISD4004-0848024002008.0K3.4K8+16ISD4004-1696024004004.0K1.7K8+16數(shù)據(jù)來源:ISD4004數(shù)據(jù)手冊ISD4004系列工作電壓3.3V,單片錄放時間8至16分鐘,內(nèi)置有微控制器串行通信接口,適用于移動電話及其他便攜式電子產(chǎn)品中。芯片采用CMOS技術(shù),內(nèi)含振蕩器、話筒前置放大、自動增益控制、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪及高密度多電平閃爍存貯陳列。該芯片的設(shè)計是基于所有操作必須由微控制器控制,操作命令可以通過串行通信接口(SPI或Microwire)送入。該芯片采用的是多電平模擬量存儲技術(shù),每個采樣值是直接存儲在片內(nèi)閃爍存儲器中,所以使用時能夠非常真實、自然地再現(xiàn)語音信號,避免了一些沒必要的噪聲干擾。芯片在制作時,采用的是高質(zhì)量、自然的語音還原技術(shù),有自動靜噪功能,使用的是多段信息處理存儲。它的采樣頻率可為4.0、5.3、6.4、8.0kHz,頻率越低,音質(zhì)就會有所下降。片內(nèi)信息存儲于閃爍存儲器之中,可以在斷電的情況下保存信息100年,反復(fù)錄放10萬次[9]。芯片參數(shù)如表3-2所示。(2)ISD4004引腳電源(VCCA,VCCD):是該芯片的電源線,為了使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝的不同管腳上,模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容也應(yīng)該盡量靠近器件。地線(VSSA,VSSD):芯片內(nèi)部的模擬電路和數(shù)字電路也應(yīng)該使用不同的地線。同相模擬輸入(ANAIN+):是錄音信號的同相輸入端,輸入端的放大可用單端或差分驅(qū)動。單端輸入時,信號由耦合電容輸入,最大幅度的峰峰值是32mV,耦合電容和本端的3KΩ電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動時,信號最大幅度的峰峰值16mV,與ISD3000系列的芯片相同。反相模擬輸入(ANAIN-):在差分驅(qū)動的情況下,這是錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度的峰峰值16mV。音頻輸出(AUDOUT):該引腳提供音頻輸出,可以驅(qū)動5KΩ的負(fù)載。片選(SS):該引腳低電平有效,即向該ISD4004芯片發(fā)送指令,兩條指令之間為高電平。串行輸入(MOSI):此引腳為串行輸入端,主控制器要在串行時鐘上升沿之前半個周期時,將數(shù)據(jù)放到本端,供ISD輸入。串行輸出(MISO):此引腳為ISD的串行輸出端。ISD片選端無效時,本端呈高阻態(tài)。串行時鐘(SCLK):此引腳為ISD的時鐘輸入端,由主控制器來產(chǎn)生,功能是用于同步MOSI和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK的上升沿鎖存到ISD,在其下降沿移出ISD。中斷(/INT):此引腳為漏極開路輸出。ISD在任何操作(包括快進(jìn))中檢測到EOM或OVF標(biāo)志符時,該端變?yōu)榈碗娖讲⒈3?。中斷狀態(tài)在下一個SPI周期開始時清除,中斷狀態(tài)也可用RINT指令讀取。OVF標(biāo)志——指示ISD的錄、放操作已到達(dá)存儲器的未尾。EOM標(biāo)志——只在放音中使用,檢測到內(nèi)部的EOM標(biāo)志時,此狀態(tài)位才置1。行地址時鐘(RAC):漏極開路輸出端,每個RAC周期表示ISD存儲器的操作進(jìn)行了一行(ISD4004系列中的存儲器共2400行)。該信號175ms保持高電平,低電平為25ms??爝M(jìn)模式下,RAC的218.75μs是高電平,31.25μs為低電平。該端可用于存儲管理技術(shù)。外部時鐘(XCLK):本端內(nèi)部有下拉元件,芯片內(nèi)部的采樣時鐘在出廠前已調(diào)校,誤差在1%內(nèi)。商業(yè)級芯片在整個溫度和電壓范圍內(nèi),頻率變化在+2.25%內(nèi)。工業(yè)級芯片在整個溫度和電壓范圍內(nèi),頻率的變化范圍較小,所以使用時要用到穩(wěn)壓電源。若要求更高精度,可從本端輸入外部時鐘。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時鐘頻率不應(yīng)改變。輸入時鐘的占空比無關(guān)緊要,因內(nèi)部首先進(jìn)行了分頻。在不外接地時鐘時,此端必須接地。自動靜噪(AMCAP):當(dāng)錄音信號電平下降到內(nèi)部設(shè)定的某一閾值以下時,自動靜噪功能使信號衰弱,這樣有助于養(yǎng)活無信號(靜音)時的噪聲。通常本端對地接1uF的電容,構(gòu)成內(nèi)部信號電平峰值檢測電路的一部分。檢出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動靜噪功能的翻轉(zhuǎn)點。大信號時,自動靜噪電路不衰減,靜音時衰減6dB。1uF的電容也影響自動靜噪電路對信號幅度的響應(yīng)速度。當(dāng)該引腳接VCCA時,則會禁止自動靜噪[10]。ISD4004的引腳圖如圖3-6所示。圖3-6ISD4004引腳圖(3)ISD4004的SPI(串行外設(shè)接口)ISD4004是工作于SPI串行接口中的,SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,該協(xié)議是假定微控制器的SPI移位寄存器是在串行時鐘(SCLK)的下降沿工作的,所以對ISD4004而言,在時鐘的上升沿鎖存MOSI引腳的數(shù)據(jù),在時鐘的下降沿將數(shù)據(jù)送至MISO引腳[11]。協(xié)議的具體內(nèi)容為:=1\*GB3①所有串行數(shù)據(jù)傳輸開始于SS下降沿;=2\*GB3②SS在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平;=3\*GB3③數(shù)據(jù)在時鐘上升沿移入,在時鐘下降沿移出;=4\*GB3④SS變低,輸入指令和地址后,ISD才能開始錄放操作;=5\*GB3⑤指令格式是(8位控制碼)加(16位地址碼);=6\*GB3⑥ISD的任何操作(含快進(jìn))如果遇到EOM或OVF,則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI周期開始時被清除;=7\*GB3⑦使用“讀”指令使中斷狀態(tài)位移出ISD的MISO引腳時,控制及地址數(shù)據(jù)也應(yīng)該同步從MOSI端移入,因此要注意移入的數(shù)據(jù)是否能與器件當(dāng)前進(jìn)行的操作兼容。當(dāng)然,也允許在一個SPI周期里,同時執(zhí)行讀狀態(tài)和開始新的操作(即新移入的數(shù)據(jù)與器件當(dāng)前的操作可以不兼容)。=8\*GB3⑧所有操作在運行位(RUN)置1時開始,置0時結(jié)束。=9\*GB3⑨所有指令都在SS端上升沿開始執(zhí)行。其SPI通信工作時序圖如圖3-7所示。圖3-7SPI通信工作時序圖3.3.2語音處理電路設(shè)計本系統(tǒng)數(shù)碼語音芯片選用的是單片語音錄放集成電路ISD4004,它具有抗斷電、音質(zhì)好、使用方便,無需專用的開發(fā)系統(tǒng)等優(yōu)點。語音處理電路圖如圖3-8所示。單片機(jī)的P1.0口接ISD的片選段,P1.1口接ISD的串行時鐘端,P1.2、P1.3口分別接ISD的串行輸入和串行輸出端,單片機(jī)的P3.2/INT0接ISD的中斷端。圖3-8語音處理電路語音處理電路通過SPI接口與單片機(jī)之間進(jìn)行通信,完成相應(yīng)的語音存儲與回放功能。3.4功放電路設(shè)計3.4.1LM386簡介LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點的功率放大器,廣泛應(yīng)用于錄音機(jī)和收音機(jī)等低電壓消費類產(chǎn)品之中。為使外圍元件最少,電壓增益內(nèi)置為20dB。但是,在1腳和8腳之間增加一只外接電阻和電容,便可以將電壓增益調(diào)為任意值,直至200dB。通過查找386的數(shù)據(jù)手冊,可知其電源電壓是4-12V或5-18V(LM386N-4),靜態(tài)消耗電流為4mA,電壓增益是20-200dB,在1腳和8腳開路時,帶寬是300kHz,輸入阻抗50K,音頻功率0.5W。盡管LM386的應(yīng)用非常簡單,但稍不注意,特別是器件上電、斷電瞬間,甚至工作穩(wěn)定后,一些操作(如插拔音頻插頭、旋音量調(diào)節(jié)鈕)都會帶來的瞬態(tài)沖擊,在輸出喇叭上會產(chǎn)生非常討厭的噪聲。為減小噪聲,可以采用一下改進(jìn)措施:(1)通過接在1腳、8腳間的電容(1腳接電容+極)來改變增益,斷開時增益為20dB。因此用不到大的增益,電容就就可以不要接了,不光省了成本,還會帶來好處——噪音減少;(2)PCB設(shè)計時,所有外圍元件盡可能靠近LM386。地線盡可能粗一些;輸入音頻信號通路盡可能平行走線,輸出亦如此;(3)選好調(diào)節(jié)音量的電位器,阻值不要太大,10K最合適;(4)第7腳(BYPASS)的旁路電容不可少!實際應(yīng)用時,BYPASS端必須外接一個電解電容到地,起濾除噪聲的作用。工作穩(wěn)定后,該管腳電壓值約等于電源電壓的一半。增大這個電容的容值,減緩直流基準(zhǔn)電壓的上升、下降速度,有效抑制噪聲。在器件上電、掉電時的噪聲就是由該偏置電壓的瞬間跳變所致,這個電容很必要!(5)減少輸出耦合電容。此電容的作用有二:隔直+耦合。隔斷直流電壓,直流電壓過大有可能會損壞喇叭線圈;耦合音頻的交流信號。它與揚聲器負(fù)載構(gòu)成了一階高通濾波器。減小該電容值,可使噪聲能量沖擊的幅度變小、寬度變窄;太低還會使截止頻率(fc=1/(2π*RL*Cout))提高。分別測試,發(fā)現(xiàn)10uF/4.7uF最為合適。LM386與通用集成運放是相類似的,它是一個三級放大電路,第一級是差分放大電路,第二級是共射放大電路,增大放大倍數(shù),第三級采用的是準(zhǔn)互補輸出級,消除交越失真。電路的內(nèi)部構(gòu)造,引入了深度電壓串聯(lián)負(fù)反饋,使得電路具有穩(wěn)定的電壓增益[12]。3.4.2功放電路設(shè)計圖3-9功放電路該設(shè)計中,功放電路采用的是通用型音頻功率放大器LM386,功放電路的連接圖如圖3-9所示。圖中采用的是LM386的一般接法,也即可以調(diào)節(jié)LM386電壓增益的一種用法,電路增益為20dB~200dB,連續(xù)可調(diào),通過調(diào)節(jié)電阻R01的阻值,可以改變集成功放的電壓增益,即調(diào)節(jié)音量。輸出端接C5、R7串聯(lián)電路,以校正喇叭的頻率特性,防止高頻自激。引腳7接220uF的去耦電容,以消除低頻自激。為便于該功放在高增益情況下工作,這里不使用的引腳均接地。3.5按鍵控制電路設(shè)計該設(shè)計的按鍵功能控制鍵總共有四個,分別為控制錄音鍵、放音鍵、錄/放音暫停鍵、以及工作停止鍵,它們分別與單片機(jī)的P3.4、P3.5、P3.6、P3.7引腳相連,當(dāng)響應(yīng)按鍵按下時,單片機(jī)會響應(yīng)響應(yīng)命令,做相關(guān)工作。按鍵控制電路如圖3-11所示。圖3-10按鍵控制電路3.6狀態(tài)顯示電路設(shè)計3.6.1LCD1602簡介LCD1602是工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形。1602采用標(biāo)準(zhǔn)的16腳接口,其中:管腳1:VSS為電源地;管腳2:VDD接5V電源正極;管腳3:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度);管腳4:RS為寄存器選擇,高電平1時選擇、低電平0時選擇;管腳5:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作;管腳6:E(或EN)端為使能(enable)端,高電平(1)時讀取信息,負(fù)跳變時執(zhí)行指令;管腳7~14:D0~D7為8位雙向數(shù)據(jù)端;第15~16腳:懸空或背燈電源,15腳背光正極,16腳背光負(fù)極。其引腳圖如圖3-11所示。圖3-11LCD1602的引腳圖在單片機(jī)系統(tǒng)中應(yīng)用液晶顯示器作為輸出器件有以下幾個優(yōu)點:(1)顯示質(zhì)量高。由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍[13]。(2)數(shù)字式接口。液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡單可靠,操作更加方便。(3)體積小、重量輕。液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。(4)功耗低。相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多??紤]到如果使用數(shù)碼管顯示,需要在程序中不斷掃描,這樣的掃描會浪費CPU的時間,而且操作不便,要通過不斷的掃描來顯示一個數(shù)據(jù)。如果用液晶的話,它的內(nèi)部有存儲器,可以把數(shù)據(jù)存儲起來直接發(fā)給液晶,無需多次掃描,操作方便。3.6.2狀態(tài)顯示電路設(shè)計在該設(shè)計中,為使操作界面友好化,添加了狀態(tài)顯示電路,主要是完成對系統(tǒng)當(dāng)前工作狀態(tài)的指示,是錄音、放音、錄/放音暫停、停止,響應(yīng)工作狀態(tài)就會有相應(yīng)的約定顯示。直接利用單片機(jī)I/O口中的P0.0—P0.7和P2.5、P2.6、P2.7來控制LCD1602,用程序約定其相應(yīng)的顯示。根據(jù)液晶的顯示,可以判斷系統(tǒng)工作于何種狀態(tài)。狀態(tài)顯示電路圖如圖3-12所示。圖3-12狀態(tài)顯示電路圖3.7電源電路設(shè)計3.7.1AMS1117簡介AMS1117是一個正向低壓降穩(wěn)壓器,在1A電流下壓降為1.2V。AMS1117有兩個版本:固定輸出版本和可調(diào)輸出版本,固定輸出電壓為1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V,具有1%的精度;固定輸出電壓為1.2V的精度為2%。AMS1117內(nèi)部集成過熱保護(hù)和限流電路,是電池供電和便攜式計算機(jī)的最佳選擇[14]。1117的引腳圖如圖3-13所示。圖3-13xx1117引腳圖3.7.2電源電路設(shè)計因為單片機(jī)的供電電源是5V,而語音芯片的供電電源要求是3.3V,所以需要一個電源電壓的轉(zhuǎn)換部分,此設(shè)計中,選擇AMS1117-3.3V穩(wěn)壓芯片來將5V電源電壓轉(zhuǎn)換成3.3V電壓。電源電路圖如圖3-14所示。圖3-14電源電路圖

4語音錄放系統(tǒng)的軟件設(shè)計軟件的設(shè)計是以硬件為基礎(chǔ)的,軟件要實現(xiàn)的功能要以正常的硬件為前提,若硬件無法正常工作,再優(yōu)秀的軟件也無法完成設(shè)定的功能。同樣,軟件是硬件的靈魂,沒有了軟件,再強(qiáng)大的硬件也只是一部廢鐵。所以,在確定了設(shè)計要求所要實現(xiàn)的功能之后就是軟件設(shè)計了。4.1主程序設(shè)計本系統(tǒng)采用的是51系列的單片機(jī)為硬件開發(fā)核心,在這章節(jié)里,結(jié)合具體的硬件電路來介紹各模塊的軟件設(shè)計。單片機(jī)的軟件部分采用C語言開發(fā),用符合C語言的KELLC51編譯器[15]。系統(tǒng)初始化按鍵掃描系統(tǒng)初始化按鍵掃描開始 返回圖4-1主程序框圖4.2按鍵處理子程序設(shè)計4.2.1主要變量說明mode:表示當(dāng)前機(jī)器的工作狀態(tài)的全局變量,該全局變量起到保存當(dāng)前機(jī)器工作狀態(tài)的作用。mode=0:表示系統(tǒng)處于停止工作狀態(tài);mode=1:表示系統(tǒng)處于錄音工作狀態(tài);mode=2:表示系統(tǒng)處于放音工作狀態(tài)。play_suspend_flag:play_suspend_flag=0時,表示系統(tǒng)正在播放錄入的語音信號;play_suspend_flag=1時,表示系統(tǒng)正處于放音暫停狀態(tài)。該全局變量,為播放暫停的子程序編寫提供方便。rec_suspend_flag:play_suspend_flag=0時,表示系統(tǒng)正在錄入語音信號;rec_suspend_flag=1時,表示系統(tǒng)正處于放音暫停狀態(tài)。該全局變量,為錄音暫停的子程序編寫提供方便。key_rec:表示錄音按鍵變量,有0、1兩種狀態(tài),當(dāng)其為0時表示該按鍵按下。key_play:表示放音按鍵變量,有0、1兩種狀態(tài),當(dāng)其為0時表示該按鍵按下。key_suspend:表示錄/放音暫停按鍵變量,有0、1兩種狀態(tài),當(dāng)其為0時表示該按鍵按下。key_stop:表示停止按鍵變量,有0、1兩種狀態(tài),當(dāng)其為0時表示該按鍵按下。4.2.2按鍵處理子程序設(shè)計本系統(tǒng)中,按鍵是用戶實現(xiàn)控制系統(tǒng)的唯一渠道。在按鍵掃描子程序中,系統(tǒng)根據(jù)相應(yīng)的功能按鍵執(zhí)行相應(yīng)的子程序,從而完成相應(yīng)的語音操作及狀態(tài)顯示。按鍵處理子程序流程圖如圖4-2所示。4.3語音處理子程序設(shè)計4.3.1錄音子程序設(shè)計當(dāng)系統(tǒng)的錄音功能鍵key_rec按下后,會執(zhí)行相應(yīng)的錄音子程序,在編寫的錄音程序中有ISD4004的錄音操作,和系統(tǒng)處于錄音狀態(tài)的液晶顯示操作。錄音子程序流程圖如圖4-3所示。4.3.2放音子程序設(shè)計當(dāng)系統(tǒng)的放音功能鍵key_play按下后,會執(zhí)行相應(yīng)的放音子程序,在編寫的放音子程序中有ISD4004的放音操作,和系統(tǒng)處于放音狀態(tài)的液晶顯示操作。放音子程序流程圖如圖4-4所示。全局變量設(shè)為錄音模式全局變量設(shè)為錄音模式全局變量設(shè)為放音模式執(zhí)行錄音子程序執(zhí)行放音子程序執(zhí)行停止子程序執(zhí)行暫停子程序初始化掃描鍵盤否有鍵按下?是key_rec=0?key_play=0?key_stop=0?key_suspend=0?返回圖4-2按鍵處理子程序流程圖更新液晶顯示lcd_wcmd更新液晶顯示lcd_wcmd()發(fā)送ISD4004上電指令isd_powerup()發(fā)送錄音起始地址指令isd_setrec()發(fā)送錄音指令isd_rec()圖4-3錄音子程序流程圖更新液晶顯示lcd_wcmd更新液晶顯示lcd_wcmd()發(fā)送ISD4004上電指令isd_powerup()發(fā)送放音起始地址指令isd_setplay()發(fā)送放音指令isd_play()圖4-4放音子程序流程圖4.3.3暫停子程序設(shè)計當(dāng)系統(tǒng)的暫停功能鍵key_suspend按下后,會執(zhí)行相應(yīng)的暫停錄/放音或恢復(fù)錄/放音功能即暫停子程序,在其中會伴隨有系統(tǒng)錄放或恢復(fù)功能的執(zhí)行,和系統(tǒng)處于何種狀態(tài)的液晶顯示。暫停子程序流程圖如圖4-5所示。mode=1錄音mode=1錄音mode=2放音mode=0停止rec_suspend_flag=1rec_suspend_flag=0play_suspend_flag=1play_suspend_flag=0發(fā)送停止指令isd_stop()發(fā)送上電指令isd_powerup()發(fā)送停止指令isd_stop()發(fā)送上電指令isd_powerup()讀地址,停錄音,更新液晶顯示寫地址,錄音,更新液晶顯示讀地址,停放音,更新液晶顯示寫地址,放音,更新液晶顯示系統(tǒng)處于哪種工作模式mode=? 返回 rec_suspend_flag=0?play_suspend_flag=0?是否是否放音圖4-5暫停子程序流程圖4.3.4停止子程序設(shè)計當(dāng)系統(tǒng)的停止功能鍵key_stop按下后,會執(zhí)行相應(yīng)的停止錄/放音子程序,在編寫的停止錄/放音子程序中有使ISD4004停止工作的操作,和系統(tǒng)處于停止?fàn)顟B(tài)時液晶的顯示狀況。停止子程序流程圖如圖4-6所示。更新液晶顯示lcd_wcmd更新液晶顯示lcd_wcmd()發(fā)送ISD4004停止指令isd_stop()圖4-6停止子程序流程圖

5電路仿真在此次設(shè)計中,由于條件和技術(shù)的有限,無法實現(xiàn)電路的全部仿真,所以在做實物前只是進(jìn)行了部分的仿真,來驗證電路連接以及程序編寫的正確性[16]。5.1系統(tǒng)工作狀態(tài)顯示模塊仿真為方便提醒用戶系統(tǒng)所處于的工作狀態(tài),特為系統(tǒng)添加了液晶顯示,編寫相應(yīng)程序,添加在單片機(jī)中,使得系統(tǒng)工作于相應(yīng)狀態(tài)時,有相應(yīng)字母的顯示。當(dāng)系統(tǒng)上電時,液晶顯示如圖5-1所示:圖5-1系統(tǒng)上電顯示圖當(dāng)錄音鍵按下時,系統(tǒng)工作于錄音狀態(tài),液晶顯示如圖5-2所示:圖5-2系統(tǒng)錄音顯示圖之后按下暫停按鍵,系統(tǒng)工作于錄音暫停狀態(tài),液晶顯示如圖5-3所示:圖5-3系統(tǒng)錄音暫停顯示圖之后按下停止按鍵,系統(tǒng)工作于錄音停止?fàn)顟B(tài),液晶顯示如圖5-4所示:圖5-4系統(tǒng)錄音停止顯示圖當(dāng)按下放音按鍵時,系統(tǒng)工作于放音狀態(tài),液晶顯示如圖5-5所示:圖5-5系統(tǒng)放音顯示圖之后按下暫停按鍵,系統(tǒng)工作于放音暫停狀態(tài),液晶顯示如圖5-6所示:圖5-6系統(tǒng)放音暫停顯示圖之后按下停止按鍵,系統(tǒng)工作于放音停止?fàn)顟B(tài),液晶顯示如圖5-7所示。圖5-7系統(tǒng)放音停止顯示圖5.2系統(tǒng)輸出放大模塊仿真由于系統(tǒng)輸出的語音信號比較微弱,要經(jīng)過放大輸出。在該系統(tǒng)中使用LM386功放放大,其仿真結(jié)果如圖5-8所示。其中黃線(A通道,上線)代表經(jīng)放大后輸出信號圖,白線(D通道,下線)代表輸入信號圖。圖5-8功放仿真圖

6系統(tǒng)的制作與調(diào)試6.1系統(tǒng)的制作6.1.1電路板布線本系統(tǒng)的硬件電路連接有以下特點:整體電路模塊化。整體電路主要分為單片機(jī)控制模塊和語音處理模塊,這樣做的好處是,便于調(diào)試時檢查錯誤;在整體布線之前,先對元器件位置進(jìn)行合理優(yōu)化,這樣就可以在布線時減少很多工作量,且有效的減少沒必要的聲音干擾;(3)在PCB布線時,使用手動布線,設(shè)置好線寬參數(shù)[17]這樣可以方便焊接且減少相互干擾。6.1.2電路焊接焊接前先對著原理圖熟悉各芯片引腳,然后先選擇容易焊接的電容、電阻,每個引腳都要保證正確無誤。焊接時要注意一些問題:(1)首先要把電路中各個器件的位置布局好,以免導(dǎo)致焊接的時候引起不必要的錯亂;(2)因為成品要盡可能的美觀,所以焊接時要注意排版,焊接技術(shù)要熟練,避免虛焊或溫度過高而傷害板子。焊接的結(jié)果:電路中元器件沒有漏焊或焊接錯誤的現(xiàn)象;焊接完成后,元器件沒有正負(fù)極接反、沒有出現(xiàn)功能不能呈現(xiàn)的現(xiàn)象;最終完成后,沒有出現(xiàn)短路、斷路或者虛焊等不良現(xiàn)象。6.2系統(tǒng)調(diào)試調(diào)試是最后的一個關(guān)鍵環(huán)節(jié),決定著產(chǎn)品的功能是否能夠正常實現(xiàn),其中包括著硬件調(diào)試和軟件調(diào)試。6.2.1硬件調(diào)試從實物調(diào)試過程中,總結(jié)硬件調(diào)試事項如下:(1)實物制作完成之后不應(yīng)馬上通電,還要做一些測試工作,如用萬用表測試每一個模塊,以確保每一根走線都是正常聯(lián)通的。然后檢查電源的正負(fù)極,避免因短路而造成元器件燒壞。(2)對于連接有上拉電阻的單片機(jī)端口,盡量不將它作為其他控制端口。原因是電流一旦流經(jīng)電阻,電阻上就會承載著一定電壓,造成電壓損耗,輸出的高電平可能會變成低電平,從而影響驅(qū)動效果。(3)由于硬件實物的制作是分模塊化考慮的,所以在調(diào)試時,也是分模塊化檢測。首先,要將程序下載到單片機(jī)中,看程序是否能正常運行起來(看顯示模塊的工作情況),然后在測試語音模塊的時候,無論是放音還是錄音模式之下,都要通過示波器來檢測ISD4004芯片的輸入端語音波形是否正常。其次是看相應(yīng)按鍵按下時,語音是否能正常錄入,是否能經(jīng)放大之后播放出來,通過電位器調(diào)節(jié)音量,且音質(zhì)清晰。6.3.2軟件調(diào)試首先是對系統(tǒng)工作狀態(tài)的顯示模塊的軟件進(jìn)行測試,即對LCD1602的操作。然后對單片機(jī)主控系統(tǒng)對語音處理模塊的處理程序進(jìn)行測試。最后,進(jìn)行綜合測試,運行該語音錄放系統(tǒng),根據(jù)錄音和放音的狀態(tài)以及其狀態(tài)顯示,來判斷系統(tǒng)運行是否正常。再根據(jù)所設(shè)置的情況,來觀察系統(tǒng)在錄放時是否能達(dá)到預(yù)先要求。在軟件調(diào)試過程中,相應(yīng)的按鍵消抖,中斷設(shè)置以及ISD4004的工作時序,都需要特加注意,稍有不合適,就會影響工作效果。6.3.3調(diào)試結(jié)果通過對該系統(tǒng)的各項性能的綜合測試表明本系統(tǒng)較成功地實現(xiàn)了預(yù)先要求的以下各項功能:(1)能夠保證語音信號的準(zhǔn)確錄入和清晰回放,且音量可調(diào)。(2)系統(tǒng)易操作,易維護(hù),界面友好。(3)系統(tǒng)具有良好的兼容性和擴(kuò)展性,為功能的擴(kuò)充和與其它系統(tǒng)的集成做準(zhǔn)備。

結(jié)束語本文對語音存放系統(tǒng)進(jìn)行了深入的研究,在參考了國內(nèi)外一些資料的基礎(chǔ)上,比較合理地選擇了系統(tǒng)的設(shè)計方案,并對語音處理部分進(jìn)行了詳細(xì)的分析和介紹。本文設(shè)計根據(jù)設(shè)計要求、設(shè)計目的,選用了AT89S52單片機(jī)、語音芯片ISD4004、LCD1602液晶,來實現(xiàn)語音的完整錄取、清晰回放和工作狀態(tài)的顯示。經(jīng)實踐證明,該語音錄放系統(tǒng),外圍電路簡單、易擴(kuò)展、易調(diào)試,且語音真實自然。鑒于作者的能力、實驗條件等因素的限制,有些特別好的創(chuàng)意和想法依然無法實現(xiàn)。盡管該語音存放系統(tǒng)的主要功能基本已實現(xiàn),但要達(dá)到完全實用并且可以作為產(chǎn)品推出的話,還有很多地方有待進(jìn)一步完善和提高。比如說液晶的顯示可以更加豐富些,語音播報擺脫簡單的定時固化而更加智能化等。當(dāng)然,隨著現(xiàn)代技術(shù)的日新月異和我們自己的不斷學(xué)習(xí),有足夠的理由相信,對這一錄放系統(tǒng)的設(shè)計有著更加完美更加人性化的設(shè)計。

致謝走的最快的總是時間,來不及感嘆,大學(xué)生活已近尾聲,四年多的努力與付出,隨著本次論文的完成,將要劃下完美的句號。首先,非常感謝我的論文指導(dǎo)老師李娜老師。她為人隨和熱情,治學(xué)嚴(yán)謹(jǐn)細(xì)心。從選題到開題報告,從寫作提綱,到一遍又一遍地指出每稿中的具體問題,無不凝聚著李老師的心血和汗水。李老師要指導(dǎo)很多同學(xué)的論文,加上本來就有的教學(xué)任務(wù),工作量之大可想而知,看著老師深夜給我發(fā)來的指導(dǎo)郵件,我不禁感慨自己真的好幸運,同時又責(zé)備自己不夠認(rèn)真!在閑聊中她總是能像知心朋友一樣地鼓勵我,給我指導(dǎo),在論文的寫作和措辭等方面她也總會以“專業(yè)標(biāo)準(zhǔn)”嚴(yán)格要求我們,從選題、定題,一直到最后論文的反復(fù)修改、潤色,李老師始終認(rèn)真負(fù)責(zé)地給予我深刻而細(xì)致地指導(dǎo),幫助我開拓研究思路,精心點撥、熱忱鼓勵。沒有李老師無私的幫助與熱忱的鼓勵,我不會這么順利的完成畢業(yè)論文。在此向李娜老師表示深深的感謝和崇高的敬意。同時李娜老師的淵博的專業(yè)知識,精益求精的工作作風(fēng),嚴(yán)以律己、寬以待人的崇高風(fēng)范,將一直是我工作、學(xué)習(xí)中的榜樣。同時,我也很感謝我們學(xué)院的其它各位老師和身邊的同學(xué)。我深知,該論文能順利完成,是離不開他們的熱情幫忙的,老師們不僅在課堂上傳授我必要的專業(yè)知識,而且教會我了對于新知識的學(xué)習(xí)方法,這也是我大學(xué)學(xué)習(xí)的精髓。同學(xué)們的建議、資料使我打開思路,知道自己的不足在哪里。畢業(yè)論文的完成,意味著大學(xué)生活的基本結(jié)束,但我知道,我的專業(yè)學(xué)習(xí)生涯才剛剛開始。在大學(xué)四年,尤其是在畢業(yè)設(shè)計制作的這段時間里,我學(xué)到的不僅僅是老師傳授給我的專業(yè)知識,更是遇到問題時的解決思路,遇到陌生點的學(xué)習(xí)方法。困難,是用來被解決的,而不是用來畏懼的,怕、躲避沒有任何作用,而且更是無能的表現(xiàn)。在未來的工作和學(xué)習(xí)里,我會以更好的成績來回報各位領(lǐng)導(dǎo)老師和父母。

參考文獻(xiàn)[1]楊紅軍,石林.一種基于單片機(jī)的語音錄放電路的設(shè)計[J].電子元器件應(yīng)用,2008(03):4-7.[2]蘇軍.基于單片機(jī)的語音信息采集及處理系統(tǒng)設(shè)計[J].科技信息(學(xué)術(shù)版),2008(17):2-3.[3]謝自美,羅杰.電子線路設(shè)計·實驗·測試[M].北京:電子工業(yè)出版社,2008(03):367-373.[4]彭為.單片機(jī)典型系統(tǒng)設(shè)計實例精講[M].北京:電子工業(yè)出版社,2006(05):4-18.[5]周航慈.單片機(jī)程序設(shè)計基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1997(08):15-19.[6]周美娟.單片機(jī)技術(shù)及系統(tǒng)設(shè)計[M].北京:清華大學(xué)出版社,2007(03):6-17.[7]張洪潤.單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2008(12):6-7.[8]李宗福.單片機(jī)在語音存儲與回放中的應(yīng)用[J].黃石高等??茖W(xué)校學(xué)報,2000(01):56-60.[9]宋戈,黃鶴松等.51單片機(jī)應(yīng)用開發(fā)大全[M].北京:人民郵電出版社,2012(05):194-206.[10]張常年.ISD4004語音芯片的工作原理及其在智能控制系統(tǒng)中的應(yīng)用[J].電子元件與材料,2001(06):20-26.[11]馮志慧.一種基于單片機(jī)控制ISD4004語音芯片應(yīng)用電路[J].微計算機(jī)信息,2003(07):3-5.[12]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000(08):496-501.[13]李昭靜,韓超.基于AT89S52單片機(jī)的LED點陣顯示屏設(shè)計[J].電腦知識與技術(shù),2011(11):4-7.[14]LawrenceR.Rabiner,RonaldW.Schafer.Theoryandapplicationsofdigitalspeechprocessing[J].electronicindustrypress,2011(09):13-17.[15]Michael·Collie,SunXiujuan.Introductorymicrocontrollertheoryandapplications[J].ChinaUniversityofPetroleumPress,2008(06):30-35.[16]吳小花.Proteus的電子電路設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2011(03):15-17.[17]左昉,李成泉,胡仁喜.Protel應(yīng)用教程[M].北京:北京交通大學(xué)出版社,2008(01):168-210.

(附錄)附錄1原理圖附錄2PCB圖

附錄3工作圖

附錄4源程序ISD4004_drive.c如下:#include"ISD4004_drive.h"#include"usual.h"#include<intrins.h>/********SPI初始化函數(shù)********/ voidspi_init(void){ SS=1; SCLK=0; MOSI=1; MISO=1;}/*函數(shù)功能:SPI串口發(fā)送8位命令并同時接收8位數(shù)據(jù)的函數(shù),接收的8位數(shù)據(jù)高位低位反向(P5|P4|P3|P2|P1|P0|EOM|OVF)*/ unsignedcharspi_8bit_tr(unsignedcharisd_cmd){unsignedcharisd_rxd=0;unsignedcharcount;SS=0;for(count=0;count<8;count++){isd_rxd=isd_rxd>>1;MISO=1;if(MISO){isd_rxd=isd_rxd|0x80;}if(isd_cmd&0x01){MOSI=1;} //先發(fā)低位再發(fā)高位,依次發(fā)送else{MOSI=0;}isd_cmd=isd_cmd>>1;SCLK=1; _nop_(); SCLK=0; _nop_();}SS=1; returnisd_rxd;}/*函數(shù)功能:SPI串行發(fā)送24位命令并同時接收24位數(shù)據(jù)的函數(shù),接收的8位數(shù)據(jù)高位低位反向(*|*|*|*|*|P16|···P1|P0|EOM|OVF|0|0|0|0|0|0|0|0)*/unsignedlongspi_24bit_tr(unsignedcharisd_cmd,unsignedcharaddress_h,unsignedcharaddress_l){unsignedlongisd_txd=0;unsignedlongisd_rxd=0;unsignedcharcount;isd_txd=((((longint)isd_cmd)<<16)|(((longint)address_h)<<8)|((longint)address_l));SS=0;for(count=0;count<24;count++) {isd_rxd=isd_rxd>>1; MISO=1; if(MISO){isd_rxd=isd_rxd|0x;} if(isd_txd&0x01){ MOSI=1;} else{ MOSI=0;} isd_txd=isd_txd>>1; SCLK=1;_nop_(); SCLK=0;_nop_() ; SS=1;}returnisd_rxd;} /********以下是發(fā)送上電指令********/voidisd_powerup(void){spi_8bit_tr(0x20); delay_ms(50);}/********以下是發(fā)送play(播放)指令函數(shù)********/voidisd_play(void){spi_8bit_tr(0xf0);}/********以下是發(fā)送rec(錄音)指令函數(shù)********/voidisd_rec(void){spi_8bit_tr(0xb0);}/********以下是發(fā)送stop(停止)指令函數(shù)********/voidisd_stop(void){spi_8bit_tr(0x30);delay_ms(50);}/********以下是發(fā)送setplay(放音起始地址)指令函數(shù)********/voidisd_setplay(unsignedcharadh,unsignedcharadl){spi_24bit_tr(0xe0,adh,adl); }/********以下是發(fā)送setrec(錄音起始地址)指令函數(shù)********/voidisd_setrec(unsignedcharadh,unsignedcharadl){spi_24bit_tr(0xa0,adh,adl);}//函數(shù)功能:讀取ISD4004的當(dāng)前行地址(0x00|0|0|0|0|0|0|0|P16|P15|···P1|P0)unsignedlongisd_read_address(void){unsignedlongaddress=0;address=spi_24bit_tr(0x30,0x00,0x00);address =address>>10;address=address&0x0001ffff;returnaddress;}lcd.c如下:#include<lcd.h>#include<intrins.h>#include<usual.h>#include<reg52.h>bitlcd_bz(void)//LCD判斷函數(shù){bitresult; DATAPORT=0xff; LCM_RS=0; LCM_RW=1; _nop_(); LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); result=(bit)(P0&0x80); LCM_EN=0; returnresult;}//lcd1602寫命令 voidlcd_wcmd(unsignedcharCMD){ while(lcd_bz()); LCM_RS=0; LCM_RW=0; LCM_EN=0; _nop_(); _nop_(); DATAPORT=CMD; _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=0;}//lcd1602寫數(shù)據(jù) voidlcd_wdat(unsignedchardataW){ while(lcd_bz()); LCM_RS=1; LCM_RW=0; LCM_EN=0; _nop_(); DATAPORT=dataW; _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); _nop_(); _nop_(); LCM_EN=0;}/*初始化液晶函數(shù)*/voidlcd_init() //初始化LCD {lcd_wcmd(0x38);//設(shè)置顯示的方式 delay_ms(20); lcd_wcmd(0x38); delay_ms(5); lcd_wcmd(0x38); delay_ms(5); lcd_wcmd(0x0c); //顯示開關(guān)及光標(biāo)設(shè)置 lcd_wcmd(0x06); //顯示光標(biāo)移動設(shè)置為當(dāng)“讀或?qū)懸粋€字符后地址指針加1,且光標(biāo)加1” lcd_wcmd(0x01);//顯示清屏 }function.c程序如下: #include"function.h"#include"ISD4004_drive.h"#include"usual.h"#include"lcd.h"/*定義液晶顯示狀況*/unsignedcharcodetab[]={"ISD4004TEST"};//定義第1行顯示的字符unsignedcharcodeline1_data[]={"RecordingStart"};//定義第1行顯示的字符 ,按下錄音鍵unsignedcharcodeline2_data[]={"RecordingOver"};//定義第1行顯示的字符 ,錄音停止時unsignedcharcodeline3_data[]={"PlayingStart"};//定義第1行顯示的字符 ,按下放音鍵unsignedcharcodeline4_data[]={"PlayingOver"};//定義第1行顯示的字符 ,放音停止時unsignedcharcodeline5_data[]={"RecordingSuspend"};//定義第1行顯示的字符 ,錄音暫停時unsignedcharcodeline6_data[]={"PlayingSuspend"};//定義第1行顯示的字符 ,放音暫停時unsignedcharmode=0;voidinit(void) //定義init函數(shù){unsignedchari=0; lcd_init(); //液晶的初始化 spi_init(); //ISD4004初始化 lcd_wcmd(0x01); //液晶上顯示初始字符 lcd_wcmd(0x80); while(tab[i]!='\0') {lcd_wdat(tab[i]);//液晶顯示“ISD4004TEST” i++;} EX0=1; //中斷初始化 IT0=1; IE0=0; EA=1;}voidkey(void) //讀鍵盤函數(shù){staticbitrec_suspend_flag=0;staticbitplay_suspend_flag=0;staticunsignedlongaddress=0;unsignedchari=0; if(!key_rec) //錄音按鍵處理程序 { delay_ms(20); if(!key_rec){ while(!key_rec); rec_test(); //執(zhí)行錄音程序 mode=1; //全局變量設(shè)為錄音模式 play_suspend_flag=0; rec_suspend_flag=0;} } if(!key_play){ //播放按鍵處理程序 delay_ms(20); if(!key_play){ while(!key_play); play_test(); //執(zhí)行播音程序 mode=2; //全局變量設(shè)為播音模式 play_suspend_flag=0; rec_suspend_flag=0;} } if(!key_stop){ //停止按鍵處理程序 delay_ms(20); if(!key_stop){ while(!key_stop); stop_op(); //執(zhí)行停止程序 } } if(!key_suspend){ //暫停按鍵處理程序 delay_ms(20); if(!key_suspend){ while(!key_suspend); switch(mode){ case1:if(!rec_suspend_flag){ //如果正在錄音 rec_suspend_flag=1; //錄音暫停 isd_stop(); //執(zhí)行ISD暫停模式 delay_ms(500); address=isd_read_address(); //記下錄音地址,將來繼續(xù)錄音的時候知道從哪里開始 lcd_wcmd(0x80); //更新顯示 i=0; while(line5_data[i]!='\0') {lcd_wdat(line5_data[i]); i++; } lcd_wcmd(0xc0+16); } else{ rec_suspend_flag=0; isd_powerup(); //發(fā)送ISD上電指令 delay_ms(500); isd_powerup(); delay_ms(500); address=address-2; //記錄地址 isd_setrec(((unsignedchar)(address>>8)),((unsignedchar)(address&0xff)));//發(fā)送錄音地址指令setrec isd_rec();//發(fā)送rec指令 lcd_wcmd(0x80);//更新狀態(tài)顯示 i=0; while(line1_data[i]!='\0') {lcd_wdat(line1_data[i]); i++;} lcd_wcmd(0xc0+16); }break; case2:if(!play_suspend_flag){

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論