版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于單片機(jī)的錄音筆的</p><p><b> 設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b> 摘要</b></p><p> 隨著電子技術(shù)的飛速發(fā)展,數(shù)碼錄音筆已得到越來(lái)越多的人的青睞,論文通過(guò)對(duì)多種錄音筆的設(shè)計(jì)方案進(jìn)行比較和分析,選定低成本的STC單片機(jī)設(shè)計(jì)一個(gè)數(shù)字錄音筆。</p>
2、<p> 本論文研究基于單片機(jī)錄音筆的設(shè)計(jì),在對(duì)音頻采集理論研究的基礎(chǔ)上,本設(shè)計(jì)以低功耗STC89C51單片機(jī)為控制核心,通過(guò)單片機(jī)、語(yǔ)音芯片ISD4004、液晶顯示LCD12864、鍵盤(pán)模塊、溫度傳感器模塊及實(shí)時(shí)時(shí)鐘模塊結(jié)合實(shí)現(xiàn)了硬件電路的設(shè)計(jì),ISD4004語(yǔ)音芯片使得大大簡(jiǎn)化了外圍電路的設(shè)計(jì),也很好保證了錄音效果,LCD12864使得人機(jī)交互更簡(jiǎn)潔方便,同時(shí),本設(shè)計(jì)還增加了時(shí)間、溫度的顯示及語(yǔ)音播報(bào)功能。文中也給出
3、了軟件部分的程序,并且通過(guò)現(xiàn)場(chǎng)調(diào)試,達(dá)到預(yù)期的效果。</p><p> 數(shù)碼錄音筆在錄音領(lǐng)域等實(shí)際應(yīng)用中具有諸多優(yōu)勢(shì),值得進(jìn)一步學(xué)習(xí)和研究。</p><p> 關(guān)鍵詞:低功耗 STC89C51 ISD4004 錄音 語(yǔ)音播報(bào)</p><p><b> Abstract</b></p><p> With
4、 the rapid development of electronic technology, digital voice recorder has been more and more people of all ages, the paper compared and analyzed by a variety of recording pen design, selected low-cost STC microcontroll
5、er design a digital voice recorder.</p><p> The thesis is based on the design of the single-chip voice recorder, on the basis of theoretical research on audio capture, the design of low power SCM STC89C51 f
6、or control core LCD12864, keyboard module, the temperature sensor module, single-chip, voice chip ISD4004, liquid crystal display and the real-time clock module to achieve a combination of hardware circuit design, ISD400
7、4 voice chip so that greatly simplifies the design of peripheral circuits is also very good to ensure that recordings,</p><p> Digital voice recorder has many advantages in practical applications such as re
8、cording field, it is worth further study and research.</p><p> Key words: low-power STC89C51 ISD4004 recording voice broadcast</p><p><b> 目錄</b></p><p><b> 摘要I
9、I</b></p><p> Abstract錯(cuò)誤!未定義書(shū)簽。</p><p><b> 目錄IV</b></p><p><b> 前言1</b></p><p> 1 設(shè)計(jì)要求及方案2</p><p> 1.1 設(shè)計(jì)任務(wù)及要求2</
10、p><p> 1.2 設(shè)計(jì)方案選擇與論證2</p><p> 2 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)4</p><p> 2.1 核心控制模塊4</p><p> 2.1.1 STC89C58RD+單片機(jī)介紹4</p><p> 2.1.2 單片機(jī)復(fù)位、晶振電路設(shè)計(jì)7</p><p> 2.
11、2 音頻處理模塊7</p><p> 2.2.1 ISD4004芯片簡(jiǎn)介8</p><p> 2.2.2 SPI10</p><p> 2.2.3 LM386芯片簡(jiǎn)介14</p><p> 2.2.4 音頻處理電路設(shè)計(jì)15</p><p> 2.3 液晶顯示模塊16</p><
12、p> 2.3.1 LCD12864介紹16</p><p> 2.3.2 12864模塊與單片機(jī)接口電路18</p><p> 2.4 時(shí)鐘模塊19</p><p> 2.4.1 DS1302介紹19</p><p> 2.4.2 DS1302模塊電路21</p><p> 2.5 溫度采集
13、模塊21</p><p> 2.5.1 DS18B20介紹21</p><p> 2.5.2 DS18B20電路連接22</p><p> 2.5 電源模塊22</p><p> 2.6 蜂鳴器模塊23</p><p> 3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)24</p><p> 3.
14、1主程序流程圖及代碼24</p><p> 3.2 子程序的設(shè)計(jì)25</p><p> 3.2.1 錄放聲音程序設(shè)計(jì)25</p><p> 3.2.2 LCD12864程序設(shè)計(jì)26</p><p> 3.2.3 DS1302程序設(shè)計(jì)27</p><p> 3.2.4 DS18B20程序設(shè)計(jì)28&l
15、t;/p><p> 4軟硬件調(diào)試及結(jié)果30</p><p><b> 總結(jié)32</b></p><p><b> 致謝33</b></p><p><b> 參考文獻(xiàn)33</b></p><p> 附件一 系統(tǒng)總原理圖34</p&g
16、t;<p> 附件二 系統(tǒng)PCB35</p><p><b> 前言</b></p><p> 錄音筆對(duì)于我們現(xiàn)如今的人們已經(jīng)是再熟悉不過(guò)的產(chǎn)品了,它已經(jīng)應(yīng)用在了很多領(lǐng)域。正是由于錄音筆能夠錄音的特點(diǎn),在你無(wú)法憑借記憶記住重要談話,或者重要會(huì)議的重要內(nèi)容的時(shí)候,它便體現(xiàn)除了它的優(yōu)勢(shì),清晰完整無(wú)誤的記錄下你要記錄的東西,而你能夠拿出更多的時(shí)間來(lái)處理
17、其他事情,當(dāng)你有充足的時(shí)間時(shí)再來(lái)處理這些未處理的內(nèi)容。除此之外錄音筆小巧易于攜帶,存儲(chǔ)內(nèi)容量大,基于這些優(yōu)點(diǎn),越來(lái)越多的得到人們的青睞!通過(guò)對(duì)先進(jìn)技術(shù)的兼收并蓄,并高標(biāo)準(zhǔn)、能夠高起點(diǎn)自主開(kāi)發(fā)一系列的高技術(shù)產(chǎn)品,因此研究本課題具有非常重要的實(shí)用意義。</p><p> 隨著視聽(tīng)家電產(chǎn)品的不斷豐富,已經(jīng)有越來(lái)越多微小型產(chǎn)品走入人們的日常生活,他們最突出的優(yōu)點(diǎn)是體積小,而且重量輕,給人們帶來(lái)了方便。作為一種簡(jiǎn)單的獲取
18、和記錄數(shù)字化文件的工具,錄音筆風(fēng)靡市場(chǎng),成為學(xué)生記者、商務(wù)人士購(gòu)置錄音設(shè)備的首選,也成為時(shí)間緊張?jiān)诼毴藛T的掌上新寵。這正是本次論文選題的主要依據(jù)和動(dòng)機(jī)。</p><p> 現(xiàn)在所說(shuō)的錄音筆指的數(shù)碼錄音筆,數(shù)字錄音器的一種,為了便于操作和提升錄音質(zhì)量造型并非以單純的筆型為主,攜帶方便,同時(shí)擁有多種功能,如激光筆功能、FM 調(diào)頻、MP3 播放等。與傳統(tǒng)錄音機(jī)相比,數(shù)碼錄音筆是通過(guò)數(shù)字存儲(chǔ)的方式來(lái)記錄音頻的。<
19、/p><p> 本論文研究基于單片機(jī)錄音筆的設(shè)計(jì),在對(duì)音頻采集理論研究的基礎(chǔ)上,本設(shè)計(jì)采用低功耗STC89C51單片機(jī)為控制核心,通過(guò)單片機(jī)、語(yǔ)音芯片ISD4004、液晶顯示LCD12864、鍵盤(pán)模塊、溫度傳感器模塊及實(shí)時(shí)時(shí)鐘模塊等結(jié)合實(shí)現(xiàn)了硬件電路的設(shè)計(jì),ISD4004 語(yǔ)音芯片使得大大簡(jiǎn)化了外圍電路的設(shè)計(jì),也很好保證了錄音效果,LCD12864使得人機(jī)交互更簡(jiǎn)潔方便,同時(shí),本設(shè)計(jì)還增加了時(shí)間、溫度的顯示及語(yǔ)音播
20、報(bào)功能。論文末尾給出了軟件部分的程序,并且通過(guò)了現(xiàn)場(chǎng)調(diào)試,達(dá)到預(yù)期的效果。</p><p> 這次的設(shè)計(jì)也有很多的不足,我相信數(shù)碼錄音筆在以后的不斷發(fā)展和完善后將不斷的給人們的工作和生活帶來(lái)更多的方便。</p><p><b> 1 設(shè)計(jì)要求及方案</b></p><p> 隨著現(xiàn)代科技的發(fā)展,錄音筆已經(jīng)廣泛應(yīng)用到學(xué)習(xí)、生活、工作中,進(jìn)而
21、對(duì)其功能和性能提出了更高的要求,為此設(shè)計(jì)一款數(shù)碼錄音筆。</p><p> 1.1 設(shè)計(jì)任務(wù)及要求</p><p> 此次的設(shè)計(jì)任務(wù)是設(shè)計(jì)一款基于單片機(jī)的錄音筆的設(shè)計(jì)。</p><p><b> 設(shè)計(jì)要求如下:</b></p><p> ●具有單片機(jī)核心控制模塊;</p><p> ●具
22、有音頻處理模塊(ISD4004及功放LM386模塊);</p><p> ●具有LCD顯示模塊(LCD12864模塊);</p><p> ●具有鍵盤(pán)控制模塊。</p><p> ●具有(定時(shí))錄音、放音功能。</p><p> ●具有語(yǔ)音、溫度顯示及語(yǔ)音播報(bào)功能。</p><p> 1.2 設(shè)計(jì)方案選擇與論
23、證</p><p><b> 方案一:</b></p><p> 基于單片機(jī)、數(shù)字信號(hào)處理器 DSP、FLASH 存儲(chǔ)器的數(shù)碼錄音放音系統(tǒng)。在錄音時(shí),語(yǔ)音信號(hào)經(jīng)過(guò)處理后送到 A/D 轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)字信號(hào),把這些數(shù)字信號(hào)送到數(shù)字信號(hào)處理器DSP進(jìn)行壓縮處理,壓縮后的語(yǔ)音數(shù)據(jù)與時(shí)間日期一起送到FLASH 中,回放時(shí)從 FLASH 存儲(chǔ)器中讀取壓縮的數(shù)據(jù)以及時(shí)間,經(jīng)過(guò)
24、 D/A 轉(zhuǎn)換后,再通過(guò)喇叭等具有播放功能的器件進(jìn)行播放。具體框圖如下所示:</p><p> 由于此方案要通過(guò)A/D芯片,專門(mén)的DSP芯片,本設(shè)計(jì)不需要高速、高精度運(yùn)算,而且DSP功耗相對(duì)高,成本比較高,因此不選擇此方案。</p><p><b> 方案二:</b></p><p> 采用處理器集成型可重構(gòu)系統(tǒng)PICEX實(shí)現(xiàn)數(shù)碼錄音筆的
25、核心部分設(shè)計(jì),對(duì)于每一個(gè)模塊功能實(shí)現(xiàn)模塊都構(gòu)成一個(gè)可實(shí)現(xiàn)重構(gòu)功能模塊。在系統(tǒng)完成各種任務(wù)時(shí),可重構(gòu)模塊的運(yùn)行是完全獨(dú)立于內(nèi)核的,在編程中使個(gè)個(gè)模塊并行運(yùn)行。錄音狀態(tài)時(shí)各部件采用流水線的方法,即每個(gè)部件的輸入數(shù)據(jù)都取自上一個(gè)部件輸出的一個(gè)值,各部件幾乎同時(shí)進(jìn)行工作,處于并行運(yùn)行狀態(tài)。雖然此方案提高了系統(tǒng)的并行性,節(jié)省了資源這種設(shè)計(jì)所需重構(gòu)部件多,設(shè)計(jì)工作量大操作時(shí)間長(zhǎng),所以本設(shè)計(jì)也不采取這種方案。</p><p>
26、<b> 方案三:</b></p><p> 通過(guò)51單片機(jī)與語(yǔ)音功能集成芯片ISD4004,以及 LCD12864 液晶芯片進(jìn)行設(shè)計(jì),由單片機(jī)控制ISD4004來(lái)實(shí)現(xiàn)語(yǔ)音的錄制存儲(chǔ)以及播放清除等功能。并且通過(guò)LCD12864來(lái)實(shí)現(xiàn)良好的人機(jī)交互界面。具體框圖如下所示:</p><p> 由于采用資源不多的 51 單片機(jī),這樣節(jié)省了資源同時(shí)單片機(jī)運(yùn)算速度已經(jīng)足夠
27、用于檢測(cè)按鍵,以及控制錄音筆進(jìn)行各種操作,而且這種設(shè)計(jì)無(wú)需對(duì)數(shù)字信號(hào)進(jìn)行編碼壓縮的復(fù)雜的操作,實(shí)現(xiàn)簡(jiǎn)單,功耗不高,相對(duì)而言成本也不高,所以本設(shè)計(jì)采用了此方案。</p><p> 2 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)</p><p> 2.1 核心控制模塊</p><p> 控制模塊是整個(gè)錄音筆的核心,實(shí)現(xiàn)對(duì)語(yǔ)音芯片ISD4004、溫度ds18b20、實(shí)時(shí)時(shí)鐘ds1302、
28、液晶顯示模塊發(fā)送或接受指令,使其完成相應(yīng)的動(dòng)作。本設(shè)計(jì)采用了型號(hào)為STC89C58RD+單片機(jī),它是一種簡(jiǎn)明易掌握,效率較高的指令系統(tǒng),對(duì)存儲(chǔ)空間和時(shí)間的利用率較高。</p><p> 2.1.1 STC89C58RD+單片機(jī)介紹</p><p> STC89C58RD+是宏晶科技生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含32KB的可以反復(fù)檫寫(xiě)的程序存儲(chǔ)器和1280B的隨機(jī)存取數(shù)
29、據(jù)存儲(chǔ)器(RAM),器件采用高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)配置有通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,可靈活的應(yīng)用于各種控制領(lǐng)域。STC89C58RD+單片機(jī)與Intel公司的80C52在引腳排列、硬件組成、工作特點(diǎn)和指令系統(tǒng)等方面兼容。其主要工作特性是:</p><p> ●片內(nèi)程序存儲(chǔ)器內(nèi)含32KB的Flash程序存儲(chǔ)器,可以擦寫(xiě)壽命為100,000次以上;&l
30、t;/p><p> ●片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含有1280字節(jié)的RAM;</p><p> ●有32根可編程I/O口線;</p><p> ●有2個(gè)可編程定時(shí)器;</p><p> ●中斷系統(tǒng)是有5個(gè)中斷源、5個(gè)中斷矢量、2個(gè)級(jí)優(yōu)先權(quán)的中斷結(jié)構(gòu);</p><p> ●串行口是有一個(gè)全雙工的可編程串行通信口;</p&
31、gt;<p> ●有一個(gè)數(shù)據(jù)指針DPTR;</p><p> ●低功耗工作模式有掉電模式和空閑模式;</p><p> ●有可編程的3級(jí)程序鎖定位;</p><p> ●工作電源電壓為5.5~3.4V,且典型值為5V;</p><p> ●最高工作頻率為40MHz;</p><p> ●工作溫
32、度范圍:-40 ~+85℃。</p><p> STC89C58RD+單片機(jī)的引腳排列如圖2.1:</p><p><b> 引腳功能:</b></p><p><b> Vcc:電源電壓</b></p><p><b> GND:地</b></p>&l
33、t;p> P0口:為雙向8為三態(tài)I/O接口。作為輸出口用的時(shí)候,每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL 邏輯門(mén)電路,當(dāng)對(duì)端口P0 寫(xiě)“1”時(shí),可以作為高阻抗輸入端用。</p><p> 在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或者程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間將激活內(nèi)部上拉電阻。</p><p> 在FLASH編程時(shí),P0口接收指令字節(jié),然而在程序校驗(yàn)時(shí),輸出指
34、令字節(jié),當(dāng)校驗(yàn)時(shí),要求外接上拉電阻。</p><p> P1口:PI 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,Pl口輸出緩沖級(jí)能夠驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。當(dāng)作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻的某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流,與AT89C51不同之處是,Pl.0 和P1.1還能夠分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)
35、數(shù)輸入(Pl.0/T2 )和輸入(P1.1/T2EX) 。</p><p> P2口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2口輸出緩沖級(jí)能夠驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯電路。對(duì)端口P2寫(xiě)“l(fā)",通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口,當(dāng)作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻的某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(llt )。</p><p>
36、; 在訪問(wèn)外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOvx@DPTR 指令)時(shí),P2會(huì)送出高8 位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@RI指令)時(shí),P2口會(huì)輸出P2鎖存器的內(nèi)容。</p><p> P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)能夠驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口P3寫(xiě)入“1”時(shí),它們將會(huì)被內(nèi)部上拉電阻拉高并可以作為
37、輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL) 。 </p><p> P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下所示:</p><p> 端口引腳 第二功能 </p><p> P3.0 RXD(串行輸入口〕 </p><p> P3.1 TXD(串行輸出口〕 </p><
38、;p> P3.2 INTO(外中斷0〕 </p><p> P3.3 INTO(外中斷l(xiāng)) </p><p> P3.4 TO (定時(shí)/計(jì)數(shù)器0 ) </p><p> P3.5 Tl (定時(shí)/計(jì)數(shù)器l ) </p><p> P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) </p><p> P3.7 RD
39、(外部數(shù)據(jù)存儲(chǔ)器讀選通) </p><p> 此外,P3口還會(huì)接收一些用于FLASH閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。</p><p> 2.1.2 單片機(jī)復(fù)位、晶振電路設(shè)計(jì)</p><p> AT89C52單片機(jī)復(fù)位、晶振電路如圖2.2、圖2.3:</p><p> 晶振是石英振蕩器的簡(jiǎn)稱,英文名為Crystal,晶振分為有源晶振
40、和無(wú)源晶振兩種,它的作用是在電路產(chǎn)生震蕩電流并且發(fā)出時(shí)鐘信號(hào)。它是時(shí)鐘電路中最重要的部件,它的作用是向IC等部件提供基準(zhǔn)頻率,它就像個(gè)標(biāo)尺,工作頻率不穩(wěn)定時(shí)會(huì)造成相關(guān)設(shè)備工作頻率的不穩(wěn)定,自然容易出現(xiàn)問(wèn)題。由于制造工藝的不斷提高,現(xiàn)在晶振的頻率偏差、溫度穩(wěn)定性、老化率和密封性等重要技術(shù)指標(biāo)都很好,已經(jīng)不太容易出現(xiàn)故障,但在選用時(shí)仍然需要留意一下晶振的質(zhì)量。</p><p> 復(fù)位電路是為了確保微機(jī)系統(tǒng)中電路穩(wěn)定
41、必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。微機(jī)電路正常工作時(shí)一般需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過(guò)4.75V并低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才能夠被撤除,微機(jī)電路開(kāi)始正常的工作。</p><p> 2.2 音頻處理模塊</p><p> 音頻處理模塊主要由
42、語(yǔ)音芯片ISD4004,功放LM386等元件構(gòu)成,其作用是對(duì)聲音的處理,通過(guò)單片機(jī)控制聲音的錄放。</p><p> 2.2.1 ISD4004芯片簡(jiǎn)介</p><p> ISD4004系列工作電壓3V,單片錄放時(shí)間8 至16分鐘,音質(zhì)好,適用于移動(dòng)電話及其他便攜式電子產(chǎn)品中。芯片采用CMOS 技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動(dòng)靜噪及高密度多電平閃爍存貯陣列。
43、芯片設(shè)計(jì)是基于所有操作必須由微控制器控制,操作命令可通過(guò)串行通信接口(SPI 或Microwire)送入。芯片采用多電平直接模擬量存儲(chǔ)技術(shù), 每個(gè)采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實(shí)、自然地再現(xiàn)語(yǔ)音、音樂(lè)、音調(diào)和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和"金屬聲"。采樣頻率可為 4.0,5.3,6.4,8.0kHz,頻率越低,錄放時(shí)間越長(zhǎng),而音質(zhì)則有所下降,片內(nèi)信息存于閃爍存貯器中,特征
44、如下:</p><p> ●單片8 至16 分鐘語(yǔ)音錄放 </p><p> ●內(nèi)置微控制器串行通信接口 </p><p><b> ●3V單電源工作 </b></p><p><b> ●多段信息處理 </b></p><p> ●工作電流25-30mA,維持電流
45、1μA </p><p> ●不耗電信息保存100 年(典型值) </p><p> ●高質(zhì)量、自然的語(yǔ)音還原技術(shù) </p><p> ●10 萬(wàn)次錄音周期(典型值) </p><p><b> ●自動(dòng)靜噪功能 </b></p><p> ●片內(nèi)免調(diào)整時(shí)鐘,可選用外部時(shí)鐘 </p&
46、gt;<p> ISD4004內(nèi)部結(jié)構(gòu)框圖如圖2.4:</p><p> ISD4004引腳如圖2.5:</p><p> 電源 (VCCA,VCCD): 為使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝的不同管腳上,模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近器件。 </p><p>
47、地線 (VSSA,VSSD): 芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線。 </p><p> 同相模擬輸入(ANA IN+): 這是錄音信號(hào)的同相輸入端。輸入放大器可用單端或差分驅(qū)動(dòng)。單端輸入時(shí),信號(hào)由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3KΩ電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動(dòng)時(shí),信號(hào)最大幅度為峰峰值16mV,為ISD33000 系列相同。 </p><
48、p> 反相模擬輸入(ANA IN-): 差分驅(qū)動(dòng)時(shí),這是錄音信號(hào)的反相輸入端。信號(hào)通過(guò)耦合電容輸入,最大幅度為峰峰值16mV </p><p> 音頻輸出(AUD OUT): 提供音頻輸出,可驅(qū)動(dòng)5KΩ的負(fù)載。 </p><p> 片選(SS): 此端為低,即向該ISD4004 芯片發(fā)送指令,兩條指令之間為高電平。 </p><p> 串行輸入(MOS
49、I): 此端為串行輸入端,主控制器應(yīng)在串行時(shí)鐘上升沿之前半個(gè)周期將數(shù)據(jù)放到本端,供ISD 輸入。 </p><p> 串行輸出(MISO): ISD 的串行輸出端。ISD 未選中時(shí),本端呈高阻態(tài)。 </p><p> 串行時(shí)鐘(SCLK): ISD 的時(shí)鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI 和MISO 的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD。 </
50、p><p> 中斷(/INT): 本端為漏極開(kāi)路輸出。ISD 在任何操作(包括快進(jìn))中檢測(cè)到EOM 或OVF 時(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> 行地址時(shí)鐘(RAC): 漏極開(kāi)
51、路輸出。每個(gè)RAC 周期表示ISD 存儲(chǔ)器的操作進(jìn)行了一行(ISD4004 系列中的存貯器共2400 行)。該信號(hào)175ms保持高電平,低電平為25ms??爝M(jìn)模式下,RAC的218.75μs是高電平,31.25μs 為低電平。該端可用于存儲(chǔ)管理技術(shù)。 </p><p> 外部時(shí)鐘(XCLK): 本端內(nèi)部有下拉元件。芯片內(nèi)部的采樣時(shí)鐘在出廠前已調(diào)校,誤差在 +1%內(nèi)。商業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi), 頻率變化在
52、+2.25%內(nèi)。工業(yè)級(jí)芯片在整個(gè)溫度和電壓范圍內(nèi),頻率變化在-6/+4%內(nèi),此時(shí)建議使用穩(wěn)壓電源。若要求更高精度,可從本端輸入外部時(shí)鐘(如圖2.6)。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時(shí)鐘頻率不應(yīng)改變。輸入時(shí)鐘的占空比無(wú)關(guān)緊要,因內(nèi)部首先進(jìn)行了分頻。在不外接地時(shí)鐘時(shí),此端必須接地。</p><p> 自動(dòng)靜噪(AMCAP): 當(dāng)錄音信號(hào)電平下降到內(nèi)部設(shè)定的某一閾值以下時(shí),自動(dòng)靜噪功能使信號(hào)衰弱,這
53、樣有助于養(yǎng)活無(wú)信號(hào)(靜音)時(shí)的噪聲。通常本端對(duì)地接1mF 的電容,構(gòu)成內(nèi)部信號(hào)電平峰值檢測(cè)電路的一部分。檢出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動(dòng)靜噪功能的翻轉(zhuǎn)點(diǎn)。大信號(hào)時(shí),自動(dòng)靜噪電路不衰減,靜音時(shí)衰減6dB。1mF 的電容也影響自動(dòng)靜噪電路對(duì)信號(hào)幅度的響應(yīng)速度。本端接VCCA 則禁止自動(dòng)靜噪。</p><p><b> 2.2.2 SPI</b></p><p&
54、gt; SPI(Serial Peripheral Interface--串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以交換信息。SPI有三個(gè)寄存器分別為:控制寄存器SPCR,狀態(tài)寄存器SPSR,數(shù)據(jù)寄存器SPDR。外圍設(shè)備FLASHRAM、網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線
55、(SCLK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線SS(有的SPI接口芯片帶有中斷信號(hào)線INT、有的SPI接口芯片沒(méi)有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。 </p><p> SPI接口是在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,傳輸數(shù)據(jù)為8位,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來(lái)說(shuō)比I2C
56、總線要快,速度可達(dá)到幾Mbps。如圖2.6所示,在SCLK的下降沿上數(shù)據(jù)改變,同時(shí)一位數(shù)據(jù)被存入移位寄存器。</p><p> SPI接口內(nèi)部硬件圖如圖2.7:</p><p> ISD4004工作于SPI串行接口。SPI協(xié)議是一個(gè)同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI移位寄存器在SCLK的下降沿動(dòng)作,因此對(duì)ISD4004而言,在時(shí)鐘止升沿鎖存 MOSI 引腳的數(shù)據(jù),在下降沿將
57、數(shù)據(jù)送至 MISO引腳。協(xié)議的具體內(nèi)容為:</p><p> 1. 所有串行數(shù)據(jù)傳輸開(kāi)始于SS下降沿。</p><p> 2. SS在傳輸期間必須保持為低電平,在兩條指令之間則保持為高電平。</p><p> 3. 數(shù)據(jù)在時(shí)鐘上升沿移入 , 在下降沿移出。</p><p> 4. SS 變低,輸入指令和地址后,ISD才能開(kāi)始錄放操作。
58、</p><p> 5. 指令格式是(8位控制碼)加 (16 位地址碼 ) 。</p><p> 6. ISD的任何操作(含快進(jìn))如果遇到EOM或OVF,則產(chǎn)生一個(gè)中斷,該中斷狀態(tài)在下一個(gè)SPI周期開(kāi)始時(shí)被清除。</p><p> 7. 使用"讀"指令使中斷狀態(tài)位移出ISD的MISO引腳時(shí),控制及地址數(shù)據(jù)也應(yīng)同步從MOSI端移入。因此要注意
59、移入的數(shù)據(jù)是否與器件當(dāng)前進(jìn)行的操作兼容。當(dāng)然 , 也允許在一個(gè)SPI周期里,同時(shí)執(zhí)行讀狀態(tài)和開(kāi)始新的操作(即新移入的數(shù)據(jù)與器件當(dāng)前的操作可以不兼容)。</p><p> 8. 所有操作在運(yùn)行位(RUN)置1時(shí)開(kāi)始 ,置0時(shí)結(jié)束。</p><p> 9. 所有指令都在SS端上升沿開(kāi)始執(zhí)行。</p><p> ISD4004上電順序如下:</p>&
60、lt;p> 器件延時(shí)TPUD(8kHz采樣時(shí),約為25毫秒)后才能開(kāi)始操作。因此, 用戶發(fā)完上電指令后,必須等待TPUD,才能發(fā)出一條操作指令。</p><p> 例如,從00從處發(fā)音,應(yīng)遵循如下時(shí)序: </p><p> 1. 發(fā) POWERUP 命令; </p><p> 2. 等待 TPUD( 上電延時(shí) ); </p><p&
61、gt; 3. 發(fā)地址值為00的SETPLAY命令; </p><p> 4. 發(fā)PLAY命令。</p><p> 器件會(huì)從此00地址開(kāi)始放音,當(dāng)出現(xiàn)EOM時(shí),立即中斷,停止放音。</p><p> 如果從00處錄音,則按以下時(shí)序: </p><p> 1. 發(fā)POWER UP命令; </p><p> 2
62、. 等待TPUD(上電延時(shí)); </p><p> 3. 發(fā)POWER UP命令;</p><p> 4. 等待2倍TPUD; </p><p> 5. 發(fā)地址值為00的SETREC命令; </p><p> 6. 發(fā)REC命令。</p><p> 器件便從00地址開(kāi)始錄音,一直到出現(xiàn)OVF(存貯器
63、末尾)時(shí) , 錄音停止。</p><p> ISD4004時(shí)序圖如圖2.9:</p><p> ISD4004回放/記錄和停止循環(huán)如下圖所示:</p><p> ISD4004指令表如圖2.11所示:</p><p> 2.2.3 LM386芯片簡(jiǎn)介</p><p> LM386是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的音頻
64、功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至 200。輸入端以地位參考,同時(shí)輸出端被自動(dòng)偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場(chǎng)合。其特性如下:</p><p> ●靜態(tài)功耗低,約為4mA,可用于電池供電; </p><p&g
65、t; ●工作電壓范圍寬,4-12V或 5-18V; </p><p><b> ●外圍元件少; </b></p><p> ●電壓增益可調(diào),20~200; </p><p><b> ●低失真度。</b></p><p> LM386的內(nèi)部結(jié)構(gòu)如圖2.12:</p><
66、p> LM386的引腳排列如圖2.13:</p><p> 2.2.4 音頻處理電路設(shè)計(jì)</p><p> 在本設(shè)計(jì)中,用語(yǔ)音芯片ISD4004-08MP和LM386構(gòu)成的音頻處理電路(如圖2.14)。ISD4004可以工作在3.3v電壓,工作電流25-30mA,通過(guò)MIC采集聲音信息,輸入同相模擬輸入端(ANA IN+),因?yàn)閱味溯斎霑r(shí),信號(hào)由耦合電容輸入,此端最大幅度為峰峰
67、值32mV,所以選擇此端。ISD4004設(shè)計(jì)是基于所有操作必須由微控制器控制,操作命令可通過(guò)串行通信接口SPI送入,所以由單片機(jī)STC89C58RD+模擬SPI協(xié)議SPI接口控制該芯片執(zhí)行相應(yīng)的動(dòng)作。芯片采用CMOS 技術(shù),內(nèi)含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動(dòng)靜噪及高密度多電平閃爍存貯陳列。采集的信號(hào)經(jīng)過(guò)ISD4004內(nèi)部的一系列處理,從音頻輸出端(AUD OUT)輸出,經(jīng)過(guò)LM386音頻放大電路放大,直接通過(guò)喇叭放出
68、來(lái)。其中音頻放大電路增益是20,輸入端通過(guò)可調(diào)電阻,調(diào)節(jié)可控制輸出音量的大小。電路中濾波電容的運(yùn)用也是一大關(guān)鍵。</p><p> 2.3 液晶顯示模塊</p><p> 本模塊是由LCD12864液晶顯示器組成,由單片機(jī)控制使其顯示相應(yīng)的界面。</p><p> 2.3.1 LCD12864介紹</p><p> 12864液晶圖形
69、顯示器可以顯示字母、數(shù)字符號(hào)、中文字型及圖形,具有繪圖及文字畫(huà)面混合顯示功能。提供三種控制接口,分別是8位微處理器接口,4位微處理器接口及串行(OCMJ4X16A/B無(wú)串行接口)。所有的功能,包含顯示RAM,字型產(chǎn)生器,都包含在一個(gè)芯片里面,只要一個(gè)最小的微處理系統(tǒng),就可以方便操作模塊。內(nèi)置2M-位中文字型ROM (CGROM) 總共提供8192 個(gè)中文字型(16x16 點(diǎn)陣),16K-位半寬字型ROM (HCGROM) 總共提供126
70、 個(gè)符號(hào)字型(16x8 點(diǎn)陣),64 x 16-位字RAM(CGRAM),另外繪圖顯示畫(huà)面提供一個(gè)64x256點(diǎn)的繪圖區(qū)域(GDRAM)。內(nèi)置8192個(gè)16*16點(diǎn)漢字,和128個(gè)16*8點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。其引腳說(shuō)明如表2.1:</p><p> 表2.1 LCD12864的顯示地址</p><p> ?。?/p>
71、1)LCD12864的顯示地址如表2.2:</p><p> 表2.2 LCD12864的顯示地址</p><p> ?。?)LCD12864的圖像顯示</p><p> 先設(shè)垂直地址再設(shè)水平地址(連續(xù)寫(xiě)入兩個(gè)字節(jié)的資料來(lái)完成垂直與水平的坐標(biāo)地址) 垂直地址范圍 AC5...AC0 水平地址范圍 AC3…AC0 繪圖RAM
72、的地址計(jì)數(shù)器(AC)只會(huì)對(duì)水平地址(X 軸)自動(dòng)加一,當(dāng)水平地址=0FH 時(shí)會(huì)重新設(shè)為00H但并不會(huì)對(duì)垂直地址做進(jìn)位自動(dòng)加一,故當(dāng)連續(xù)寫(xiě)入多筆資料時(shí),程序需自行判斷垂直地址是否需重新設(shè)定。</p><p> ?。?)LCD12864的讀寫(xiě)時(shí)序圖(8位模式)</p><p> 2.3.2 12864模塊與單片機(jī)接口電路</p><p> 對(duì)12864的控制和讀寫(xiě)數(shù)
73、據(jù)與指令都是通過(guò)對(duì)單片機(jī)的控制來(lái)實(shí)現(xiàn),12864的數(shù)據(jù)端口與單片機(jī)的P0口通過(guò)上拉電阻相連接。利用單片機(jī)控制12864的RW RS E三個(gè)選通信號(hào)的控制來(lái)實(shí)現(xiàn)數(shù)據(jù)與指令的傳輸,以求達(dá)到預(yù)期的目的</p><p><b> 2.4 時(shí)鐘模塊</b></p><p> 時(shí)鐘模塊主要是由時(shí)鐘芯片DS1302以及相應(yīng)的電路組成,本設(shè)計(jì)中,用于時(shí)間采集作用。</p&g
74、t;<p> 2.4.1 DS1302介紹</p><p> DS1302是 DALLAS公司推出的涓流充電時(shí)鐘芯片,內(nèi)含有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和 31 字節(jié)靜態(tài) RAM 通過(guò)簡(jiǎn)單的串行接口與單片機(jī)進(jìn)行通信,實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日日期月年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過(guò) AM/PM 指示決定采用 24或12小時(shí)格式DS1302與單片機(jī)間能簡(jiǎn)單地采用同步串行的方式進(jìn)行
75、通信,僅需用到三個(gè)口線RES復(fù)位、I/O數(shù)據(jù)線、SCLK串行時(shí)鐘 。DS1302 工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí)功率小于 1mW。 DS1302 是由 DS1202 改進(jìn)而來(lái),增加了以下的特性,雙電源管腳用于主電源和備份電源供應(yīng) Vcc1 為可編程涓流充電電源。它廣泛應(yīng)用于電話傳真便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。</p><p> ?。?)DS1302引腳說(shuō)明</p><p&
76、gt; X1,X2 -32.768KHz晶振管腳</p><p> GND -地</p><p> RST -復(fù)位腳</p><p> I/O -數(shù)據(jù)輸入/輸出引腳</p><p> SCLK -串行時(shí)鐘</p><p> Vcc1,Vcc2 -電源供電
77、管腳</p><p> ?。?)DS1302操作時(shí)序圖</p><p> (4)DS1302常用寄存器</p><p> 對(duì)DS1302進(jìn)行操作時(shí),需要向DS1302里對(duì)時(shí),從時(shí)間常用寄存器地址中寫(xiě)對(duì)入所設(shè)定的時(shí)間,轉(zhuǎn)換成BCD碼,在寫(xiě)入之前需要去除寫(xiě)保護(hù)位,然后在寫(xiě)入時(shí)間數(shù)據(jù),寫(xiě)入完成后需要對(duì)DS1302加上寫(xiě)保護(hù)位,以保證在不知情的情況下對(duì)時(shí)鐘芯片進(jìn)行不必要
78、的錯(cuò)誤操作。</p><p> 2.4.2 DS1302模塊電路</p><p> STC89C5158RD+單片機(jī)P3.7接DS1302的RST端,上電后單片機(jī)的P3.7腳自動(dòng)輸出高電平。P3.0作為串行時(shí)鐘接口。P3.6作為時(shí)鐘數(shù)據(jù)的I/O。DS1302采用雙電源供電,平時(shí)由+5V電源供電,斷電后有鋰電池提供+3V的電源。值得注意的是:X1和X2兩端連接的晶振的頻率為32.768K
79、HZ。</p><p> 2.5 溫度采集模塊</p><p> 溫度采集模塊只要是由溫度傳感器DS18B20等組成。</p><p> 2.5.1 DS18B20介紹</p><p> DS18B20是美國(guó)DALLAS公司推出的單總線數(shù)字測(cè)溫芯片。他具有獨(dú)特的單總線接口方式,僅需使用1個(gè)端口就能實(shí)現(xiàn)與單片機(jī)的雙向通訊。采用數(shù)字信號(hào)輸
80、出提高了信號(hào)抗干擾能力和溫度測(cè)量精度。他的工作電壓使用范圍寬(3.0~5.5 V),可以采用外部供電方式,也可以采用寄生電源方式,即當(dāng)總線DQ為高電平時(shí),竊取信號(hào)能量給DS18B20供電。他還有負(fù)壓特性,電源極性接反時(shí),DS18B20不會(huì)因接錯(cuò)線而燒毀,但不能正常工作??梢酝ㄟ^(guò)編程實(shí)現(xiàn)9~12位的溫度轉(zhuǎn)換精度設(shè)置。而且設(shè)定的分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間就越長(zhǎng),在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。所有數(shù)據(jù)都是以最低有效位在前
81、的方式進(jìn)行讀寫(xiě)。</p><p> DS18B20引腳說(shuō)明:</p><p> DQ為數(shù)字信號(hào)輸入/輸出端;</p><p><b> GND為電源地;</b></p><p> VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)</p><p> 2.5.2 DS18B20電路連接
82、</p><p> 由DS18B20的接口電路可知,通過(guò)數(shù)據(jù)端口與單片機(jī)的P2.0口相連接,通過(guò)對(duì)單片機(jī)的端口時(shí)序設(shè)計(jì)和控制就可以實(shí)現(xiàn)溫度傳感器的控制,以達(dá)到自己設(shè)計(jì)的要求。</p><p><b> 2.5 電源模塊</b></p><p> 本設(shè)計(jì)供電電源分別為+5V,3.3V,+5V用于單片機(jī)供電,+3.3V用于語(yǔ)音芯片ISD400
83、4。為了讓單片機(jī)處于穩(wěn)定的工作狀態(tài),利用LM7805穩(wěn)壓到5V。運(yùn)用AMS1117-3.3V穩(wěn)壓芯片將ISD4004的輸入電壓調(diào)節(jié)為3.3V。電路供電電路如下圖:</p><p><b> 2.6 蜂鳴器模塊</b></p><p> 此電路用于檢測(cè)錄音芯片內(nèi)存是否溢出,溢出則發(fā)出報(bào)警聲。 </p><p> 3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)<
84、;/p><p> 基于單片機(jī)的錄音筆設(shè)計(jì)需要在軟件的支持下才能實(shí)現(xiàn)的,系統(tǒng)的軟件設(shè)計(jì)部分包括主程序及各子程序。主程序完成系統(tǒng)初始化和顯示處理的功能。子程序包括錄音放音子程序,按鍵掃描字程序,溫度檢測(cè)子程序,時(shí)鐘芯片字程序,液晶顯示子程序等。</p><p> 3.1主程序流程圖及代碼</p><p> 系統(tǒng)接通電源后,主程序初始化后進(jìn)入開(kāi)機(jī)界面然后進(jìn)入主循環(huán),首先
85、是按鍵檢測(cè),提示密碼輸入,正確則進(jìn)入主菜單選擇界面,否則重復(fù)輸入,有三次校正密碼的機(jī)會(huì),三次輸入密碼錯(cuò)誤則蜂鳴器提示報(bào)警系統(tǒng)必須手動(dòng)重啟,正確進(jìn)入菜單后,進(jìn)行所需的選擇然后,通過(guò)12864顯示出設(shè)計(jì)相關(guān)信息。主程序流程圖如圖3.1:</p><p> 3.2 子程序的設(shè)計(jì)</p><p> 本次子程序的設(shè)計(jì)包括錄音放音設(shè)計(jì),實(shí)時(shí)時(shí)鐘,溫度檢測(cè),12864的液晶顯示設(shè)計(jì),溫度時(shí)間的播報(bào),
86、按鍵掃描等常用程序設(shè)計(jì)。</p><p> 3.2.1 錄放聲音程序設(shè)計(jì)</p><p> ISD4004通過(guò)單片機(jī)控制,當(dāng)檢測(cè)到按下錄音鍵,單片機(jī)通過(guò)SPI接口發(fā)送相應(yīng)指令將輸入的信號(hào)進(jìn)行采樣,經(jīng)過(guò)芯片內(nèi)部的一系列處理,保存在芯片的儲(chǔ)存器中。當(dāng)檢測(cè)到按下放音鍵時(shí),發(fā)送放音指令使其處于放音狀態(tài)。錄放程序流程圖如下:</p><p><b> 相關(guān)部分
87、程序如下:</b></p><p> void ISD_SPI_Send8( uchar addr_8 ); //spi 串行發(fā)送,8 位數(shù)據(jù)</p><p> void ISD_SPI_Send16( uint addr_16 ); //spi 串行發(fā)送,16位數(shù)據(jù)</p><p> uint ISD_SPI_Rowadd(void); //讀
88、取16位行地址 </p><p> void ISD_Stop(void);//發(fā)送 stop 指令</p><p> void ISD_PowerUp(void); // 上電 0X20</p><p> void ISD_PowerDown(void); //掉電 0X10</p><p> void ISD_Play(void
89、); //發(fā)送當(dāng)前地址放音指令 </p><p> void ISD_SetPlay(uint add); //發(fā)送指定地址放音指令</p><p> void ISD_Rec(void); //發(fā)送當(dāng)前地址錄音指令 </p><p> void ISD_SetRec(uint add); //發(fā)送指定地址錄音指令</p><p
90、> void PLAY_now(uchar add_set); //按指定地址段開(kāi)始播放</p><p> void REC_now(uchar add_set); // 按指定地址段開(kāi)始錄音</p><p> void isd_voice_year(uchar i1,uchar i2,uchar i3,uchar i4,uchar i5,uchar i6); //播報(bào)
91、年月日</p><p> void isd_voice_hour(uchar i1,uchar i2,uchar i3,uchar i4,uchar i5,uchar i6); //播報(bào)時(shí)分秒</p><p> void isd_voice_baoshi(void); //播報(bào)"報(bào)時(shí)"</p><p> void isd_rec_pl
92、ay(void); //錄音放音一體化</p><p> void addr_display(uint addr,uchar flag); //錄放音地址顯示</p><p> 3.2.2 LCD12864程序設(shè)計(jì)</p><p> 本設(shè)計(jì)采用的是LCD12864液晶顯示,由于其本身帶有驅(qū)動(dòng)模塊液晶屏,所以對(duì)于該顯示操作程序可以分為開(kāi)顯示,設(shè)置顯示初始行,寫(xiě)數(shù)
93、據(jù)和清屏等部分。12864的寫(xiě)命令程序,寫(xiě)數(shù)據(jù)程序,顯示程序都以子程序的形式在12864庫(kù)函數(shù)里,方便程序函數(shù)之間調(diào)用。</p><p><b> 部分程序如下:</b></p><p> void main_menu(void);//主菜單</p><p> void main_menu1(void);</p><p
94、> void main_menu2(void);</p><p> void start(void);//開(kāi)始界面</p><p> void start1(void);</p><p> void initialize(void); //初始化</p><p> void write_com(uchar com); //寫(xiě)指
95、令</p><p> void write_dat(uchar dat); //寫(xiě)數(shù)據(jù)</p><p> void CGRAM(void); //CGRAM自定義顯示字符</p><p> void init_photo(void); //圖片初始化</p><p> void photo(uchar *address);//圖片顯示
96、</p><p> void photo2(void);</p><p> void display1(void); //登陸界面</p><p> void display2(void); //歡迎界面</p><p> void display3(void);</p><p> void displa
97、y_design(void);</p><p> 3.2.3 DS1302程序設(shè)計(jì)</p><p> 在DS1302的時(shí)鐘日歷或者RAM進(jìn)行數(shù)據(jù)傳送時(shí),DS1302必須首先發(fā)送命令字節(jié)。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,在下個(gè)2SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),或者在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。</p><p> DS1302程序流程圖如
98、下:</p><p><b> 部分程序如下:</b></p><p> void write_ds1302_byte(uchar dat); //寫(xiě)操作寫(xiě)入一個(gè)字節(jié)</p><p> void write_ds1302(uchar address,uchar dat);//DS1302寫(xiě)入數(shù)據(jù)</p><p>
99、 uchar read_ds1302_byte(uchar address); //單字節(jié)讀數(shù)據(jù)操作</p><p> void set_rtc(void); //校對(duì)時(shí)間</p><p> void read_ds1302(void); //讀ds1302所有數(shù)據(jù)</p><p> void time_deal(void); //處理數(shù)據(jù),bcd轉(zhuǎn)換成十進(jìn)制
100、</p><p> void ds1302_display(void); //顯示界面</p><p> void ds1302_display_data(void); //顯示年星期月日時(shí)秒分?jǐn)?shù)據(jù)</p><p> void ds1302_main(void); //時(shí)間主函數(shù)</p><p> 3.2.4 DS18B20程序設(shè)計(jì)&
101、lt;/p><p> DS18B20作為單線接口且每一個(gè)DS18B20都有唯一的系列號(hào),因此多個(gè)DS18B20可以存在于同一條單線上工作,但本系統(tǒng)就用了一個(gè)DS18B20所以對(duì)DS18B20的搜索可以用Skip ROM命令跳過(guò)搜索,然后在對(duì)其進(jìn)行操作。具體的DS18B20的操作流程如下3.5所示。</p><p><b> 部分程序如下:</b></p>
102、<p> void init_ds18b20(void); //初始化</p><p> void delay(uint t);//延時(shí)</p><p> void write_byte(uchar dat);// DS18B20寫(xiě)1個(gè)字節(jié)函數(shù)</p><p> uchar read_byte(void);// DS18B20讀1個(gè)字節(jié)函數(shù)<
103、;/p><p> uchar read_temperature(void);//讀溫度</p><p> uint read_temperature1(void); //讀溫度,兩位小數(shù)處理</p><p> void display(uchar temp,uint temp1);//溫度顯示</p><p> void ds18b20_
104、tem(void); //溫度顯示</p><p> void ds18b20_1302(void); //ds1302里的溫度顯示</p><p> void voice_temperature(uchar i1,uchar i2);//播報(bào)溫度</p><p><b> 4軟硬件調(diào)試及結(jié)果</b></p><p&g
105、t; 軟件設(shè)計(jì)是本次設(shè)計(jì)的重要組成部分。在單片機(jī)應(yīng)用系統(tǒng)中,最常用的程序設(shè)計(jì)就是模塊化程序設(shè)計(jì)。模塊化設(shè)計(jì)具有結(jié)構(gòu)清晰,功能明確,程序模塊可以共享,便于功能擴(kuò)展及程序維護(hù)等特點(diǎn)。在軟件調(diào)試中,有時(shí)候出現(xiàn)語(yǔ)音播報(bào)不完整,經(jīng)過(guò)分析,是延時(shí)時(shí)間沒(méi)有掌握好等,設(shè)計(jì)具有良好的人機(jī)界面很重要,因此,我盡量做到一看就知道怎樣操作。</p><p> 在本設(shè)計(jì)軟硬件調(diào)試中,出現(xiàn)噪聲太大,錄不進(jìn)聲音,輸出聲音過(guò)小等,經(jīng)過(guò)分析,
106、對(duì)電路作出了修改(電路圖如附件一),出現(xiàn)噪聲大的原因是功放放大倍數(shù)過(guò)大,導(dǎo)致把噪聲也放大了。在制作PCB板,我特意對(duì)GND覆銅來(lái)消除一部分干擾,而且對(duì)輸入電壓進(jìn)行濾波,對(duì)輸入輸出信號(hào)進(jìn)行切換等,(PCB見(jiàn)附件二)。</p><p><b> 實(shí)物圖如下:</b></p><p><b> 調(diào)試結(jié)果如下圖:</b></p><
107、;p><b> 總結(jié) </b></p><p> 這次畢業(yè)設(shè)計(jì)的項(xiàng)目雖然不是很大,但用的技術(shù)和知識(shí)一點(diǎn)也不遜色于大的項(xiàng)目設(shè)計(jì),熟練的掌握了相關(guān)的技術(shù)知識(shí)和軟件開(kāi)發(fā)環(huán)境程序的設(shè)計(jì),比如其中的編程軟件KEIL和制作電路原理圖PCB的軟件Protel 99 SE就是比較常用的編程開(kāi)發(fā)制作軟件。用到了SPI、DS18B20的單總線協(xié)議通信,STC89C58RD+單片機(jī)的基本操作知識(shí),C語(yǔ)言
108、程序編輯等方面的知識(shí)。</p><p> 這次畢業(yè)設(shè)計(jì)也是一次非常難得的理論和實(shí)際相結(jié)合的機(jī)會(huì),通過(guò)這次比較完成的畢業(yè)設(shè)計(jì),使我擺脫了以往單純的理論知識(shí)的學(xué)習(xí)狀態(tài),并且在和實(shí)際實(shí)際的結(jié)合中鍛煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí)。不過(guò)這次設(shè)計(jì)中我也遇到了不少問(wèn)題,比如在剛開(kāi)始做的時(shí)候有些器件的具體使用都不知道怎樣操作和編程,程序編輯經(jīng)常達(dá)不到預(yù)期設(shè)計(jì)效果,制作電路圖 PCB元器件的封裝不知道,結(jié)果耗費(fèi)了很多的時(shí)間來(lái)
109、制作電路圖。后來(lái)我才漸漸的意識(shí)到是我在做設(shè)計(jì)之前沒(méi)有仔細(xì)的思考該怎樣去一步步的完成設(shè)計(jì)的方法和思路。查找相關(guān)的技術(shù)知識(shí)和理論知識(shí)。這些在設(shè)計(jì)中遇到的不少問(wèn)題,最終在自己查找相關(guān)的操作知識(shí)和理論知識(shí)加上指導(dǎo)老師的或者同學(xué)的幫助下把問(wèn)題一一的解決了,雖然設(shè)計(jì)順利的做完了但還是有許多的不足的地方,比如這次電路設(shè)計(jì)就是有點(diǎn)不太美觀,主要就是對(duì)焊接技術(shù)的操作還不是很流利。焊接技術(shù)對(duì)于我們來(lái)說(shuō)還需要學(xué)習(xí)改善。</p><p>
110、; 對(duì)于這次的畢業(yè)設(shè)計(jì),讓我認(rèn)識(shí)到了自己還有很多的不足,對(duì)于單片機(jī)應(yīng)用方面的知識(shí)不是很熟練。對(duì)于書(shū)本上的很多的理論知識(shí)還是不夠靈活的運(yùn)用,有很多我們掌握的知識(shí)在等著我們?nèi)W(xué)習(xí)。我會(huì)在以后的工作學(xué)習(xí)生活中彌補(bǔ)我所缺少的知識(shí)。同時(shí)還從中學(xué)到了一些很重要的東西,那就是理論和實(shí)際相結(jié)合。怎樣將我們所學(xué)的知識(shí)運(yùn)用到我以后的工作中去。此次畢業(yè)設(shè)計(jì)給我奠定了一個(gè)實(shí)踐基礎(chǔ)。我會(huì)在以后的學(xué)習(xí)生活中磨練自己,是自己是英語(yǔ)以后的社會(huì)競(jìng)爭(zhēng)。最后敬請(qǐng)各位專家、
111、老師和同學(xué)對(duì)論文和今后的研究工作提出寶貴的指導(dǎo)意見(jiàn)和建議。</p><p><b> 致謝</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1] 童試白,華成英. 模擬電子技術(shù)基礎(chǔ)(第四版)[M] .北京:高等教育出版社,2009.</p><p> [2] 閻 石.
112、數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M] . 北京:高等教育出版社,2009.</p><p> [3] 姜志海,黃玉清,劉連鑫. 單片機(jī)原理及應(yīng)用(第二版)[M].北京:電子工業(yè)出版社,2010.</p><p> [4] 臧春華,邵杰,魏小龍. 綜合電子系統(tǒng)設(shè)計(jì)與實(shí)踐 [M].北京:北京航空航天大學(xué)出版社,北京理工大學(xué)出版社,哈爾濱工業(yè)大學(xué)出版社,哈爾濱工程大學(xué)出版社,西北工業(yè)大學(xué)出版社,
113、2009.</p><p> [5] 戴佳,戴衛(wèi)恒,劉博文. 51單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)—實(shí)例精講(第2版)[M].北京:電子工業(yè)出版社,2009.</p><p> [6] 謝自美. 電子線路設(shè)計(jì).實(shí)驗(yàn).測(cè)試(第二版)[M].湖北:華中科技大學(xué)出版社.</p><p> [7] 馮育長(zhǎng)等.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例分析[M] .西安電子科技大學(xué)出版社,2007.
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機(jī)的錄音筆設(shè)計(jì)1
- 基于51單片機(jī)錄音筆設(shè)計(jì)
- 基于51單片機(jī)錄音筆設(shè)計(jì)(定稿)
- 基于51單片機(jī)錄音筆設(shè)計(jì)定稿
- 基于avr單片機(jī)錄音筆設(shè)計(jì)與制作論
- 畢業(yè)設(shè)計(jì)---錄音筆的設(shè)計(jì)與實(shí)現(xiàn)
- 基于avr的錄音筆設(shè)計(jì)
- 錄音筆的設(shè)計(jì)畢業(yè)論文
- 基于avr錄音筆設(shè)計(jì)
- 錄音筆設(shè)計(jì)(畢業(yè)課題論文)
- 畢業(yè)設(shè)計(jì) 基于單片機(jī)的數(shù)碼錄音與播放系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)的汽車倒車?yán)走_(dá)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于單片機(jī)的plc設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的紅外測(cè)距系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的數(shù)碼錄音與播放系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的交通燈設(shè)計(jì)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于單片機(jī)的紅外測(cè)距系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的定時(shí)器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子時(shí)鐘
評(píng)論
0/150
提交評(píng)論