2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘要 </b></p><p>  本次課程設(shè)計(jì)的主要目的是制作一個(gè)基于單片機(jī)的數(shù)碼錄音和播放系統(tǒng)。選用凌陽16位單片機(jī)SPCE061A和外部存儲器W29C040來實(shí)現(xiàn)。其具有體積小、集成度高、功耗低、結(jié)構(gòu)簡單、中斷處理能力強(qiáng)等特點(diǎn),特別適用于數(shù)字語音錄放和語音識別等數(shù)字應(yīng)用領(lǐng)域。SPCE061A是臺灣凌陽公司生產(chǎn)的十六位單片機(jī),該單片機(jī)內(nèi)置有2路DA轉(zhuǎn)換,8路

2、AD轉(zhuǎn)換及在線仿真等豐富的功能,W29C040是臺灣華邦公司生產(chǎn)的4M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達(dá)4分鐘的語音錄放。該系統(tǒng)可以廣泛應(yīng)用于需求的錄音較長的場合。如檢測溫度的存儲播放系統(tǒng),自錄語音提示等應(yīng)用方案。</p><p>  關(guān)鍵詞:SPCE061A,閃存,W29C040,語音輸入/錄放 </p><p><b>  ABSTRACT<

3、/b></p><p>  This course design of the main purpose is to make a based on SCM digital recording and playback system. Choose Sunplus SPCE061A and 16-bit single chip external memory W29C040 to achieve. Its

4、integration with small size, high, low power consumption, simple structure, interrupt handling ability strong wait for a characteristic, especially suitable for digital voice recording and digital applications speech rec

5、ognition, etc. Sunplus SPCE061A is Taiwan company produces the 16 microcontroller, the mi</p><p>  KEYWORDS:SPCE061A ;flash memory;W29C040;voice record</p><p><b>  目錄</b></p>

6、<p><b>  第1章 緒論1</b></p><p>  第2章 錄音筆設(shè)計(jì)方案與論證3</p><p><b>  2.1 引言3</b></p><p>  2.2 錄音筆設(shè)計(jì)方案的提出3</p><p>  2.3 錄音筆設(shè)計(jì)方案的確定4</p><

7、;p>  第3章 硬件設(shè)計(jì)6</p><p>  3.1 系統(tǒng)總體方案介紹6</p><p>  3.2 SPCE061A最小系統(tǒng)設(shè)計(jì)6</p><p>  3.3 音頻電路8</p><p>  3.3.1 音頻輸入電路8</p><p>  3.3.2 A/D轉(zhuǎn)換接口9</p>&l

8、t;p>  3.3.3 D/A轉(zhuǎn)換模塊11</p><p>  3.3.4 音頻輸出電路11</p><p>  3.4 W29C040存儲芯片12</p><p>  3.5 串行設(shè)備輸入輸出口(SIO)13</p><p>  3.6 通用串行通信接口UART模塊15</p><p>  第4章 軟

9、件設(shè)計(jì)16</p><p>  4.1 凌陽音頻介紹16</p><p>  4.1.1 音頻概述16</p><p>  4.1.2 數(shù)字音頻的采樣和量化及格式介紹16</p><p>  4.1.3 語音壓縮編碼基礎(chǔ)16</p><p>  4.2 軟件設(shè)計(jì)流程圖17</p><p&

10、gt;  4.3 程序代碼18</p><p>  4.3.1 語音的錄入19</p><p>  4.3.2 語音的播放19</p><p>  4.3.3 SACM-DVR相關(guān)的API函數(shù)19</p><p><b>  參考文獻(xiàn)22</b></p><p><b>  致

11、謝23</b></p><p><b>  附錄24</b></p><p><b>  第1章 緒論</b></p><p>  隨著計(jì)算機(jī)技術(shù)的發(fā)展和在控制系統(tǒng)中的廣泛應(yīng)用,以及設(shè)備向小型化、智能化的發(fā)展,作為高新技術(shù)之一的單片機(jī)以其體積小,功能強(qiáng),價(jià)格低,使用靈活等特點(diǎn),顯示出很強(qiáng)的生命力。[1]可以

12、認(rèn)為,單片機(jī)技術(shù)已經(jīng)成為現(xiàn)代電子技術(shù)的十分重要的技術(shù)之一,可以使設(shè)計(jì)的電子產(chǎn)品更具智能化和先進(jìn)性。進(jìn)入21世紀(jì)以來,開發(fā)推出單片機(jī)的公司很多,各種高性能單片機(jī)芯片市場也異常活躍,新技術(shù)的不斷采用,更加使單片機(jī)的種類、性能以及應(yīng)用領(lǐng)域不斷擴(kuò)大和提高。單片機(jī)SPCE061A的問世,使得16位單片機(jī)的科技含量及應(yīng)用躍上一個(gè)新的臺階。[2]在航空航天,機(jī)械加工,智能儀器儀表,家用電器,通信系統(tǒng),智能玩具等領(lǐng)域,單片機(jī)都發(fā)揮了巨大的作用。所謂單片

13、機(jī)(Single Chip Microcomputer),是指一塊芯片中集成有中央處理器(CPU),存儲器(RAM和ROM),基本I/O接口以及定時(shí)器/計(jì)數(shù)器等部件,并具有獨(dú)立指令系統(tǒng)的智能器件,即在一塊芯片上實(shí)現(xiàn)一臺微型計(jì)算機(jī)的基本功能。如果是簡單的控制對象,只需要利用單片機(jī)作為控制核心,不需要另加外部設(shè)備就能實(shí)現(xiàn)。對于較復(fù)雜的系統(tǒng),只需對單片機(jī)進(jìn)行適當(dāng)?shù)臄U(kuò)展即可,十分方便。歸納</p><p> ?。?)單片

14、機(jī)獨(dú)立的指令系統(tǒng),可以將我們的設(shè)計(jì)思想充分體現(xiàn)出來</p><p> ?。?)系統(tǒng)配置以滿足控制對象的需求為出發(fā)點(diǎn),使得系統(tǒng)具有較高的性能價(jià)格比</p><p>  (3)應(yīng)用系統(tǒng)通常將程序駐留在片內(nèi)(外)ROM中,抗干擾能力強(qiáng),可靠性高,使用方便.系統(tǒng)規(guī)模小,本身不具有開發(fā)能力,一般需要借助專用的開發(fā)工具進(jìn)行系統(tǒng)的開發(fā)和調(diào)試,而實(shí)際的應(yīng)用系統(tǒng)簡單實(shí)用,成本低,效益好。</p>

15、<p> ?。?)應(yīng)用系統(tǒng)所用存儲器芯片可選用EPROM,EEPROM,OTP芯片或利用掩膜形生產(chǎn),便于批量開發(fā)和應(yīng)用。許多單片機(jī)(如80C51系列)的開發(fā)芯片和擴(kuò)展芯片險(xiǎn)乎配套,降低了系統(tǒng)成本。</p><p> ?。?)系統(tǒng)小巧玲瓏,控制功能強(qiáng),體積小,便于嵌入被控設(shè)備之內(nèi),大大推動了產(chǎn)品的智能化。如數(shù)控機(jī)床,機(jī)器人,智能儀器儀表,家用電器等都是典型的機(jī)電一體化設(shè)備和產(chǎn)品</p>

