基于單片機的錄音筆的設(shè)計與實現(xiàn)_第1頁
基于單片機的錄音筆的設(shè)計與實現(xiàn)_第2頁
基于單片機的錄音筆的設(shè)計與實現(xiàn)_第3頁
基于單片機的錄音筆的設(shè)計與實現(xiàn)_第4頁
基于單片機的錄音筆的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的錄音筆的設(shè)計與實現(xiàn)PAGEPAGEVI基于單片機的錄音筆的設(shè)計與實現(xiàn)

摘要隨著電子技術(shù)的飛速發(fā)展,數(shù)碼錄音筆已得到越來越多的人的青睞,論文通過對多種錄音筆的設(shè)計方案進行比較和分析,選定低成本的STC單片機設(shè)計一個數(shù)字錄音筆。本論文研究基于單片機錄音筆的設(shè)計,在對音頻采集理論研究的基礎(chǔ)上,本設(shè)計以低功耗STC89C51單片機為控制核心,通過單片機、語音芯片ISD4004、液晶顯示LCD12864、鍵盤模塊、溫度傳感器模塊及實時時鐘模塊結(jié)合實現(xiàn)了硬件電路的設(shè)計,ISD4004語音芯片使得大大簡化了外圍電路的設(shè)計,也很好保證了錄音效果,LCD12864使得人機交互更簡潔方便,同時,本設(shè)計還增加了時間、溫度的顯示及語音播報功能。文中也給出了軟件部分的程序,并且通過現(xiàn)場調(diào)試,達到預(yù)期的效果。數(shù)碼錄音筆在錄音領(lǐng)域等實際應(yīng)用中具有諸多優(yōu)勢,值得進一步學(xué)習(xí)和研究。關(guān)鍵詞 :低功耗STC89C51ISD4004錄音語音播報AbstractWiththerapiddevelopmentofelectronictechnology,digitalvoicerecorderhasbeenmoreandmorepeopleofallages,thepapercomparedandanalyzedbyavarietyofrecordingpendesign,selectedlow-costSTCmicrocontrollerdesignadigitalvoicerecorder.Thethesisisbasedonthedesignofthesingle-chipvoicerecorder,onthebasisoftheoreticalresearchonaudiocapture,thedesignoflowpowerSCMSTC89C51forcontrolcoreLCD12864,keyboardmodule,thetemperaturesensormodule,single-chip,voicechipISD4004,liquidcrystaldisplayandthereal-timeclockmoduletoachieveacombinationofhardwarecircuitdesign,ISD4004voicechipsothatgreatlysimplifiesthedesignofperipheralcircuitsisalsoverygoodtoensurethatrecordings,LCD12864makesthehuman-computerinteractionmoresimpleandconvenientatthesametime,thedesignalsoincreasedthetimeandtemperaturedisplayandvoicebroadcastfeature.Alsogivesthesoftwarepartoftheprocess,andthroughon-sitecommissioning,toachievethedesiredresults.Digitalvoicerecorderhasmanyadvantagesinpracticalapplicationssuchasrecordingfield,itisworthfurtherstudyandresearch.Keywords:low-powerSTC89C51ISD4004recordingvoicebroadcast目錄摘要 IAbstract II目錄 III前言 11設(shè)計要求及方案 21.1設(shè)計任務(wù)及要求 21.2設(shè)計方案選擇與論證 22系統(tǒng)的硬件設(shè)計與實現(xiàn) 42.1核心控制模塊 42.1.1STC89C58RD+單片機介紹 42.1.2單片機復(fù)位、晶振電路設(shè)計 72.2音頻處理模塊 82.2.1ISD4004芯片簡介 82.2.2SPI 112.2.3LM386芯片簡介 142.2.4音頻處理電路設(shè)計 152.3液晶顯示模塊 162.3.1LCD12864介紹 162.3.212864模塊與單片機接口電路 182.4時鐘模塊 192.4.1DS1302介紹 192.4.2DS1302模塊電路 212.5溫度采集模塊 212.5.1DS18B20介紹 212.5.2DS18B20電路連接 222.5電源模塊 222.6蜂鳴器模塊 233系統(tǒng)軟件設(shè)計與實現(xiàn) 243.1主程序流程圖及代碼 243.2子程序的設(shè)計 253.2.1錄放聲音程序設(shè)計 253.2.2LCD12864程序設(shè)計 263.2.3DS1302程序設(shè)計 273.2.4DS18B20程序設(shè)計 294軟硬件調(diào)試及結(jié)果 30總結(jié) 32致謝 33參考文獻 34附件一系統(tǒng)總原理圖 35附件二系統(tǒng)PCB 36基于單片機的錄音筆的設(shè)計與實現(xiàn)PAGE35前言錄音筆對于我們現(xiàn)如今的人們已經(jīng)是再熟悉不過的產(chǎn)品了,它已經(jīng)應(yīng)用在了很多領(lǐng)域。正是由于錄音筆能夠錄音的特點,在你無法憑借記憶記住重要談話,或者重要會議的重要內(nèi)容的時候,它便體現(xiàn)除了它的優(yōu)勢,清晰完整無誤的記錄下你要記錄的東西,而你能夠拿出更多的時間來處理其他事情,當(dāng)你有充足的時間時再來處理這些未處理的內(nèi)容。除此之外錄音筆小巧易于攜帶,存儲內(nèi)容量大,基于這些優(yōu)點,越來越多的得到人們的青睞!通過對先進技術(shù)的兼收并蓄,并高標(biāo)準(zhǔn)、能夠高起點自主開發(fā)一系列的高技術(shù)產(chǎn)品,因此研究本課題具有非常重要的實用意義。隨著視聽家電產(chǎn)品的不斷豐富,已經(jīng)有越來越多微小型產(chǎn)品走入人們的日常生活,他們最突出的優(yōu)點是體積小,而且重量輕,給人們帶來了方便。作為一種簡單的獲取和記錄數(shù)字化文件的工具,錄音筆風(fēng)靡市場,成為學(xué)生記者、商務(wù)人士購置錄音設(shè)備的首選,也成為時間緊張在職人員的掌上新寵。這正是本次論文選題的主要依據(jù)和動機?,F(xiàn)在所說的錄音筆指的數(shù)碼錄音筆,數(shù)字錄音器的一種,為了便于操作和提升錄音質(zhì)量造型并非以單純的筆型為主,攜帶方便,同時擁有多種功能,如激光筆功能、FM調(diào)頻、MP3播放等。與傳統(tǒng)錄音機相比,數(shù)碼錄音筆是通過數(shù)字存儲的方式來記錄音頻的。本論文研究基于單片機錄音筆的設(shè)計,在對音頻采集理論研究的基礎(chǔ)上,本設(shè)計采用低功耗STC89C51單片機為控制核心,通過單片機、語音芯片ISD4004、液晶顯示LCD12864、鍵盤模塊、溫度傳感器模塊及實時時鐘模塊等結(jié)合實現(xiàn)了硬件電路的設(shè)計,ISD4004語音芯片使得大大簡化了外圍電路的設(shè)計,也很好保證了錄音效果,LCD12864使得人機交互更簡潔方便,同時,本設(shè)計還增加了時間、溫度的顯示及語音播報功能。論文末尾給出了軟件部分的程序,并且通過了現(xiàn)場調(diào)試,達到預(yù)期的效果。這次的設(shè)計也有很多的不足,我相信數(shù)碼錄音筆在以后的不斷發(fā)展和完善后將不斷的給人們的工作和生活帶來更多的方便。1設(shè)計要求及方案隨著現(xiàn)代科技的發(fā)展,錄音筆已經(jīng)廣泛應(yīng)用到學(xué)習(xí)、生活、工作中,進而對其功能和性能提出了更高的要求,為此設(shè)計一款數(shù)碼錄音筆。1.1設(shè)計任務(wù)及要求此次的設(shè)計任務(wù)是設(shè)計一款基于單片機的錄音筆的設(shè)計。設(shè)計要求如下:●具有單片機核心控制模塊;●具有音頻處理模塊(ISD4004及功放LM386模塊);●具有LCD顯示模塊(LCD12864模塊);●具有鍵盤控制模塊?!窬哂校ǘ〞r)錄音、放音功能?!窬哂姓Z音、溫度顯示及語音播報功能。1.2設(shè)計方案選擇與論證方案一:基于單片機、數(shù)字信號處理器DSP、FLASH存儲器的數(shù)碼錄音放音系統(tǒng)。在錄音時,語音信號經(jīng)過處理后送到A/D轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)字信號,把這些數(shù)字信號送到數(shù)字信號處理器DSP進行壓縮處理,壓縮后的語音數(shù)據(jù)與時間日期一起送到FLASH中,回放時從FLASH存儲器中讀取壓縮的數(shù)據(jù)以及時間,經(jīng)過D/A轉(zhuǎn)換后,再通過喇叭等具有播放功能的器件進行播放。具體框圖如下所示:A/D轉(zhuǎn)換器語音信號A/D轉(zhuǎn)換器語音信號DSP處理器壓縮FLASH存儲器圖1.1方案一結(jié)構(gòu)圖數(shù)字信號由于此方案要通過A/D芯片,專門的DSP芯片,本設(shè)計不需要高速、高精度運算,而且DSP功耗相對高,成本比較高,因此不選擇此方案。方案二:采用處理器集成型可重構(gòu)系統(tǒng)PICEX實現(xiàn)數(shù)碼錄音筆的核心部分設(shè)計,對于每一個模塊功能實現(xiàn)模塊都構(gòu)成一個可實現(xiàn)重構(gòu)功能模塊。在系統(tǒng)完成各種任務(wù)時,可重構(gòu)模塊的運行是完全獨立于內(nèi)核的,在編程中使個個模塊并行運行。錄音狀態(tài)時各部件采用流水線的方法,即每個部件的輸入數(shù)據(jù)都取自上一個部件輸出的一個值,各部件幾乎同時進行工作,處于并行運行狀態(tài)。雖然此方案提高了系統(tǒng)的并行性,節(jié)省了資源這種設(shè)計所需重構(gòu)部件多,設(shè)計工作量大操作時間長,所以本設(shè)計也不采取這種方案。方案三:通過51單片機與語音功能集成芯片ISD4004,以及LCD12864液晶芯片進行設(shè)計,由單片機控制ISD4004來實現(xiàn)語音的錄制存儲以及播放清除等功能。并且通過LCD12864來實現(xiàn)良好的人機交互界面。具體框圖如下所示:鍵盤接口鍵盤接口按鍵信息51單片機語音指令I(lǐng)SD4004芯片顯示LCD12864顯示控制Ds18b20、Ds1302芯片圖1.2方案三結(jié)構(gòu)圖 由于采用資源不多的51單片機,這樣節(jié)省了資源同時單片機運算速度已經(jīng)足夠用于檢測按鍵,以及控制錄音筆進行各種操作,而且這種設(shè)計無需對數(shù)字信號進行編碼壓縮的復(fù)雜的操作,實現(xiàn)簡單,功耗不高,相對而言成本也不高,所以本設(shè)計采用了此方案。2系統(tǒng)的硬件設(shè)計與實現(xiàn)2.1核心控制模塊控制模塊是整個錄音筆的核心,實現(xiàn)對語音芯片ISD4004、溫度ds18b20、實時時鐘ds1302、液晶顯示模塊發(fā)送或接受指令,使其完成相應(yīng)的動作。本設(shè)計采用了型號為STC89C58RD+單片機,它是一種簡明易掌握,效率較高的指令系統(tǒng),對存儲空間和時間的利用率較高。2.1.1STC89C58RD+單片機介紹STC89C58RD+是宏晶科技生產(chǎn)的低電壓、高性能CMOS8位單片機,片內(nèi)含32KB的可以反復(fù)檫寫的程序存儲器和1280B的隨機存取數(shù)據(jù)存儲器(RAM),器件采用高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)配置有通用8位中央處理器(CPU)和Flash存儲單元,可靈活的應(yīng)用于各種控制領(lǐng)域。STC89C58RD+單片機與Intel公司的80C52在引腳排列、硬件組成、工作特點和指令系統(tǒng)等方面兼容。其主要工作特性是:●片內(nèi)程序存儲器內(nèi)含32KB的Flash程序存儲器,可以擦寫壽命為100,000次以上;●片內(nèi)數(shù)據(jù)存儲器內(nèi)含有1280字節(jié)的RAM;●有32根可編程I/O口線;●有2個可編程定時器;●中斷系統(tǒng)是有5個中斷源、5個中斷矢量、2個級優(yōu)先權(quán)的中斷結(jié)構(gòu);●串行口是有一個全雙工的可編程串行通信口;●有一個數(shù)據(jù)指針DPTR;●低功耗工作模式有掉電模式和空閑模式;●有可編程的3級程序鎖定位;●工作電源電壓為5.5~3.4V,且典型值為5V;●最高工作頻率為40MHz;●工作溫度范圍:-40~+85℃。圖2.1STC89C58RD+單片機的引腳排列圖2.1STC89C58RD+單片機的引腳排列引腳功能:Vcc:電源電壓GND:地P0口:為雙向8為三態(tài)I/O接口。作為輸出口用的時候,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,當(dāng)對端口P0寫“1”時,可以作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或者程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間將激活內(nèi)部上拉電阻。在FLASH編程時,P0口接收指令字節(jié),然而在程序校驗時,輸出指令字節(jié),當(dāng)校驗時,要求外接上拉電阻。P1口:PI是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,Pl口輸出緩沖級能夠驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作為輸入口。當(dāng)作為輸入口使用時,因為內(nèi)部存在上拉電阻的某個引腳被外部信號拉低時會輸出一個電流,與AT89C51不同之處是,Pl.0和P1.1還能夠分別作為定時/計數(shù)器2的外部計數(shù)輸入(Pl.0/T2)和輸入(P1.1/T2EX)。P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2口輸出緩沖級能夠驅(qū)動(吸收或輸出電流)4個TTL邏輯電路。對端口P2寫“l(fā)",通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作為輸入口,當(dāng)作為輸入口使用時,因為內(nèi)部存在上拉電阻的某個引腳被外部信號拉低時會輸出一個電流(llt)。在訪問外部程序存儲器或16位地址外部數(shù)據(jù)存儲器(例如執(zhí)行MOvx@DPTR指令)時,P2會送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@RI指令)時,P2口會輸出P2鎖存器的內(nèi)容。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級能夠驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口P3寫入“1”時,它們將會被內(nèi)部上拉電阻拉高并可以作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下所示:端口引腳第二功能P3.0RXD(串行輸入口〕P3.1TXD(串行輸出口〕P3.2INTO(外中斷0〕P3.3INTO(外中斷l(xiāng))P3.4TO(定時/計數(shù)器0)P3.5Tl(定時/計數(shù)器l)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還會接收一些用于FLASH閃速存儲器編程和程序校驗的控制信號。2.1.2單片機復(fù)位、晶振電路設(shè)計AT89C52單片機復(fù)位、晶振電路如圖2.2、圖2.3:圖2.2圖2.2復(fù)位電路圖2.3晶振電路 晶振是石英振蕩器的簡稱,英文名為Crystal,晶振分為有源晶振和無源晶振兩種,它的作用是在電路產(chǎn)生震蕩電流并且發(fā)出時鐘信號。它是時鐘電路中最重要的部件,它的作用是向IC等部件提供基準(zhǔn)頻率,它就像個標(biāo)尺,工作頻率不穩(wěn)定時會造成相關(guān)設(shè)備工作頻率的不穩(wěn)定,自然容易出現(xiàn)問題。由于制造工藝的不斷提高,現(xiàn)在晶振的頻率偏差、溫度穩(wěn)定性、老化率和密封性等重要技術(shù)指標(biāo)都很好,已經(jīng)不太容易出現(xiàn)故障,但在選用時仍然需要留意一下晶振的質(zhì)量。復(fù)位電路是為了確保微機系統(tǒng)中電路穩(wěn)定必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。微機電路正常工作時一般需要供電電源為5V±5%,即4.75~5.25V。由于微機電路是時序數(shù)字電路,需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當(dāng)VCC超過4.75V并低于5.25V以及晶體振蕩器穩(wěn)定工作時,復(fù)位信號才能夠被撤除,微機電路開始正常的工作。2.2音頻處理模塊音頻處理模塊主要由語音芯片ISD4004,功放LM386等元件構(gòu)成,其作用是對聲音的處理,通過單片機控制聲音的錄放。2.2.1ISD4004芯片簡介ISD4004系列工作電壓3V,單片錄放時間8至16分鐘,音質(zhì)好,適用于移動電話及其他便攜式電子產(chǎn)品中。芯片采用CMOS技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪及高密度多電平閃爍存貯陣列。芯片設(shè)計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口(SPI或Microwire)送入。芯片采用多電平直接模擬量存儲技術(shù),每個采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和"金屬聲"。采樣頻率可為4.0,5.3,6.4,8.0kHz,頻率越低,錄放時間越長,而音質(zhì)則有所下降,片內(nèi)信息存于閃爍存貯器中,特征如下:●單片8至16分鐘語音錄放●內(nèi)置微控制器串行通信接口●3V單電源工作●多段信息處理●工作電流25-30mA,維持電流1μA●不耗電信息保存100年(典型值)●高質(zhì)量、自然的語音還原技術(shù)●10萬次錄音周期(典型值)●自動靜噪功能●片內(nèi)免調(diào)整時鐘,可選用外部時鐘ISD4004內(nèi)部結(jié)構(gòu)框圖如圖2.4:圖圖2.4ISD4004內(nèi)部結(jié)構(gòu)框圖ISD4004引腳如圖2.5:圖圖2.5ISD4004引腳圖 電源(VCCA,VCCD):為使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝的不同管腳上,模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近器件。地線(VSSA,VSSD):芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線。同相模擬輸入(ANAIN+):這是錄音信號的同相輸入端。輸入放大器可用單端或差分驅(qū)動。單端輸入時,信號由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3KΩ電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動時,信號最大幅度為峰峰值16mV,為ISD33000系列相同。反相模擬輸入(ANAIN-):差分驅(qū)動時,這是錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度為峰峰值16mV音頻輸出(AUDOUT):提供音頻輸出,可驅(qū)動5KΩ的負(fù)載。片選(SS):此端為低,即向該ISD4004芯片發(fā)送指令,兩條指令之間為高電平。串行輸入(MOSI):此端為串行輸入端,主控制器應(yīng)在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供ISD輸入。串行輸出(MISO):ISD的串行輸出端。ISD未選中時,本端呈高阻態(tài)。串行時鐘(SCLK):ISD的時鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD。中斷(/INT):本端為漏極開路輸出。ISD在任何操作(包括快進)中檢測到EOM或OVF時,本端變低并保持。中斷狀態(tài)在下一個SPI周期開始時清除。中斷狀態(tài)也可用RINT指令讀取。OVF標(biāo)志指示ISD的錄、放操作已到達存儲器的未尾。EOM標(biāo)志只在放音中檢測到內(nèi)部的EOM標(biāo)志時,此狀態(tài)位才置1。行地址時鐘(RAC):漏極開路輸出。每個RAC周期表示ISD存儲器的操作進行了一行(ISD4004系列中的存貯器共2400行)。該信號175ms保持高電平,低電平為25ms??爝M模式下,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),頻率變化在-6/+4%內(nèi),此時建議使用穩(wěn)壓電源。若要求更高精度,可從本端輸入外部時鐘(如圖2.6)。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時鐘頻率不應(yīng)改變。輸入時鐘的占空比無關(guān)緊要,因內(nèi)部首先進行了分頻。在不外接地時鐘時,此端必須接地。自動靜噪(AMCAP):當(dāng)錄音信號電平下降到內(nèi)部設(shè)定的某一閾值以下時,自動靜噪功能使信號衰弱,這樣有助于養(yǎng)活無信號(靜音)時的噪聲。通常本端對地接1mF的電容,構(gòu)成內(nèi)部信號電平峰值檢測電路的一部分。檢出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動靜噪功能的翻轉(zhuǎn)點。大信號時,自動靜噪電路不衰減,靜音時衰減6dB。1mF的電容也影響自動靜噪電路對信號幅度的響應(yīng)速度。本端接VCCA則禁止自動靜噪。2.2.2SPISPI(SerialPeripheralInterface--串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進行通信以交換信息。SPI有三個寄存器分別為:控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR。外圍設(shè)備FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時鐘線(SCLK)、主機輸入/從機輸出數(shù)據(jù)線MISO、主機輸出/從機輸入數(shù)據(jù)線MOSI和低電平有效的從機選擇線SS(有的SPI接口芯片帶有中斷信號線INT、有的SPI接口芯片沒有主機輸出/從機輸入數(shù)據(jù)線MOSI)。SPI接口是在CPU和外圍低速器件之間進行同步串行數(shù)據(jù)傳輸,傳輸數(shù)據(jù)為8位,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來說比I2C總線要快,速度可達到幾Mbps。如圖2.6所示,在SCLK的下降沿上數(shù)據(jù)改變,同時一位數(shù)據(jù)被存入移位寄存器。圖圖2.6SPI通訊時序圖SPI接口內(nèi)部硬件圖如圖2.7:圖圖2.7SPI接口內(nèi)部硬件圖MasterMasterSlaveSCLKMOSIMISOSS圖2.8SPI硬件連接圖ISD4004工作于SPI串行接口。SPI協(xié)議是一個同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動作,因此對ISD4004而言,在時鐘止升沿鎖存MOSI引腳的數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。協(xié)議的具體內(nèi)容為:1.所有串行數(shù)據(jù)傳輸開始于SS下降沿。2.SS在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平。3.數(shù)據(jù)在時鐘上升沿移入,在下降沿移出。4.SS變低,輸入指令和地址后,ISD才能開始錄放操作。5.指令格式是(8位控制碼)加(16位地址碼)。6.ISD的任何操作(含快進)如果遇到EOM或OVF,則產(chǎn)生一個中斷,該中斷狀態(tài)在下一個SPI周期開始時被清除。7.使用"讀"指令使中斷狀態(tài)位移出ISD的MISO引腳時,控制及地址數(shù)據(jù)也應(yīng)同步從MOSI端移入。因此要注意移入的數(shù)據(jù)是否與器件當(dāng)前進行的操作兼容。當(dāng)然,也允許在一個SPI周期里,同時執(zhí)行讀狀態(tài)和開始新的操作(即新移入的數(shù)據(jù)與器件當(dāng)前的操作可以不兼容)。8.所有操作在運行位(RUN)置1時開始,置0時結(jié)束。9.所有指令都在SS端上升沿開始執(zhí)行。ISD4004上電順序如下:器件延時TPUD(8kHz采樣時,約為25毫秒)后才能開始操作。因此,用戶發(fā)完上電指令后,必須等待TPUD,才能發(fā)出一條操作指令。例如,從00從處發(fā)音,應(yīng)遵循如下時序:1.發(fā)POWERUP命令;2.等待TPUD(上電延時);3.發(fā)地址值為00的SETPLAY命令;4.發(fā)PLAY命令。器件會從此00地址開始放音,當(dāng)出現(xiàn)EOM時,立即中斷,停止放音。如果從00處錄音,則按以下時序:1.發(fā)POWERUP命令;2.等待TPUD(上電延時);3.發(fā)POWERUP命令;4.等待2倍TPUD;5.發(fā)地址值為00的SETREC命令;6.發(fā)REC命令。器件便從00地址開始錄音,一直到出現(xiàn)OVF(存貯器末尾)時,錄音停止。ISD4004時序圖如圖2.9:圖圖2.9時序圖ISD4004回放/記錄和停止循環(huán)如下圖所示:圖圖2.10ISD4004指令表如圖2.11所示:圖圖2.11指令表2.2.3LM386芯片簡介LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場合。其特性如下:●靜態(tài)功耗低,約為4mA,可用于電池供電;●工作電壓范圍寬,4-12V或5-18V;●外圍元件少;●電壓增益可調(diào),20~200;●低失真度。LM386的內(nèi)部結(jié)構(gòu)如圖2.12:圖圖2.12LM386引腳圖LM386的引腳排列如圖2.13:圖圖2.13LM386引腳圖2.2.4音頻處理電路設(shè)計在本設(shè)計中,用語音芯片ISD4004-08MP和LM386構(gòu)成的音頻處理電路(如圖2.14)。ISD4004可以工作在3.3v電壓,工作電流25-30mA,通過MIC采集聲音信息,輸入同相模擬輸入端(ANAIN+),因為單端輸入時,信號由耦合電容輸入,此端最大幅度為峰峰值32mV,所以選擇此端。ISD4004設(shè)計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口SPI送入,所以由單片機STC89C58RD+模擬SPI協(xié)議SPI接口控制該芯片執(zhí)行相應(yīng)的動作。芯片采用CMOS技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪及高密度多電平閃爍存貯陳列。采集的信號經(jīng)過ISD4004內(nèi)部的一系列處理,從音頻輸出端(AUDOUT)輸出,經(jīng)過LM386音頻放大電路放大,直接通過喇叭放出來。其中音頻放大電路增益是20,輸入端通過可調(diào)電阻,調(diào)節(jié)可控制輸出音量的大小。電路中濾波電容的運用也是一大關(guān)鍵。圖圖2.14ISD4004音頻處理圖2.3液晶顯示模塊本模塊是由LCD12864液晶顯示器組成,由單片機控制使其顯示相應(yīng)的界面。2.3.1LCD12864介紹12864液晶圖形顯示器可以顯示字母、數(shù)字符號、中文字型及圖形,具有繪圖及文字畫面混合顯示功能。提供三種控制接口,分別是8位微處理器接口,4位微處理器接口及串行(OCMJ4X16A/B無串行接口)。所有的功能,包含顯示RAM,字型產(chǎn)生器,都包含在一個芯片里面,只要一個最小的微處理系統(tǒng),就可以方便操作模塊。內(nèi)置2M-位中文字型ROM(CGROM)總共提供8192個中文字型(16x16點陣),16K-位半寬字型ROM(HCGROM)總共提供126個符號字型(16x8點陣),64x16-位字RAM(CGRAM),另外繪圖顯示畫面提供一個64x256點的繪圖區(qū)域(GDRAM)。內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面。其引腳說明如表2.1:表2.1LCD12864的顯示地址管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對比度(亮度)調(diào)整4RS(CS)H/RS=“H”,表示DB7——DB0為顯示數(shù)據(jù)RS=“L”,表示DB7——DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀DB7——DB0R/W=“L”,E=“H→L”,DB7-DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式16NC-空腳17/RESETH/L復(fù)位端,低電平有效18VOUT-LCD驅(qū)動電壓輸出端19BLAVDD背光源正端(+5V)20BLKVSS背光源負(fù)端(1)LCD12864的顯示地址如表2.2:表2.2LCD12864的顯示地址80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH(2)LCD12864的圖像顯示先設(shè)垂直地址再設(shè)水平地址(連續(xù)寫入兩個字節(jié)的資料來完成垂直與水平的坐標(biāo)地址)

