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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

參考文獻(xiàn)[1]楊紅軍,石林.一種基于單片機(jī)的語(yǔ)音錄放電路的設(shè)計(jì)[J].電子元器件應(yīng)用,2008(03):4-7.[2]蘇軍.基于單片機(jī)的語(yǔ)音信息采集及處理系統(tǒng)設(shè)計(jì)[J].科技信息(學(xué)術(shù)版),2008(17):2-3.[3]謝自美,羅杰.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試[M].北京:電子工業(yè)出版社,2008(03):367-373.[4]彭為.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2006(05):4-18.[5]周航慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1997(08):15-19.[6]周美娟.單片機(jī)技術(shù)及系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2007(03):6-17.[7]張洪潤(rùn).單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2008(12):6-7.[8]李宗福.單片機(jī)在語(yǔ)音存儲(chǔ)與回放中的應(yīng)用[J].黃石高等專科學(xué)校學(xué)報(bào),2000(01):56-60.[9]宋戈,黃鶴松等.51單片機(jī)應(yīng)用開發(fā)大全[M].北京:人民郵電出版社,2012(05):194-206.[10]張常年.ISD4004語(yǔ)音芯片的工作原理及其在智能控制系統(tǒng)中的應(yīng)用[J].電子元件與材料,2001(06):20-26.[11]馮志慧.一種基于單片機(jī)控制ISD4004語(yǔ)音芯片應(yīng)用電路[J].微計(jì)算機(jī)信息,2003(07):3-5.[12]童詩(shī)白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2000(08):496-501.[13]李昭靜,韓超.基于AT89S52單片機(jī)的LED點(diǎn)陣顯示屏設(shè)計(jì)[J].電腦知識(shí)與技術(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è)計(jì)與實(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位命令并同時(shí)接收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位命令并同時(shí)接收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)移動(dòng)設(shè)置為當(dāng)“讀或?qū)懸粋€(gè)字符后地址指針加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行顯示的字符 ,錄音停止時(shí)unsignedcharcodeline3_data[]={"PlayingStart"};//定義第1行顯示的字符 ,按下放音鍵unsignedcharcodeline4_data[]={"PlayingOver"};//定義第1行顯示的字符 ,放音停止時(shí)unsignedcharcodeline5_data[]={"RecordingSuspend"};//定義第1行顯示的字符 ,錄音暫停時(shí)unsignedcharcodeline6_data[]={"PlayingSuspend"};//定義第1行顯示的字符 ,放音暫停時(shí)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(); //記下錄音地址,將來(lái)繼續(xù)錄音的時(shí)候知道從哪里開始 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. 本站所有資源如無(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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論