16、<p>  同時(shí),隨著社會和科技的不斷發(fā)展,“PC”的到來以開始改善了人們的生活水平。所謂后PC時(shí)代,是英文Pervasive Computing,翻譯為滲透到各個(gè)方面的計(jì)算。因而,后PC時(shí)代的計(jì)算機(jī)都以非計(jì)算機(jī)的形式存在,將滲透到歐文們生活的方方面面。例如,電視機(jī),機(jī)器人,數(shù)控設(shè)備等,其中心控制部件是計(jì)算機(jī),但他們都是以嵌入式系統(tǒng)的形式存在。單片機(jī)作為計(jì)算機(jī)技術(shù)的一個(gè)重要分之,嵌入式系統(tǒng)的先頭兵,廣泛的應(yīng)用于智能儀器,機(jī)電一

17、體化產(chǎn)品,智能電器,個(gè)人數(shù)字處理器等領(lǐng)域。[3]隨著微電子技術(shù)的快速發(fā)展,電子系統(tǒng)設(shè)計(jì)已進(jìn)入了片上系統(tǒng)(SOC,System On Chip)時(shí)代,單片機(jī)的更能也越來越強(qiáng)大,使其成為真正的系統(tǒng)單片機(jī)。</p><p>  單片機(jī)是隨著微型計(jì)算機(jī),單板機(jī)的發(fā)展及其在智能測控系統(tǒng)中的應(yīng)用而發(fā)展起來的。隨著微電子技術(shù)的迅速發(fā)展,目前世界上各個(gè)公司都研制出了各種應(yīng)用領(lǐng)域的單片機(jī),單片機(jī)芯片市場也異?;钴S,從8位低端,到高

18、性能的16位,到集成度,速率,可靠性等全方位向更高水平發(fā)展的32位系列。隨著微電子,半導(dǎo)體工藝的不斷進(jìn)步,單片機(jī)芯片在向高度集成化,低功耗的方向發(fā)的發(fā)展。目前世界上各個(gè)公司都研制出了各種應(yīng)用領(lǐng)域的單片機(jī),如ATMEL公司的80C9X系列,INTEL公司的MCS-5X系列,MOTOROLA的68系列和ZILOG的Z8系列。目前,中國臺灣的凌陽公司最新推出了16位的SPCE系列由于其在語音功能的獨(dú)特應(yīng)用,得到了廣大客戶的認(rèn)可,因此,也是我這

19、次畢業(yè)論文所選擇的單片機(jī)。</p><p>  本次畢業(yè)論文就是選用凌陽16位單片機(jī)SPCE061A和外部擴(kuò)展存儲器W29C040來實(shí)現(xiàn)數(shù)碼語音的錄取和播放系統(tǒng)。[4]</p><p>  第2章 錄音筆設(shè)計(jì)方案與論證</p><p><b>  2.1 引言</b></p><p>  隨著視聽家電產(chǎn)品的不斷豐富,已經(jīng)

20、有越來越多微小型化的產(chǎn)品走入了人們的日常生活,他們最突出的優(yōu)點(diǎn)是體積小巧、非常薄,而且重量很輕,給人們帶來方便,并增添了無窮樂趣。作為一種簡單方便地獲取和記錄數(shù)字化聲音文件的工具,數(shù)碼錄音筆從2000年開始風(fēng)靡市場,成為學(xué)生、記者和商務(wù)人士購置錄音設(shè)備的首選。不僅在校園里取代了復(fù)讀機(jī),也成為時(shí)間緊張的在職進(jìn)修人員的掌上新寵。帶FM 功能的數(shù)碼錄音筆,還可以便利地收聽調(diào)頻廣播外語教學(xué)節(jié)目。</p><p>  數(shù)碼

21、錄音筆,實(shí)際上是一種采用數(shù)碼錄音技術(shù)的錄制設(shè)備,通過對聲音進(jìn)行采集、壓縮、存儲到閃存(Flash Memory)進(jìn)行記錄,無需使用額外的錄音磁帶、話筒等設(shè)備,音質(zhì)清晰逼真,即使反復(fù)播放其音質(zhì)也毫無損失。</p><p>  在設(shè)計(jì)中將說明怎樣利用凌陽16位單片機(jī)SPCE061A來實(shí)現(xiàn)一個(gè)錄音筆系統(tǒng)。SPCE061A該款單片機(jī)資源豐富,有強(qiáng)大的數(shù)字語音處理功能可應(yīng)用與語音播放和語音識別領(lǐng)域,內(nèi)置有2路DA轉(zhuǎn)換,8路

22、AD轉(zhuǎn)換及在線仿真等豐富的功能,這些都為實(shí)現(xiàn)數(shù)碼錄音和播放提供了良好的方便條件。[5]</p><p>  2.2 錄音筆設(shè)計(jì)方案的提出</p><p>  設(shè)計(jì)要求錄音筆實(shí)現(xiàn)錄音、播放、暫停、循環(huán)播放、重復(fù)播放、選擇上一段、選擇下一段以及與PC機(jī)進(jìn)行數(shù)據(jù)傳輸?shù)墓δ???梢钥闯霰敬卧O(shè)計(jì)的系統(tǒng)的主要部分應(yīng)該是括錄放音部分再附加上其他的功能部分。因此我們重點(diǎn)對錄放音部分實(shí)現(xiàn)的方案做了探討,方案比

23、較的多,各有其優(yōu)缺點(diǎn)?,F(xiàn)具體分析如下:</p><p>  1 80C51:方案在我國單片機(jī)的市場中,51單片機(jī)曾經(jīng)占據(jù)著絕對的主導(dǎo)地位,但在科技不斷發(fā)展的當(dāng)今,嵌入式系統(tǒng)正在不斷流行開來,對單片機(jī)的處理速度的要求不斷提高,對單片機(jī)的處理功能也要求越來越強(qiáng)。我個(gè)人認(rèn)為,除了其速度不夠快外,集成度不高是51最大的缺點(diǎn)。在當(dāng)今比較高端應(yīng)用場合,可能再也難以見到51單片機(jī)的身影,取而代之的是ARM和DSP等處理器。&l

24、t;/p><p>  2 DSP方案:在數(shù)字信號處理方面,處處可以見到DSP的身影。對于本系統(tǒng)中的語音采集,數(shù)據(jù)處理存放,語音回放,DSP可以輕而易舉的完成這些基本功能。DSP強(qiáng)大的數(shù)據(jù)處理能力是讓眾多的單片機(jī)都望塵莫及的。[6]</p><p>  3 凌陽方案:我認(rèn)為,凌陽是51和DSP之間的一種良好的結(jié)合。SPCE061A是臺灣凌陽公司生產(chǎn)的十六位單片機(jī),該單片機(jī)內(nèi)置有2路DA轉(zhuǎn)換,8路