垂直地址范圍AC5...AC0

水平地址范圍AC3…AC0

繪圖RAM的地址計數(shù)器(AC)只會對水平地址(X軸)自動加一,當(dāng)水平地址=0FH時會重新設(shè)為00H但并不會對垂直地址做進位自動加一,故當(dāng)連續(xù)寫入多筆資料時,程序需自行判斷垂直地址是否需重新設(shè)定。(3)LCD12864的讀寫時序圖(8位模式)圖圖2.1512864讀時序圖圖2.1612864寫時序2.3.212864模塊與單片機接口電路圖圖2.1712864與單片機連接圖圖對12864的控制和讀寫數(shù)據(jù)與指令都是通過對單片機的控制來實現(xiàn),12864的數(shù)據(jù)端口與單片機的P0口通過上拉電阻相連接。利用單片機控制12864的RWRSE三個選通信號的控制來實現(xiàn)數(shù)據(jù)與指令的傳輸,以求達到預(yù)期的目的2.4時鐘模塊時鐘模塊主要是由時鐘芯片DS1302以及相應(yīng)的電路組成,本設(shè)計中,用于時間采集作用。2.4.1DS1302介紹DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31字節(jié)靜態(tài)RAM通過簡單的串行接口與單片機進行通信,實時時鐘/日歷電路提供秒分時日日期月年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM指示決定采用24或12小時格式DS1302與單片機間能簡單地采用同步串行的方式進行通信,僅需用到三個口線RES復(fù)位、I/O數(shù)據(jù)線、SCLK串行時鐘。DS1302工作時功耗很低,保持?jǐn)?shù)據(jù)和時鐘信息時功率小于1mW。DS1302是由DS1202改進而來,增加了以下的特性,雙電源管腳用于主電源和備份電源供應(yīng)Vcc1為可編程涓流充電電源。它廣泛應(yīng)用于電話傳真便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。(1)DS1302引腳說明圖2.圖2.18DS1302引腳GND-地RST-復(fù)位腳I/O-數(shù)據(jù)輸入/輸出引腳SCLK-串行時鐘Vcc1,Vcc2-電源供電管腳(2)DS1302操作時序圖圖圖2.19DS1302讀時序圖圖2.20DS1302寫時序(4)DS1302常用寄存器圖圖2.21DS1302寄存器地址對DS1302進行操作時,需要向DS1302里對時,從時間常用寄存器地址中寫對入所設(shè)定的時間,轉(zhuǎn)換成BCD碼,在寫入之前需要去除寫保護位,然后在寫入時間數(shù)據(jù),寫入完成后需要對DS1302加上寫保護位,以保證在不知情的情況下對時鐘芯片進行不必要的錯誤操作。2.4.2DS1302模塊電路圖圖2.22DS1302模塊電路STC89C5158RD+單片機P3.7接DS1302的RST端,上電后單片機的P3.7腳自動輸出高電平。P3.0作為串行時鐘接口。P3.6作為時鐘數(shù)據(jù)的I/O。DS1302采用雙電源供電,平時由+5V電源供電,斷電后有鋰電池提供+3V的電源。值得注意的是:X1和X2兩端連接的晶振的頻率為32.768KHZ。2.5溫度采集模塊溫度采集模塊只要是由溫度傳感器DS18B20等組成。2.5.1DS18B20介紹DS18B20是美國DALLAS公司推出的單總線數(shù)字測溫芯片。他具有獨特的單總線接口方式,僅需使用1個端口就能實現(xiàn)與單片機的雙向通訊。采用數(shù)字信號輸出提高了信號抗干擾能力和溫度測量精度。他的工作電壓使用范圍寬(3.0~5.5V),可以采用外部供電方式,也可以采用寄生電源方式,即當(dāng)總線DQ為高電平時,竊取信號能量給DS18B20供電。他還有負(fù)壓特性,電源極性接反時,DS18B20不會因接錯線而燒毀,但不能正常工作。可以通過編程實現(xiàn)9~12位的溫度轉(zhuǎn)換精度設(shè)置。而且設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間就越長,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。所有數(shù)據(jù)都是以最低有效位在前的方式進行讀寫。DS18B20引腳說明:DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)2.5.2DS18B20電路連接圖圖2.23DS18B20電路連接圖由DS18B20的接口電路可知,通過數(shù)據(jù)端口與單片機的P2.0口相連接,通過對單片機的端口時序設(shè)計和控制就可以實現(xiàn)溫度傳感器的控制,以達到自己設(shè)計的要求。2.5電源模塊本設(shè)計供電電源分別為+5V,3.3V,+5V用于單片機供電,+3.3V用于語音芯片ISD4004。為了讓單片機處于穩(wěn)定的工作狀態(tài),利用LM7805穩(wěn)壓到5V。運用AMS1117-3.3V穩(wěn)壓芯片將ISD4004的輸入電壓調(diào)節(jié)為3.3V。電路供電電路如下圖:圖圖2.24單片機供電模塊圖圖2.25ISD4004供電模塊2.6蜂鳴器模塊此電路用于檢測錄音芯片內(nèi)存是否溢出,溢出則發(fā)出報警聲。圖圖2.26報警電路3系統(tǒng)軟件設(shè)計與實現(xiàn)基于單片機的錄音筆設(shè)計需要在軟件的支持下才能實現(xiàn)的,系統(tǒng)的軟件設(shè)計部分包括主程序及各子程序。主程序完成系統(tǒng)初始化和顯示處理的功能。子程序包括錄音放音子程序,按鍵掃描字程序,溫度檢測子程序,時鐘芯片字程序,液晶顯示子程序等。3.1主程序流程圖及代碼系統(tǒng)接通電源后,主程序初始化后進入開機界面然后進入主循環(huán),首先是按鍵檢測,提示密碼輸入,正確則進入主菜單選擇界面,否則重復(fù)輸入,有三次校正密碼的機會,三次輸入密碼錯誤則蜂鳴器提示報警系統(tǒng)必須手動重啟,正確進入菜單后,進行所需的選擇然后,通過12864顯示出設(shè)計相關(guān)信息。主程序流程圖如圖3.1:LLCD初始化lcd顯示開機畫面登陸界面輸入密碼鍵盤掃描歡迎界面菜單選擇密碼正確報警若3次密碼錯誤,進入死循環(huán)接通電源等待重啟執(zhí)行相應(yīng)的動作按鍵選擇圖3.1系統(tǒng)軟件設(shè)計的總體流程圖 3.2子程序的設(shè)計本次子程序的設(shè)計包括錄音放音設(shè)計,實時時鐘,溫度檢測,12864的液晶顯示設(shè)計,溫度時間的播報,按鍵掃描等常用程序設(shè)計。3.2.1錄放聲音程序設(shè)計ISD4004通過單片機控制,當(dāng)檢測到按下錄音鍵,單片機通過SPI接口發(fā)送相應(yīng)指令將輸入的信號進行采樣,經(jīng)過芯片內(nèi)部的一系列處理,保存在芯片的儲存器中。當(dāng)檢測到按下放音鍵時,發(fā)送放音指令使其處于放音狀態(tài)。錄放程序流程圖如下:選擇界面選擇界面錄音放音按鍵檢測地址加1按下+停止界面EOM或OVF=0或按下停止鍵地址清0地址減1按下-清零鍵或按下停止鍵OVF=0放音鍵錄音鍵圖3.2錄放程序流程圖或定時鍵 相關(guān)部分程序如下:voidISD_SPI_Send8(ucharaddr_8);//spi串行發(fā)送,8位數(shù)據(jù)voidISD_SPI_Send16(uintaddr_16);//spi串行發(fā)送,16位數(shù)據(jù)uintISD_SPI_Rowadd(void);//讀取16位行地址voidISD_Stop(void); //發(fā)送stop指令voidISD_PowerUp(void);//上電0X20voidISD_PowerDown(void);//掉電0X10voidISD_Play(void);//發(fā)送當(dāng)前地址放音指令voidISD_SetPlay(uintadd);//發(fā)送指定地址放音指令voidISD_Rec(void);//發(fā)送當(dāng)前地址錄音指令voidISD_SetRec(uintadd);//發(fā)送指定地址錄音指令voidPLAY_now(ucharadd_set);//按指定地址段開始播放voidREC_now(ucharadd_set);//按指定地址段開始錄音voidisd_voice_year(uchari1,uchari2,uchari3,uchari4,uchari5,uchari6); //播報年月日voidisd_voice_hour(uchari1,uchari2,uchari3,uchari4,uchari5,uchari6); //播報時分秒voidisd_voice_baoshi(void);//播報"報時"voidisd_rec_play(void);//錄音放音一體化voidaddr_display(uintaddr,ucharflag);//錄放音地址顯示3.2.2LCD12864程序設(shè)計本設(shè)計采用的是LCD12864液晶顯示,由于其本身帶有驅(qū)動模塊液晶屏,所以對于該顯示操作程序可以分為開顯示,設(shè)置顯示初始行,寫數(shù)據(jù)和清屏等部分。12864的寫命令程序,寫數(shù)據(jù)程序,顯示程序都以子程序的形式在12864庫函數(shù)里,方便程序函數(shù)之間調(diào)用。LCDLCD初始化發(fā)送12864顯示設(shè)置命令發(fā)送12864顯示地址指令向12864中寫入要顯示的數(shù)據(jù)圖3.312864程序流程圖部分程序如下:voidmain_menu(void);//主菜單voidmain_menu1(void);voidmain_menu2(void);voidstart(void);//開始界面voidstart1(void);voidinitialize(void);//初始化voidwrite_com(ucharcom);//寫指令voidwrite_dat(uchardat);//寫數(shù)據(jù)voidCGRAM(void);//CGRAM自定義顯示字符voidinit_photo(void);//圖片初始化voidphoto(uchar*address);//圖片顯示voidphoto2(void);voiddisplay1(void);//登陸界面voiddisplay2(void);//歡迎界面voiddisplay3(void);voiddisplay_design(void);3.2.3DS1302程序設(shè)計在DS1302的時鐘日歷或者RAM進行數(shù)據(jù)傳送時,DS1302必須首先發(fā)送命令字節(jié)。若進行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下個2SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或者在下8個SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。DS1302程序流程圖如下:圖圖3.4DS1302程序流程圖復(fù)位端產(chǎn)生高電平寫DS1302地址延時讀出該地址數(shù)據(jù)地址增加數(shù)據(jù)是否讀完驅(qū)動液晶顯示開始復(fù)位端產(chǎn)生高電平寫DS1302寄存器延時向該地址寫數(shù)據(jù)地址增加數(shù)據(jù)是否寫完變量初始化去除寫保護位否是否是部分程序如下:voidwrite_ds1302_byte(uchardat);//寫操作寫入一個字節(jié)voidwrite_ds1302(ucharaddress,uchardat);//DS1302寫入數(shù)據(jù)ucharread_ds1302_byte(ucharaddress);//單字節(jié)讀數(shù)據(jù)操作voidset_rtc(void);//校對時間voidread_ds1302(void);//讀ds1302所有數(shù)據(jù)voidtime_deal(void);//處理數(shù)據(jù),bcd轉(zhuǎn)換成十進制voidds1302_display(void);//顯示界面voidds1302_display_data(void);//顯示年星期月日時秒分?jǐn)?shù)據(jù)voidds1302_main(void);//時間主函數(shù)3.2.4DS18B20程序設(shè)計DS18B20作為單線接口且每一個DS18B20都有唯一的系列號,因此多個DS18B20可以存在于同一條單線上工作,但本系統(tǒng)就用了一個DS18B20所以對DS18B20的搜索可以用SkipROM命令跳過搜索,然后在對其進行操作。具體的DS18B20的操作流程如下3.5所示。開始開始初始化寫命令跳過讀序列號(0XCC)啟動溫度轉(zhuǎn)換初始化跳過讀序列號讀取實溫度寄存

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論