25、AD轉(zhuǎn)換及在線仿真等豐富的功能,這些都為我們實(shí)現(xiàn)數(shù)碼錄音和播放提供良好的方便條件,W29C040是臺灣華邦公司生產(chǎn)的4M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達(dá)4分鐘語音錄放。該系統(tǒng)可以廣泛應(yīng)用于需求的錄音較長的場合。如錄音筆、自錄語音提示等應(yīng)用方案。本系統(tǒng)提供W29C040相關(guān)的讀寫模塊,此模塊也可應(yīng)用于W29C040同系列的相關(guān)FLASH芯片中另外,凌陽十六位單片機(jī)具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開發(fā)

26、環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實(shí)現(xiàn)C語言與凌陽匯編語言的互相調(diào)用,并且,提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就會很容易完成語音錄放 。</p><p>  2.3 錄音筆設(shè)計(jì)方案的確定</p><p>  我最后決定采用SPCE061A單片機(jī)來實(shí)現(xiàn)我的設(shè)計(jì)。SPCE061A是凌陽科技研發(fā)生產(chǎn)的一款高性價(jià)比十六位單片機(jī),把各功能部件模塊化地集成在一個(gè)芯片里,內(nèi)部采用總線結(jié)構(gòu)

27、,減少了各功能部件之間的連線,提高了可靠性和抗干擾能力。片內(nèi)帶有高尋址能力的ROM、靜態(tài)RAM和多功能的I/O口。芯片工作電壓范圍大,能在低電壓供電時(shí)正常工作,且能用電池供電。其指令系統(tǒng)為其應(yīng)用增添了DSP功能但是又比專用的DSP芯片廉價(jià)。對于我的設(shè)計(jì)來說SPCE061A可以非常方便靈活的實(shí)現(xiàn)語音的錄放功能,該芯片擁有8路10位精度的ADC,其中一路為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動增益AGC電路。這為實(shí)現(xiàn)語音錄入提供了方便的硬件條件。兩路

28、10精度的DAC,只需要外接功放(SPY0030A)即可完成語音的播放。凌陽16位單片機(jī)采用CMOS制造工藝,有較好的低功耗和功耗管理功能,它提供了軟件激發(fā)的弱振方式、空閑方式和掉電方式三種低功耗工作方式,大大降低了芯片功耗。由于它工作電壓范圍大,可在低電壓供電時(shí)正常工作,并可用電池供電,從而可大幅度地減少器件的功耗。低功耗是一切電子應(yīng)用系統(tǒng)所追求的目標(biāo),特別是在野外作業(yè)、便攜式儀器儀表的</p><p><

29、;b>  第3章 硬件設(shè)計(jì)</b></p><p>  根據(jù)系統(tǒng)設(shè)計(jì)的要求和凌陽十六位單片機(jī)(SPCE061A)所包括的功能,我可以利用其所具有的特性完成設(shè)計(jì)所需要達(dá)到的各項(xiàng)功能要求。</p><p>  3.1 系統(tǒng)總體方案介紹</p><p>  系統(tǒng)結(jié)構(gòu)框圖如圖3.1:</p><p>  圖3.1 系統(tǒng)結(jié)構(gòu)框圖<

30、;/p><p>  因此在設(shè)計(jì)中需要使系統(tǒng)具有如下模塊:</p><p>  (1)一路0-3.3V可調(diào)模擬電壓,可方便地完成AD的數(shù)據(jù)采集。</p><p>  (2)采用1×8鍵盤使各功能通過按鍵控制。</p><p>  (3)SIO接口擴(kuò)展存儲芯片W29C040,擴(kuò)展4M Bits Flash的擴(kuò)展存儲空間存儲所錄語音數(shù)據(jù)。&l

31、t;/p><p>  (4)MIC輸入電路,配合SPCE061A內(nèi)置的AGC和OPI電路,獲得語音數(shù)據(jù)。</p><p>  (5)兩路音頻輸出電路,采用凌陽功放芯片SPY0030A,通過它完成語音的播放。</p><p>  (6)使用SPCE061A的通用異步串行接口UART來實(shí)現(xiàn)與PC機(jī)的通訊。</p><p>  3.2 SPCE061A

32、最小系統(tǒng)設(shè)計(jì)</p><p>  SPCE061A是繼µ’nSP?系列產(chǎn)品SPCE500A等之后凌陽科技推出的又一款16位結(jié)構(gòu)的微控制器。與SPCE500A不同的是,在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,SPCE061A里只內(nèi)嵌32K字的閃存(FLASH)。較高的處理速度使µ’nSP?能夠非常容易地、快速地處理復(fù)雜的數(shù)字信號。因此,與SPCE500A相比,以

33、1;’nSP?為核心的SPCE061A微控制器是適用于數(shù)字語音識別應(yīng)用領(lǐng)域產(chǎn)品的一種最經(jīng)濟(jì)的選擇。</p><p>  前面已經(jīng)提到我所設(shè)計(jì)的錄音筆系統(tǒng)的核心采用SPCE061A。SPCE061A內(nèi)置的7 SPCE061A最小系統(tǒng)如圖3.2。</p><p>  圖3.2 SPCE061A最小系統(tǒng)</p><p>  芯片提供兩個(gè)16位通用的并行I/O口:IOA0-

34、IOA15,IOB0-IOB15。這兩個(gè)口的每一位都可以通過編程單獨(dú)定義為輸入或輸出口。其中A口的IOA0-IOA7用作輸入口時(shí)具有觸鍵喚醒功能,可以應(yīng)用于低功耗的場合。[8]</p><p>  鑒于所要求功能,我將IOA0-IOA7與1×8鍵盤連接,A0-A7做輸入口。SPCE061A的并行I/O口可以通過編程設(shè)置為上拉輸入、下拉輸入、懸浮輸入或同相輸出、反相輸出的狀態(tài)。要求按鍵執(zhí)行程序所定義功能因

35、此設(shè)置為下拉輸入。</p><p><b>  3.3 音頻電路</b></p><p>  3.3.1 音頻輸入電路</p><p>  音頻輸入電路包括MIC錄音輸入和AGC電路。</p><p>  人的聲音頻率在300Hz-3400Hz范圍之內(nèi),因此所設(shè)計(jì)的錄音筆只需要記錄這樣一個(gè)范圍的聲音信號即可。</p

36、><p>  在這里把要記錄的語音信號最高頻率定為4KHz,根據(jù)公式:f采樣=2f低通規(guī)定系統(tǒng)的采樣頻率為8KHz。當(dāng)錄入的語音信號有高于4KHz的部分時(shí),則把高于4KHz頻率的信號認(rèn)為是噪聲。[9]噪聲是不需要記錄的,所以應(yīng)該把高于4KHz的聲音頻率排除在記錄范圍外,因此需在ADC電路前加一個(gè)截止頻率為4KHz的前置低通濾波器用來濾除噪聲。前置低通濾波器電路如圖3.3,濾波器的頻譜圖如圖3.4。</p>

37、<p>  圖3.3 MIC輸入驅(qū)動電路與前置低通濾波器圖</p><p>  圖3.4 前置低通濾波器頻譜圖</p><p>  SPCE061A內(nèi)置的AGC電路,它的作用是當(dāng)輸入信號較強(qiáng)時(shí)使放大器增益自動降低;當(dāng)信號較弱時(shí),又使其增益。因此,從MIC輸入的音頻信號經(jīng)過SPCE061A內(nèi)置的AGC電路將語音信號的放大值控制在一定范圍內(nèi),便可進(jìn)行AD轉(zhuǎn)換。</p>

38、<p>  輸入信號有兩個(gè)通道:一個(gè)由LINE_In通道輸入;另一個(gè)由MIC_In通道輸入。MIC_In一般用于麥克風(fēng)通道插入,專門用于對語音信號進(jìn)行采樣。語音信號經(jīng)MIC轉(zhuǎn)換成電信號,由隔直電容隔掉直流成分,然后輸入至SPCE061A內(nèi)部前置放大器。在MIC_In前端有兩級OP放大器,因此對信號的放大有兩種選擇,一是在關(guān)閉SPCE061A內(nèi)部自動增益控制電路AGC時(shí),MIC_In前端的OP放大器使信號放大。二是啟用AGC

39、自動調(diào)整增益的值,以防止信號飽和。AGC能隨時(shí)跟蹤、監(jiān)視前置放大器輸出的音頻信號電平,當(dāng)輸入信號增大時(shí),AGC電路自動減小放大器的增益;當(dāng)輸入信號減小時(shí),AGC電路自動增大放大器的增益,以便使進(jìn)入A/D的信號保持在最佳電平,又可使削波減至最小。當(dāng)OPAMP2的輸出>0.9AVdd時(shí),AGC自動降低OPAMP1的增益,以防止被放大的信號飽和。</p><p>  3.3.2 A/D轉(zhuǎn)換接口</p>&

40、lt;p>  模/數(shù)轉(zhuǎn)換器ADC是外界與計(jì)算機(jī)進(jìn)行信息傳遞的通道。它是一種信號轉(zhuǎn)換接口,可以把模擬量信號轉(zhuǎn)換成數(shù)字量信號以便輸入給計(jì)算機(jī)對其進(jìn)行各種處理。芯片采用逐次逼近式原理實(shí)現(xiàn)A/D轉(zhuǎn)換。[10]ADC的結(jié)構(gòu)及工作原理是:由10位數(shù)/模轉(zhuǎn)換器DAC0、10位緩存器DAR0、逐次逼近寄存器SAR以及比較器COMP組成逐次逼近式的ADC,如圖3.5中虛線框內(nèi)所示。圖中的ADC有兩種工作方式:手動方式和自動方式。</p>

41、<p>  在ADC自動方式被啟用后,會產(chǎn)生出一個(gè)啟動信號,此時(shí),DAC0的電壓模擬量輸出值與外部的電壓模擬量輸入值進(jìn)行比較,.逐次逼近式控制首先將SAR中數(shù)據(jù)的最高有效位試設(shè)為'1',而其它位則全設(shè)為'0',即10 0000 0000B.這時(shí),DAC0輸出電壓VDAC0(1/2滿量程)就會與輸入電壓VIN進(jìn)行比較.如果VIN>VDAC0,則保持原先設(shè)置為'1'的位(最

42、高有效位)仍為'1';否則,該位會被清'0'.接著,逐次逼近式控制又將下一位試設(shè)為'1',其余低位依舊設(shè)為'0',即110000 0000B,VDAC0與Vin進(jìn)行比較的結(jié)果若Vin>VDAC0,則仍保持原先設(shè)置位的值,否則便清'0'該位.這個(gè)逐次逼近的過程一直會延續(xù)到10位中的所有位都被測試之后, A/D轉(zhuǎn)換的結(jié)果保存在SAR內(nèi)。</p>

43、<p>  圖3.5 逐次逼近式的ADC結(jié)構(gòu)</p><p>  ADC在手動方式下取消了自動方式的逐次逼近寄存器SAR的功能,取而代之的是內(nèi)部比較器COMP和緩存器DAR0,以模擬SAR的作用。換言之,手動方式是指須用軟件程序來控制模擬信號的輸入采樣或保持,通過寫入A/D數(shù)據(jù)單元來控制比較器基準(zhǔn)電壓值VDAC0,以及通過讀比較器的比較結(jié)果來推測模擬輸入電壓值VIN。當(dāng)外部2V的電壓模擬信號輸入到A

44、DC的輸入端上,可試著寫入A/D數(shù)據(jù)單元一個(gè)數(shù)字量值1000000000B,它實(shí)際對應(yīng)于1.8V電壓模擬量。由于2V>1.8 V,故COMP第一次比較輸出的結(jié)果為‘1 ’,則ADC的轉(zhuǎn)換結(jié)果暫為1000000000B。接著寫入A/D數(shù)據(jù)單元下一個(gè)數(shù)字量值。在對系統(tǒng)硬件設(shè)計(jì)中,我根據(jù)設(shè)計(jì)要求將ADC設(shè)計(jì)為手動方式。</p><p>  3.3.3 D/A轉(zhuǎn)換模塊</p><p>  單

45、片機(jī)內(nèi)部D/A轉(zhuǎn)換電路的使用與其它內(nèi)部接口的使用相同,都是可編程控制的接口,通過程序設(shè)置其工作方式、工作狀態(tài)等。SPCE061A單片機(jī)內(nèi)部有DAC1和DAC2兩路10位的DAC轉(zhuǎn)換器,可以形成雙通道的音頻輸出,也可以作為其它的模擬輸出信號。轉(zhuǎn)換輸出是以模擬電流信號的方式分別通過AUD1和AUD2管腳輸出。</p><p>  3.3.4 音頻輸出電路</p><p>  音頻輸出電路采用凌

46、陽功放芯片SPY0030。電路中SPY0030的放大倍數(shù)被固定為20倍,音量的大小可以通過電位器調(diào)整。喇叭左右兩個(gè)通道音量分立調(diào)節(jié)并備有兩個(gè)外部音頻信號放大輸入端。錄入后的語音信號經(jīng)MIC轉(zhuǎn)換成電信號,由隔直電容隔掉直流成分,然后輸入至SPCE061A內(nèi)部前置放大器,經(jīng)過2路10位精度的DA轉(zhuǎn)換后,通過功放SPY0030A即可完成語音的播放。音頻輸出揚(yáng)聲器驅(qū)動電路圖,如圖3.7。</p><p>  圖3.7 音

47、頻輸出揚(yáng)聲器驅(qū)動電路</p><p>  SPCE061A的音頻輸出有兩種方式,一種是音調(diào)輸出方式(Tone Mode),另一種則為語音輸出方式(Speech Mode),如圖3.8所示。二者的區(qū)別在于其輸出的控制機(jī)理不同。前者是通過控制Timer溢出所產(chǎn)生的不同頻率來決定聲波振動次數(shù)的多少,從而決定發(fā)出的聲音音調(diào)的高低,譬如好聽的樂音;后者則是用與聲音(不論是音樂還是語音)數(shù)據(jù)采樣率相同的速率將聲音數(shù)據(jù)通過數(shù)/

48、模轉(zhuǎn)換(D/A)通道還原成音頻電壓或電流輸出,其中聲音數(shù)據(jù)采樣率可決定聲音音質(zhì)的好壞,并決定了聲音數(shù)據(jù)所需占據(jù)的存儲空間。在本系統(tǒng)設(shè)計(jì)中我采用語音輸出方式,數(shù)據(jù)采樣率采用相同的8KHz。</p><p>  圖3.8 音頻輸出方式硬件實(shí)現(xiàn)圖</p><p>  3.4 W29C040存儲芯片</p><p>  W29C040為32腳DIP封裝芯片,工作電壓為5V,

49、內(nèi)部 512K * 8位的快速閃存,它的結(jié)構(gòu)為256字節(jié)為一頁,每頁的擦寫時(shí)間為5mS,整片擦除時(shí)間為50mS。W29C040寫、擦除流程圖如3.9。 </p><p>  圖3.9 W29C040寫、擦除流程圖</p><p>  3.5 串行設(shè)備輸入輸出口(SIO)</p><p>  SIO的電路連接原理圖如3.10:</p><p>

50、  圖3.10 SIO電路原理圖</p><p>  SIO 的讀寫操作時(shí)序如圖3.11:</p><p>  圖3.11 SIO讀寫操作時(shí)序</p><p>  串行輸出入端口SIO提供了一個(gè)1位的串行接口,用于與其它設(shè)備進(jìn)行數(shù)據(jù)通訊。在SPCE061A內(nèi)通過IOB0和IOB1這2個(gè)口來實(shí)現(xiàn)與設(shè)備進(jìn)行串行交換數(shù)據(jù)的功能。其中,IOB0用來作為時(shí)鐘口(SCK),IO

51、B1則用來作為數(shù)據(jù)端口(SDA),用于串行數(shù)據(jù)的接收或發(fā)送。SIO傳輸速率最快可設(shè)為CPUCLK/4,默認(rèn)值為CPUCLK/16。SPCE061A的SIO速率最快可達(dá)12288KHz。SIO可根據(jù)外設(shè)的差別來選擇不同的尋址模式,有8/16/24位三種尋址模式可選擇。</p><p>  3.6 通用串行通信接口UART模塊</p><p>  為了能使所設(shè)計(jì)的系統(tǒng)能與PC機(jī)進(jìn)行通訊,我選擇

52、了UART模塊來實(shí)現(xiàn)這一功能。UART模塊為系統(tǒng)提供了一個(gè)全雙工標(biāo)準(zhǔn)接口,用于完成SPCE061A與外設(shè)之間的串行通訊。UART的接收信號Rx發(fā)送信號Tx分別是芯片的并行I/ O口IOB7和IOB10共用。借助于IOB口的特殊功能和UART IRQ中斷,可以同時(shí)完成UART接口的接收發(fā)送數(shù)據(jù)的過程。此外,UART還可以通過緩沖來接收數(shù)據(jù)。也就是說,它可以在寄存器數(shù)據(jù)被讀取之前就開始接收新的數(shù)據(jù)。但是,如果新接收的數(shù)據(jù)被送進(jìn)寄存器之前,寄

53、存器內(nèi)的舊數(shù)據(jù)還未被讀走,就會發(fā)生數(shù)據(jù)遺失。</p><p>  UART的硬件電路中需用一個(gè)串口線將SPCE061A在線調(diào)試器的232接口與PC機(jī)端的232接口連接起來,如圖3.12。在設(shè)計(jì)中需要SPCE061A通過UART接口與PC進(jìn)行通訊,因此需要對撥碼開關(guān)S19進(jìn)行設(shè)置,需要將Rx、Tx都撥到高端才能正常通訊(Rx:PC接收數(shù)據(jù),Tx:PC發(fā)送數(shù)據(jù))。擴(kuò)展RS232接口可直接與計(jì)算機(jī)進(jìn)行通信,或者進(jìn)行單片

54、機(jī)之間的雙機(jī)通信。</p><p>  圖3.12 SPCE061A與串口通信原理圖</p><p>  凌陽的SPCE061A的波特率=Fosc/2/Scale,其中Fosc是系統(tǒng)時(shí)鐘頻率,Scale為存儲單元中的10進(jìn)制的整數(shù),所以系統(tǒng)時(shí)鐘頻率越高,傳輸?shù)牟ㄌ芈试礁摺3S玫腢ART的傳輸速率在115200B/s,而SPCE061A的系統(tǒng)時(shí)鐘頻率最高可以到40.96MHz,使其傳輸速率已

55、超過常用的傳輸速率。</p><p>  UART 波特率的計(jì)算公式如下:</p><p>  當(dāng)Fosc=49.152MHz,40.960MHz或32.768MHz</p><p>  波特率=(Fosc/4 )/Scale (3.6.1)</p><p>

56、;  當(dāng)Fosc=24.576MHz或20.480MHz</p><p>  波特率=(Fosc/2)/Scale (3.6.2)</p><p>  由此可得出Scale的值(Scale為7024H單元和7025H單元組成的十進(jìn)制整數(shù))。</p><p><b>  

57、第4章 軟件設(shè)計(jì)</b></p><p>  4.1 凌陽音頻介紹</p><p>  4.1.1 音頻概述</p><p>  我們所說的音頻是指頻率在20 Hz~20 kHz的聲音信號,分為:波形聲音、語音和音樂三種,其中波形聲音就是自然界中所有的聲音,是聲音數(shù)字化的基礎(chǔ)。語音也可以表示為波形聲音,但波形聲音表示不出語言、語音學(xué)的內(nèi)涵。語音是對講話聲

58、音的一次抽象。是語言的載體,是人類社會特有的一種信息系統(tǒng),是社會交際工具的符號。音樂與語音相比更規(guī)范一些,是符號化了的聲音。但音樂不能對所有的聲音進(jìn)行符號化。樂譜是符號化聲音的符號組,表示比單個(gè)符號更復(fù)雜的聲音信息內(nèi)容。 </p><p>  4.1.2 數(shù)字音頻的采樣和量化及格式介紹 </p><p>  將模擬的(連續(xù)的)聲音波形數(shù)字元化(離散化),以便利數(shù)字計(jì)算機(jī)進(jìn)行處理的過程,主要

59、包括采樣和量化兩個(gè)方面。 </p><p>  數(shù)字音頻的質(zhì)量取決于:采樣頻率和量化位數(shù)這兩個(gè)重要參數(shù)。此外,聲道的數(shù)目、相應(yīng)的音頻設(shè)備也是影響音頻質(zhì)量的原因。 </p><p>  音頻文件通常分為兩類:聲音文件和MIDI文件 </p><p>  (1)聲音文件:指的是通過聲音錄入設(shè)備錄制的原始聲音,直接記錄了真實(shí)聲音的二進(jìn)制采樣數(shù)據(jù),通常文件較大; </

60、p><p> ?。?)MIDI文件:它是一種音樂演奏指令序列,相當(dāng)于樂譜,可以利用聲音輸出設(shè)備或與計(jì)算機(jī)相連的電子樂器進(jìn)行演奏,由于不包含聲音數(shù)據(jù),其文件尺寸較小。 </p><p>  4.1.3 語音壓縮編碼基礎(chǔ) </p><p>  語音壓縮編碼中的數(shù)據(jù)量是指:數(shù)據(jù)量=(采樣頻率x量化位數(shù))/8(字節(jié)數(shù)) x聲道數(shù)目。壓縮編碼的目的:通過對資料的壓縮,達(dá)到高效率存

61、儲和轉(zhuǎn)換資料的結(jié)果即在保證一定聲音質(zhì)量的條件下,以最小的資料率來表達(dá)和傳送聲音信息。壓縮編碼的必要性:實(shí)際應(yīng)用中,壓縮編碼的音頻資料量很大,進(jìn)行傳輸或存儲資料量是不現(xiàn)實(shí)的。所以要通過對信號趨勢的預(yù)測和冗余信息處理,進(jìn)行資料的壓縮,這樣就可以使我們用較少的資源建立更多的信息。舉個(gè)例子,沒有壓縮過的CD品質(zhì)的資料,一分鐘的內(nèi)容需要11MB的內(nèi)存容量來存儲。如果將原始資料進(jìn)行壓縮處理,在確保聲音品質(zhì)不失真的前提下,將數(shù)據(jù)壓縮一半,5.5MB就

62、可以完全還原效果。而在實(shí)際操作中,可以依需要來選擇合適的算法。 </p><p>  常見的幾種音頻壓縮編碼: </p><p>  (1)波形編碼:將時(shí)間域信號直接變換為數(shù)字代碼,力圖使重建語音波形保持原語音信號的波形形狀。波形編碼的基本原理是在時(shí)間軸上對模擬語音按一定的速率抽樣,然后將幅度樣本分層量化,并用代碼表示。譯碼是其反過程,將收到的數(shù)字序列經(jīng)過譯碼和濾波恢復(fù)成模擬信號。 <

63、;/p><p>  如:脈沖編碼調(diào)制(pulse code modulation,PCM)、差值脈沖編碼調(diào)制(DPCM)、增量調(diào)制(DM)以及它們的各種改進(jìn)型自適應(yīng)差分編碼(ADPCM)、自適應(yīng)增量調(diào)制(ADM)、自適應(yīng)差值脈沖編碼調(diào)制(ADPCM) 、自適應(yīng)傳輸編碼(Adaptive Transfer Coding,ATC)和子帶編碼(SBC)等都屬于波形編碼技術(shù)。 </p><p>  波

64、形編碼特點(diǎn):高話音質(zhì)量、高碼率,適于高保真音樂及語音。 </p><p>  (2) 參數(shù)編碼:參數(shù)編碼又稱為聲源編碼,是將信源信號在頻率域或其它正交變換域提取特征參數(shù),并將其變換成數(shù)字代碼進(jìn)行傳輸。譯碼為其反過程,將收到的數(shù)字序列經(jīng)變換恢復(fù)特征參量,再根據(jù)特征參量重建語音信號。具體說,參數(shù)編碼是通過對語音信號特征參數(shù)的提取和編碼,力圖使重建語音信號具有盡可能高的準(zhǔn)確性,但重建信號的波形同原語音信號的波形可能會有

65、相當(dāng)大的差別 。參數(shù)編碼特點(diǎn):壓縮比大,計(jì)算量大,音質(zhì)不高,廉價(jià)! </p><p>  (3)混合編碼:混合編碼使用參數(shù)編碼技術(shù)和波形編碼技術(shù),計(jì)算機(jī)的發(fā)展為語音編碼技術(shù)的研究提供了強(qiáng)有力的工具,大規(guī)模、超大規(guī)模集成電路的出現(xiàn),則為語音編碼的實(shí)現(xiàn)提供了基礎(chǔ)。80年代以來,語音編碼技術(shù)有了實(shí)質(zhì)性的進(jìn)展,產(chǎn)生了新一代的編碼算法,這就是混合編碼。它將波形編碼和參數(shù)編碼組合起來,克服了原有波形編碼和參數(shù)編碼的弱點(diǎn),結(jié)合

66、各自的長處,力圖保持波形編碼的高質(zhì)量和參數(shù)編碼的低速率。 如:多脈沖激勵(lì)線性預(yù)測編碼(MPLPC),規(guī)劃脈沖激勵(lì)線性預(yù)測編碼(KPELPC),碼本激勵(lì)線性預(yù)測編碼(CELP)等都是屬于混合編碼技術(shù)。其數(shù)據(jù)率和音質(zhì)介于參數(shù)和波形編碼之間。 </p><p>  總之,音頻壓縮技術(shù)之趨勢有兩個(gè): </p><p>  1)降低資料率,提高壓縮比,用于廉價(jià)、低保真場合(如:電話)。 </p

67、><p>  2)追求高保真度,復(fù)雜的壓縮技術(shù)(如:CD)。</p><p>  4.2 軟件設(shè)計(jì)流程圖</p><p>  在軟件設(shè)計(jì)上,由于語音資源存放在外擴(kuò)存儲器W29C040上,只能采用手動的方式播放語音。在主函數(shù)中首先初始化SIO,這樣可以獲得存儲在W29C040上的語音資源的起始地址與結(jié)束地址,這樣便于語音控制。另外,需要對圖片的顯示,在播放語音的同時(shí)需要刷

68、新圖片,這樣采用在中斷中填充語音隊(duì)列的方法來實(shí)現(xiàn)。根據(jù)設(shè)計(jì)要求寫出了如下的系統(tǒng)軟件流程圖,如圖4.1:</p><p>  圖4.1 系統(tǒng)軟件流程圖</p><p><b>  4.3 程序代碼</b></p><p>  本軟件系統(tǒng)設(shè)計(jì)簡單。主要是因?yàn)榱桕柕氖粏纹瑱C(jī)開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調(diào)用,且提供豐富的凌陽語音函

69、數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實(shí)現(xiàn)語音的錄放。例如本系統(tǒng)的語音錄入和播放代碼如下:部分程序如下:</p><p>  4.3.1 語音的錄入</p><p>  SP_InitW29C040Flash();</p><p>  SACM_DVR_Initial(Manual);</p><p>  SACM_DVR

70、_InitEncoder(RceMonitorOn);</p><p>  if (SACM_DVR_TestQueue()!= Empty)</p><p><b>  {</b></p><p>  page_buf[n] =SACM_DVR_FetchQueue( );</p><p>  many_data_wr

71、ite(M_AddrH,M_AddrL,page_buf,n); </p><p><b>  }</b></p><p>  4.3.2 語音的播放</p><p>  SP_InitReadW29C040Flash();</p><p>  SACM_DVR_InitDecoder(DAC1+DAC2);</p

72、><p>  if(SACM_DVR_TestQueue()!=Full);</p><p><b>  {</b></p><p>  Ret SP_Read_Data(M_AddrH,M_AddrL++);</p><p>  SACM_DVR_FillQueue(Ret);</p><p> 

73、 SACM_DVR_Decode ();</p><p><b>  }</b></p><p>  上的幾條簡單語句調(diào)用就可以完成語音錄入和播放??梢娛褂檬菢O其方便的。本系統(tǒng)底層驅(qū)動部分包括W29C040的讀寫、擦除使用的是匯編語言編寫的。上層部分包括語音的錄放是由C語言完成的。提供獨(dú)立的W29C040的讀、寫、擦除代碼模塊。可供W29C系列芯片的驅(qū)動。</p

74、><p>  4.3.3 SACM-DVR相關(guān)的API函數(shù)</p><p>  int SACM_DVR_Initial(int Init_Index);</p><p>  void SACM_DVR_ServiceLoop(void);</p><p>  void SACM_DVR_Encode(void);</p><

75、p>  void SACM_DVR_StopEncoder(void);</p><p>  void SACM_DVR_InitEncoder(RceMonitorOn);</p><p>  void SACM_DVR_Stop(void);</p><p>  void SACM_DVR_Play(void);</p><p> 

76、 int SACM_DVR _Status(void);</p><p>  void SACM_DVR _InitDecode(void);</p><p>  void SACM_DVR _Decode(void);</p><p>  void SACM_DVR_StopDecoder();</p><p>  unsigned int

77、 SACM_DVR _ TestQueue(void);</p><p>  int SACM_DVR _Fetchqueue(void);</p><p>  void SACM_DVR_FillQueue(unsigned int encoded-data);</p><p>  int GetResource(long Address);</p>

78、<p><b>  結(jié)論</b></p><p>  本次論文的設(shè)計(jì)選用的是凌陽的SPCE061A型單片機(jī)因?yàn)槠渚哂畜w積小,集成度高,易擴(kuò)展,可靠性高,功耗低,結(jié)構(gòu)簡單,中斷處理能力強(qiáng)等特點(diǎn),內(nèi)嵌32K字內(nèi)存FLASH,處理速度高,特別適應(yīng)于數(shù)字語音錄放和語音識別等數(shù)字應(yīng)用領(lǐng)域,是數(shù)字語音識別和語音信號處理,個(gè)人數(shù)字設(shè)備的理想產(chǎn)品,得到了廣泛的應(yīng)用。</p><

79、;p>  本次軟件系統(tǒng)設(shè)計(jì)簡單,也主要是因?yàn)榱桕柕氖粏纹瑱C(jī)開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調(diào)用,且提供豐富的凌陽語音函數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實(shí)現(xiàn)語音的錄放。同理硬件方面的設(shè)計(jì)也能根據(jù)其原理成功的設(shè)計(jì)出來,只是不足的是在沒有外加W29C040的擴(kuò)展部分時(shí)可能會存在I/O口不足和語音識別的等問題,考慮到這些問題,為了解決這些問題,因此在本次的設(shè)計(jì)當(dāng)中我們用了W29C040,它能夠解決

80、所有IO不夠用的問題,同時(shí)其有4M位的FLASH存儲芯片,利用它存儲凌陽格式的語音資源,可以長達(dá)4分鐘語音錄放,因此也達(dá)到了我們設(shè)計(jì)的目的及要求。</p><p>  這次畢業(yè)設(shè)計(jì)是對四年本科學(xué)習(xí)知識的綜合應(yīng)用,通過做畢業(yè)設(shè)計(jì),本人不但對以前所學(xué)的知識加深了理解,而且提高了自己的動手實(shí)踐能力、分析問題和解決問題的能力以及創(chuàng)新能力,在具體應(yīng)用當(dāng)中還培養(yǎng)了自己科學(xué)的設(shè)計(jì)思維和嚴(yán)謹(jǐn)?shù)墓ぷ髯黠L(fēng)。從確定任務(wù)開始,本人認(rèn)真學(xué)

81、習(xí)了相關(guān)理論,學(xué)習(xí)了他人的經(jīng)驗(yàn)。并具體分析了所選用方案的市場價(jià)值和應(yīng)用價(jià)值,同時(shí)還考慮到系統(tǒng)中一些設(shè)備成本以及學(xué)校資源方面的因素,以此確定了設(shè)計(jì)方案。</p><p>  畢業(yè)設(shè)計(jì)對于我們這些即將走向工作崗位的畢業(yè)生,可以說是一次極好的鍛煉機(jī)會,它能為我們今后走入社會更好地工作打下良好的基礎(chǔ)。這次畢業(yè)設(shè)計(jì)能夠取得成功是老師的精心指導(dǎo)和自己努力的結(jié)果?!坝龅嚼щy毫不放棄,堅(jiān)持不懈是成功之本”是本人的深切體會。<

82、;/p><p><b>  參考文獻(xiàn)</b></p><p>  [1]歐偉明.何靜.凌云等編著.單片機(jī)原理與應(yīng)用[M].電子工業(yè)出版社,2009:247-251.</p><p>  [2]姜志玲.用凌陽單片機(jī)實(shí)現(xiàn)多路數(shù)據(jù)采集與傳輸系統(tǒng)[J].西華大學(xué)學(xué)報(bào).2005.</p><p>  [3]吳大正.信號與線性系統(tǒng)分析(

83、第4版)[M].北京:高等教育出版社,2005.</p><p>  [4]孟憲超.數(shù)碼錄音筆原理及應(yīng)用[J].信息時(shí)代導(dǎo)刊,2004.</p><p>  [5]楊行峻,遲惠生.語音信號數(shù)字處理[M].北京:電子工業(yè)出版社,第1版.</p><p>  [6]吳鎮(zhèn)揚(yáng).數(shù)字信號處理[M].北京:高等教育出版社,2004:187-193.</p><

84、;p>  [7]胡隆,許靜波.錄音、調(diào)音與音響技術(shù)[M].北京:北京工業(yè)大學(xué)出版社,第1版.</p><p>  [8]張福學(xué).傳感器應(yīng)用及電路精選[M].北京:電子工業(yè)出版社,1995.</p><p>  [9]鄧元慶.數(shù)字電路與邏輯設(shè)計(jì)[M].北京:電子工業(yè)出版社,2001.</p><p>  [10]康華光,陳大欽,張林.電子技術(shù)基礎(chǔ)(模擬部分)[M

85、].北京:高等教育出版社,第5版,2006:412-464.</p><p>  [11]康華光,鄒壽彬,秦臻.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M].北京:高等教育出版社,第5版,2006:444-456.</p><p>  [12]邱關(guān)源.電路[M].北京:高等教育出版社,第4版,1999:210-216.</p><p>  [13]王素珍.田振清.用ISP實(shí)現(xiàn)對I

86、SD25120語音芯片的錄放音控制[J].電聲技術(shù).2002.</p><p>  [14]王竹便.錄音技術(shù)與技巧淺議[J].科技開發(fā)情報(bào)與經(jīng)濟(jì),2005.</p><p>  [15]John Markus.電子電路大全[M].北京:計(jì)量出版社,1995.</p><p>  [16]金保華,黃維萍.鄭州輕工業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版)[J].第17卷,第01期.&l

87、t;/p><p>  [17]譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,第3版.</p><p>  [18] ISD/Winbond.ISD4003-04Mdatasheet[Z],2000.</p><p><b>  致謝</b></p><p>  在這次畢業(yè)設(shè)計(jì)中,彭華廈老師給了我很大的幫助。從查閱文獻(xiàn)到課題

88、分析,從設(shè)計(jì)到論文撰寫,彭老師都不厭其煩地解答我提出的各種問題,并給予我很多指導(dǎo)。在彭老師的指導(dǎo)下,我學(xué)會了如何快速地適應(yīng)一個(gè)新的領(lǐng)域、掌握它的知識并靈活地運(yùn)用它,懂得了學(xué)習(xí)要講究方法,對于做設(shè)計(jì)和研究更是如此。在此,我衷心感謝彭老師對我的幫助。他對我的嚴(yán)格要求以及為人的誠懇都將使我終身受益。</p><p>  同時(shí)要特別感謝幫助的我的朋友,他們在學(xué)習(xí)和生活中也都給了我無私的幫助,讓我學(xué)到很多。他們是我學(xué)習(xí)和生

89、活上的伙伴,也是面對困難和挑戰(zhàn)時(shí)的戰(zhàn)友。</p><p>  感謝湖南工業(yè)大學(xué)的老師們,謝謝他們這四年來對我的教育,讓我懂得了如何做事,更讓我明白了如何做人。</p><p>  最后,衷心的感謝在百忙之中抽出時(shí)間審閱論文和參與我們答辯的專家教授老師們。</p><p>  學(xué)生簽名: </p><p>  日 期:

90、 </p><p><b>  附錄</b></p><p><b>  源程序代碼:</b></p><p>  #include "dvr.h"</p><p>  #defineSRAM_Size0x1ffff-4</p><p>  #def

91、ineStop0</p><p>  #defineRecord1</p><p>  #define Play2</p><p>  #defineFull1</p><p>  #defineEmpty2</p><p>  #defineDAC11</p>

92、<p>  #define DAC22</p><p>  #defineRceMonitorOff0</p><p>  #defineRceMonitorOn1</p><p>  #define Manual0</p><p>  #defineAuto1</p><p>

93、;  unsigned int aWriteData[130];</p><p>  unsigned int ReadData=0;</p><p>  unsigned int G_TestValue=0;</p><p>  unsigned int Write256BytesFlag=0;</p><p>  unsigned int

94、 Addr_Counter=0;</p><p>  unsigned int Addr_Counter_Tmp=0;</p><p>  unsigned int Key, Mode, Status;</p><p>  unsigned long int Addr, Addr_Save;</p><p>  unsigned long

95、int Addr_Long;</p><p>  unsigned long int yxh=0;</p><p>  unsigned int Write_W29C040_Status_Check(unsigned long int,unsigned int);</p><p>  int main()</p><p><b&g

96、t;  {</b></p><p>  unsigned int abin=0;</p><p>  unsigned int i=0,j=0;</p><p>  Mode = Manual;</p><p>  System_Initial();</p><p>  SACM_DVR_Initial(M

97、ode); </p><p>  Status = Stop; </p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  Key=();</b></p><p>  Key=GetKe

98、yScanValue();</p><p><b>  if(Key>0)</b></p><p><b>  {</b></p><p>  switch(Key)</p><p><b>  {</b></p><p>  case 0x00

99、:</p><p><b>  break;</b></p><p>  case 0x01:</p><p>  Status = Record;</p><p>  Addr = 0;</p><p>  Addr_Counter_Tmp=0;</p><p>  S

100、P_InitWriteSRAM(); </p><p>  SP_InitW29C040Flash(); </p><p>  SP_InitWriteW29C040Flash();</p><p>  SACM_DVR_InitQueue();</p><p>  SACM_DVR_InitEncoder(RceMonitorOn);<

101、;/p><p><b>  break;</b></p><p>  case 0x02:</p><p>  case 0x04:</p><p>  switch(Status)</p><p><b>  {</b></p><p>  case R

102、ecord:</p><p>  SACM_DVR_Stop();</p><p>  while(SACM_DVR_TestQueue() != Empty)</p><p><b>  {</b></p><p>  Ret = SACM_DVR_FetchQueue();</p><p> 

103、 SP_WriteSRAM(Addr,Ret);</p><p>  SP_InitWriteW29C040Flash(); </p><p>  SP_Write_W29C040_One_Word(Addr,Ret);</p><p>  Addr += 2;</p><p><b>  }</b></p>

104、<p>  SP_WriteSRAM(Addr,0xFFFF);</p><p>  SP_InitWriteW29C040Flash(); </p><p>  SP_Write_W29C040_One_Word(Addr,0xFFFF);</p><p>  Addr += 2;</p><p>  SP_WriteSRA

105、M(Addr,0x00FF);</p><p>  SP_InitWriteW29C040Flash();</p><p>  SP_Write_W29C040_One_Word(Addr,0x00FF);</p><p><b>  break;</b></p><p>  case Play:</p>

106、<p>  SACM_DVR_Stop();</p><p><b>  break;</b></p><p><b>  }</b></p><p>  Status = Stop;</p><p><b>  break;</b></p><p

107、>  case 0x04:</p><p>  case 0x02:</p><p>  SACM_DVR_Stop();</p><p>  if(Status == Record) </p><p><b>  {</b></p><p>  while(SACM_DVR_TestQue

108、ue() != Empty)</p><p><b>  {</b></p><p>  aWriteData[Addr_Counter_Tmp] = SACM_DVR_FetchQueue();</p><p>  Addr_Counter_Tmp++;</p><p>  SP_WriteSRAM(Addr,Ret

109、);</p><p>  SP_InitWriteW29C040Flash(); </p><p>  if(Addr_Counter_Tmp==128)</p><p><b>  {</b></p><p>  if(Write256BytesFlag==1)</p><p><b>

110、;  {</b></p><p>  while(Write_W29C040_Status_Check(Addr,G_TestValue)==0);</p><p><b>  }</b></p><p>  for(i=0;i<128;i++)</p><p><b>  {</b&g

111、t;</p><p>  SP_Write_W29C040_One_Word(Addr,aWriteData[i]);</p><p>  Addr += 2;</p><p><b>  }</b></p><p>  G_TestValue=aWriteData[127];</p><p> 

112、 Addr_Counter_Tmp=0;</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(Addr_Counter_Tmp<0x0080)</p><p><b>  {</b></p><p&

113、gt;  if(Write256BytesFlag==1)</p><p><b>  {</b></p><p>  while(Write_W29C040_Status_Check(Addr,G_TestValue)==0);</p><p><b>  }</b></p><p>  for(

114、i=0;i<Addr_Counter_Tmp;i++)</p><p><b>  {</b></p><p>  SP_Write_W29C040_One_Word(Addr,aWriteData[i]);</p><p>  Addr += 2;</p><p><b>  }</b>&l

溫馨提示

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

評論

0/150

提交評論