本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)_第1頁
本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)_第2頁
本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)_第3頁
本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)_第4頁
本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、I摘要本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)采樣、儲存、回放以及數(shù)據(jù)串行上傳、下載功能。系統(tǒng)通過話筒錄入語音數(shù)據(jù),經(jīng)過濾波電路、采樣保持電路、A/D轉(zhuǎn)換器后將模擬信號轉(zhuǎn)換為數(shù)字信號,由單片機控制將信號儲存在RAM中。在需要回放時,再由單片機控制提取RAM中的數(shù)據(jù),通過D/A轉(zhuǎn)換器將數(shù)字信號轉(zhuǎn)換為模擬信號,通過功率放大器將語音信號還原后回放出來。同時系統(tǒng)將按鍵與液晶顯示器配合,可以達到對系統(tǒng)的實時控制。在軟件設(shè)計上,系統(tǒng)采用C語言進行模塊設(shè)計。同時,系統(tǒng)還通過串口中斷和下載線,使得系統(tǒng)擁有上串和下載功能。實驗表明系統(tǒng)設(shè)計合理可靠,滿足設(shè)計要求。關(guān)鍵詞:語音,數(shù)據(jù)采集,回放,轉(zhuǎn)換器AbstractThis syst

2、em has realized the voice acquisition, the storage and playback. As well as it has realized the datas serial upload and download. The system uses the microphone input voice. Then the analog signal through the filter circuit, the sampling maintenance electric circuit and the A/D switch, is transforme

3、d into the digital signal and is stored in RAM. When this system needs to playback, data is gotten from RAM, and it transforms into the analog signal through the D/A switch. Moreover through the power amplifier, the voice signal can be recovered. Simultaneously the system realizes real-time control

4、with key and liquid-crystal display. The system uses the C language make the module design. At the same time, the system also through the serial port and the download line enables it has the upload and download function. The experiment indicates the design is reliable, satisfies the design request.K

5、ey words: Voice, Data acquisition, Playback, Converter III目錄 TOC o 1-3 h z u HYPERLINK l _Toc326663369 摘要 PAGEREF _Toc326663369 h I HYPERLINK l _Toc326663370 Abstract PAGEREF _Toc326663370 h II HYPERLINK l _Toc326663371 1 緒論 PAGEREF _Toc326663371 h 1 HYPERLINK l _Toc326663372 1.1 課題背景 PAGEREF _Toc32

6、6663372 h 1 HYPERLINK l _Toc326663373 1.2 發(fā)展現(xiàn)狀 PAGEREF _Toc326663373 h 1 HYPERLINK l _Toc326663374 1.3 課題意義 PAGEREF _Toc326663374 h 2 HYPERLINK l _Toc326663375 1.4 本文結(jié)構(gòu) PAGEREF _Toc326663375 h 2 HYPERLINK l _Toc326663376 2 系統(tǒng)方案分析 PAGEREF _Toc326663376 h 3 HYPERLINK l _Toc326663377 2.1 系統(tǒng)功能簡介 PAGEREF

7、 _Toc326663377 h 3 HYPERLINK l _Toc326663378 2.2 系統(tǒng)硬件部分分析 PAGEREF _Toc326663378 h 3 HYPERLINK l _Toc326663379 2.2.1 CPU部分 PAGEREF _Toc326663379 h 3 HYPERLINK l _Toc326663380 2.2.2 顯示方案部分 PAGEREF _Toc326663380 h 7 HYPERLINK l _Toc326663381 2.2.3 數(shù)據(jù)存儲器部分 PAGEREF _Toc326663381 h 8 HYPERLINK l _Toc32666

8、3382 2.2.4 模數(shù)轉(zhuǎn)換器部分 PAGEREF _Toc326663382 h 10 HYPERLINK l _Toc326663383 2.2.5 數(shù)模轉(zhuǎn)換器部分 PAGEREF _Toc326663383 h 13 HYPERLINK l _Toc326663384 2.2.6 語音處理模擬部分 PAGEREF _Toc326663384 h 15 HYPERLINK l _Toc326663385 2.3 系統(tǒng)軟件部分分析 PAGEREF _Toc326663385 h 15 HYPERLINK l _Toc326663386 3 系統(tǒng)硬件設(shè)計 PAGEREF _Toc326663

9、386 h 17 HYPERLINK l _Toc326663387 3.1 系統(tǒng)總體設(shè)計 PAGEREF _Toc326663387 h 17 HYPERLINK l _Toc326663388 3.2 語音系統(tǒng)設(shè)計 PAGEREF _Toc326663388 h 18 HYPERLINK l _Toc326663389 3.2.1 語音采集原理 PAGEREF _Toc326663389 h 18 HYPERLINK l _Toc326663390 3.2.2 濾波電路 PAGEREF _Toc326663390 h 19 HYPERLINK l _Toc326663391 3.3 系統(tǒng)控

10、制部分結(jié)構(gòu) PAGEREF _Toc326663391 h 20 HYPERLINK l _Toc326663392 3.4 復(fù)位電路 PAGEREF _Toc326663392 h 21 HYPERLINK l _Toc326663393 3.5 振蕩電路 PAGEREF _Toc326663393 h 22 HYPERLINK l _Toc326663394 3.6 存儲器接口設(shè)計 PAGEREF _Toc326663394 h 24 HYPERLINK l _Toc326663395 3.7 液晶顯示器總線方式驅(qū)動接口設(shè)計 PAGEREF _Toc326663395 h 25 HYPER

11、LINK l _Toc326663396 3.7.1 LCD1602的基本操作時序 PAGEREF _Toc326663396 h 25 HYPERLINK l _Toc326663397 3.7.2 RAM地址映射 PAGEREF _Toc326663397 h 26 HYPERLINK l _Toc326663398 3.7.3 指令說明 PAGEREF _Toc326663398 h 27 HYPERLINK l _Toc326663399 3.7.4 初始化過程 PAGEREF _Toc326663399 h 27 HYPERLINK l _Toc326663400 3.7.5 數(shù)據(jù)R

12、AM讀寫 PAGEREF _Toc326663400 h 28 HYPERLINK l _Toc326663401 3.7.6 1602與89C52的接線方式 PAGEREF _Toc326663401 h 28 HYPERLINK l _Toc326663402 3.8 系統(tǒng)外圍器件設(shè)計 PAGEREF _Toc326663402 h 29 HYPERLINK l _Toc326663403 3.8.1 數(shù)模轉(zhuǎn)換器 PAGEREF _Toc326663403 h 29 HYPERLINK l _Toc326663404 3.8.2 模數(shù)轉(zhuǎn)換器 PAGEREF _Toc326663404 h

13、30 HYPERLINK l _Toc326663405 3.8.3 電平轉(zhuǎn)換器件 PAGEREF _Toc326663405 h 30 HYPERLINK l _Toc326663406 3.9 語音處理模擬部分設(shè)計 PAGEREF _Toc326663406 h 32 HYPERLINK l _Toc326663407 4 系統(tǒng)軟件設(shè)計 PAGEREF _Toc326663407 h 36 HYPERLINK l _Toc326663408 4.1 程序流程圖 PAGEREF _Toc326663408 h 36 HYPERLINK l _Toc326663409 4.2 程序代碼 PAG

14、EREF _Toc326663409 h 38 HYPERLINK l _Toc326663410 5 所用軟件介紹 PAGEREF _Toc326663410 h 39 HYPERLINK l _Toc326663411 5.1 Proteus PAGEREF _Toc326663411 h 39 HYPERLINK l _Toc326663412 5.2 Keil PAGEREF _Toc326663412 h 39 HYPERLINK l _Toc326663413 結(jié)論 PAGEREF _Toc326663413 h 41 HYPERLINK l _Toc326663414 參考文獻

15、PAGEREF _Toc326663414 h 42 HYPERLINK l _Toc326663415 致謝 PAGEREF _Toc326663415 h 43 HYPERLINK l _Toc326663416 附錄A PAGEREF _Toc326663416 h 43 HYPERLINK l _Toc326663417 附錄B PAGEREF _Toc326663417 h 53 1 緒論1.1 課題背景語音處理是數(shù)字信號處理最活躍的研究方向之一,它是信息高速公路、多媒體技術(shù)、辦公自動化、現(xiàn)代通信及職能系統(tǒng)等新興領(lǐng)域應(yīng)用的核心技術(shù)之一。用數(shù)字化的方法進行語音的傳送、存儲、分析、識別、

16、合成、增強等是整個數(shù)字化通信網(wǎng)中的最重要、最基本的組成部分之一 。一個完備的語音信號處理系統(tǒng)不但要具有語音信號的采集和回放功能, 還要能夠進行復(fù)雜的語音信號分析和處理。通常這些信號處理算法的運算量很大, 而且又要滿足實時的快速高效處理要求, 隨著單片機技術(shù)的發(fā)展, 以單片機為內(nèi)核的設(shè)備越來越多。為語音信號的處理提供了優(yōu)質(zhì)可靠的平臺。軟件編程的靈活性給很多設(shè)備增加不同的功能提供了方便, 利用軟件在已有的硬件平臺上實現(xiàn)不同的功能已成為一種趨勢。1.2 發(fā)展現(xiàn)狀語音信號是最重要的信息載體之一。隨著計算機多媒體技術(shù),網(wǎng)絡(luò)通信技術(shù)和嵌入式系統(tǒng)技術(shù)的飛速發(fā)展,語音的數(shù)字通信得到越來越多的應(yīng)用,語音信號的數(shù)

17、字化一直是通信發(fā)展的主要方向之一,語音的數(shù)字通信和模擬通信相比,無疑有著更大的優(yōu)越性,這主要體現(xiàn)在以下幾個方面:數(shù)字語音比模擬語音具有更好的話音質(zhì)量;具有更強的抗干擾性,并易于加密;可節(jié)省帶寬,能更有效的利用網(wǎng)絡(luò)資源;更加易于存儲和處理。最簡單的數(shù)字化就是直接對原始語音信號進行A/D 轉(zhuǎn)換,但這樣得到的語音的數(shù)據(jù)量非常大。為了減少語音信號所占用的帶寬或存儲空間,就必須對數(shù)字語音信號進行壓縮編碼。在通信越來越發(fā)達的當(dāng)今世界,尤其最近幾十年,語音壓縮編碼技術(shù)在移動通信、IP 電話通信、保密通信、衛(wèi)星通信以及語音存儲等很多方面得到了廣泛的應(yīng)用。因此,語音編碼一直是通信和信號處理的研究熱點,并其取得了

18、驚人的進展,目前在PC 機上的語音編碼已經(jīng)趨于成熟,而如何在嵌入式系統(tǒng)中實時實現(xiàn)語音壓縮編碼則是近些年來語音信號處理領(lǐng)域的研究熱點之一。語音信號處理在手持設(shè)備、移動設(shè)備和無線個人設(shè)備中的應(yīng)用正在不斷增加。今天的個人手持設(shè)備語音大多時候僅僅局限于語音撥號,但是已經(jīng)出現(xiàn)了適用于更廣泛開發(fā)語音識別和文本到語音應(yīng)用的技術(shù)。語音功能為用戶提供自然的輸入和輸出方式,它比其他形式的I/O更安全,尤其是當(dāng)用戶在開車期間。在大多數(shù)應(yīng)用中,語音都是鍵盤和顯示器的理想補充。其他潛在的語音應(yīng)用包括如下幾個方面。1)語音電子郵件。包括瀏覽郵箱、利用語音輸入寫電子郵件以及收聽電子郵件的讀出。2)信息檢索。股票價格、標(biāo)題新

19、聞、航班信息、天氣預(yù)報等都可以通過語音從互聯(lián)網(wǎng)收聽。例如,用戶不用先進入某個網(wǎng)址并輸入股票名字或者瀏覽預(yù)定義列表,可以通過語音命令實現(xiàn)。3)語音瀏覽。利用語音程序菜單,用戶可以在網(wǎng)上沖浪、添加語音收藏夾并收聽網(wǎng)頁內(nèi)容的讀出。4)語音導(dǎo)航。在自動和人眼不夠用的條件下獲取導(dǎo)航的完全語音輸入/輸出駕駛系統(tǒng)。語音信號的傳輸和存儲是語音信號的基本要求。對語音信號的傳輸,希望是傳輸?shù)乃俣缺M量快,傳輸質(zhì)量盡量高;對語音信號的存儲,希望存儲的空間盡量小,存儲的信息盡量多。這兩個方面的要求,促進了語音編碼的產(chǎn)生。語音編碼算法可以解決語音傳輸和和存儲的問題。所以,研究語音編碼算法,也具有十分重要的價值,是目前語音

20、信號處理最廣泛的算法。1.3 課題意義生活中,聲音信號無處不在,同時也包含著大量的信息,可聲音這種東西稍縱即逝,看不到,抓不住,這就往往讓我們與一些重要的信息失之交臂。在某些情況下,我們需要記錄一些語音中所包含的信息,但語音傳出的速度是相對較快的,因此,就需要一種語音采集系統(tǒng)來采集語音數(shù)據(jù),進行保存回放。該題目的目的在于設(shè)計一個語音數(shù)據(jù)采集系統(tǒng),實現(xiàn)語音數(shù)據(jù)采集、存儲、回放以及數(shù)據(jù)串行上傳、下載功能,并最終做出實物。通過本次設(shè)計,掌握單片機的實際應(yīng)用,鍛煉自己的動手能力和運用理論知識的能力,培養(yǎng)嚴肅認真的工作態(tài)度。1.4 本文結(jié)構(gòu)首先對整體系統(tǒng)做出初步分析,再對各個部分進行詳細分析。然后是系統(tǒng)

21、硬件部分的設(shè)計,包括采集系統(tǒng)、控制電路、外部存儲器、液晶顯示器、模數(shù)和數(shù)模轉(zhuǎn)換器等外圍器件及語音處理部分。再然后是程序設(shè)計,最后是系統(tǒng)的調(diào)試仿真。2 系統(tǒng)方案分析2.1 系統(tǒng)功能簡介本系統(tǒng)實現(xiàn)了語音數(shù)據(jù)采樣、存儲、回放以及串行上傳、下載功能。系統(tǒng)結(jié)構(gòu)圖如下:RAM單片機模擬信號采集接口ADC鍵盤模擬功放接口DACLCD串行通信電平轉(zhuǎn)換接口圖 2.1 系統(tǒng)結(jié)構(gòu)圖2.2 系統(tǒng)硬件部分分析2.2.1 CPU部分本次所設(shè)計的系統(tǒng)是基于單片機完成的,所謂單片機(Single Chip Microcomputer),是指在一塊芯片中集成有中央處理器(CPU)、存儲器(RAM 和 ROM)、基本 I/O 接

22、口以及定時器/計數(shù)器等部件,并具有獨立指令系統(tǒng)的智能器件,即在一塊芯片上實現(xiàn)一臺微型計算機的基本功能。如果是簡單控制對象,只需利用單片機作為控制核心,不需另外增加外部設(shè)備就能完成。對于較復(fù)雜的系統(tǒng),只需對單片機進行適當(dāng)擴展即可,十分方便。歸納起來,單片機及應(yīng)用系統(tǒng)有以下特點:1)單片機具有獨立的指令系統(tǒng),可以將我們的設(shè)計思想充分體現(xiàn)出來。2)系統(tǒng)配置以滿足控制對象的要求為出發(fā)點,使得系統(tǒng)具有較高的性能價格比。 3)應(yīng)用系統(tǒng)通常將程序駐留在片內(nèi)(外)ROM 中,抗干擾能力強,可靠性高,使用方便。 4)由于系統(tǒng)規(guī)模較小,其本身不具有自我開發(fā)能力,一般需借助專用的開發(fā)工具進行系統(tǒng)開發(fā)和調(diào)試,而實際應(yīng)

23、用系統(tǒng)簡單實用,成本低,效益好。 5)應(yīng)用系統(tǒng)所用存儲器芯片可選用 EPROM、E2PROM、OTP 芯片或利用掩膜形式生產(chǎn),便于批量開發(fā)和應(yīng)用。許多單片機(如 80C51 系列)的開發(fā)芯片和擴展應(yīng)用芯片相互配套,降低了系統(tǒng)成本。 6)由于系統(tǒng)小巧玲瓏,控制功能強、體積小,便于嵌入被控設(shè)備之內(nèi),大大推動了產(chǎn)品的智能化。如數(shù)控機床、機器人、智能儀器儀表、洗衣機、電冰箱、電視機等都是典型的機電一體化設(shè)備和產(chǎn)品。單片機自動完成賦予它的任務(wù)的過程,也就是單片機執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的,一

24、條指令對應(yīng)著一種基本操作;單片機所能執(zhí)行的全部指令,就是該單片機的指令系統(tǒng),不同種類的單片機,其指令系統(tǒng)亦不同。為使單片機能自動完成某一特定任務(wù),必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執(zhí)行的指令),這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲功能的部件存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其

25、中存儲的指令就可以被取出,然后再被執(zhí)行。 程序通常是順序執(zhí)行的,所以程序中的指令也是一條條順序存放的,單片機在執(zhí)行程序時要能把這些指令一條條取出并加以執(zhí)行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數(shù)器PC(包含在CPU中),在開始執(zhí)行程序時,給PC賦以程序中第一條指令所在的地址,然后取得每一條要執(zhí)行的命令,PC之中的內(nèi)容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執(zhí)行。本次采用的單片機型號為STC89C52,STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。在單芯片上,擁有靈

26、巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門狗定時器, MAX810復(fù)位電路,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口。另外 STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止,最高運作頻率35Mhz。STC89C

27、52封裝圖如下:圖 2.2 STC89C52封裝圖STC89C52引腳功能說明如下:Vss(20)-接地(GND)電源信號。Vcc(40)-+5V電源輸入端。XTAL1(19), XTAL2(18)-工作頻率輸入信號。若使用石英振蕩晶體時,則應(yīng)將石英晶體的兩支引腳接到XTAL1與XTAL2引腳上。若使用外部的脈波信號源時波信號應(yīng)接至XTALl引腳上,而XTAL2則必須接地。可使用的工作頻率范圍為:1.2 l2 MHz。RST/VST(9)-硬體重置(Reset)輸入信號。當(dāng)本引腳收到一個由low上升為high的轉(zhuǎn)態(tài)信號時,89c52將被重置,此時89c52將其內(nèi)部的特殊功能暫存器(Specia

28、l Function Register, SFR)設(shè)定為預(yù)設(shè)值,并由地址0000H開始執(zhí)行程序。本引腳(VPD)亦可用于89c52的功率下降(Power Down)模式,當(dāng)VPD維持約+5V而Vcc低于規(guī)定的+5V+5%時,VPD將供應(yīng)電源(稱之為Standby Power)給其內(nèi)部的RAM使用,以保存其資料。/EA(31)-外部存取允許(External Access Enable)輸入信號。決定程序記憶體最前面bytes(0000H-0FFFH)是來自芯片內(nèi)部的ROM/EPROM (/EA=1),或來自外部的ROM/EPROM (/EA=0)。P0.0P0.7(3932)-接口0。本引腳有

29、兩種用途:當(dāng)作I/O口時為口0,為8位元雙向開吸極(Open Drain)的I/O口。將信號l寫入口0時,可使其引腳進入高阻抗?fàn)顟B(tài),此時可當(dāng)作I/O輸入引腳。每支引腳可驅(qū)動8個LS-TTL負載。本引腳亦當(dāng)作多工式的低階地址(A0-A7)及資料(DO-D7)匯流排,可供存取外部的記憶體。通常在每一個指令周期中先送出低階地址信號(此時亦伴隨著送出ALE信號),然后再送出資料信號,故這8支引腳又稱之為AD0 - AD7。P1.0P1.7(18)-接口1。為8位元雙方向性的I/O口。將信號l寫入口l時,可使其引腳由其內(nèi)部提升為高電位狀態(tài),此時可當(dāng)作I/O輸入引腳。每支引腳可驅(qū)動4個LS-TTL負載。P

30、2.0P2.7(2128)-接口2。本引腳有兩種用途:當(dāng)作I/O口時為8位元雙向I/O口。將信號1寫入口2時,可使其引腳由其內(nèi)部提升為高電位狀態(tài),此時可當(dāng)作I/O輸入引腳。每支引腳可驅(qū)動4個LS TTL負載。本引腳亦當(dāng)作高階地址(A8-A15)匯流排,以存取外部記憶體。 P3.0P3.7(1017)-接口3。為8位元雙方向性的I/O口。將信號1寫入口3時,可使其引腳由其內(nèi)部提升為高電位狀態(tài),此時可當(dāng)作I/O輸入引腳。每支引腳可驅(qū)動4個LS-TTL負載。本引腳亦可使用于下列之用途:RXD(P3.0):串列口信號輸入端。 TXD(P3.1):串列口信號輸出端。 /INT0(P3.2):外部中斷0信

31、號輸入端。 /INT1(P3.3):外部中斷l(xiāng)信號輸入端。 T0(P3.4):計時器/計數(shù)器0外部信號輸入端。 T1(P3.5):計時器/計數(shù)器l外部信號輸入端。 /WR(P3.6):外部資料記憶體寫入閃控(Strobe)信號輸出。 /RD(P3.7):外部資料記憶體讀取閃控(Strobe)信號輸出。 /PSEN(29)-程序儲存允許(Program Store ENable)閃控輸出信號。在外部程序記憶體的指令碼擷取周期時,/PSEN將送出一個閃控信號,以表示CPU正自外部的程序記憶體中讀取指令碼。ALE(30)-地址鎖存允許(Address Latch Enable)輸出信號。當(dāng)CPU自外

32、界記憶體中擷取指令碼或存取資料時,ALE將會在一個匯流排周期(Bus Cycle)開始時送出H的信號,表示P0.0-P0.7(AD0-AD7)正送出低階地址A0-A7信號,以供外界電路鎖定這些低階地址信號。由于ALE信號頻率固定為振蕩器工作頻率的1/6,故ALE信號也可當(dāng)作脈波信號源。2.2.2 顯示方案部分本系統(tǒng)需要一個液晶顯示器來顯示一個人機交互界面,本次設(shè)計所采用的是LCD1602,1602為兼容的液晶顯示模塊,支持57點陣和2行16字符兩種模式,背光亮度和顯示對比度可調(diào),是一種功能較簡易、價格較便宜的液晶顯示器件。它由液晶顯示屏和驅(qū)動器兩部分組成,單片機通過寫控制字的方式訪問驅(qū)動器來實

33、現(xiàn)對顯示屏的控制。1602引腳圖如下:圖 2.3 1602引腳圖1602的引腳功能說明如下:第1腳:VSS為電源地 。第2腳:VDD接5V電源正極 。第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會 產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度)。 第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進行讀操作,低電平(0)時進行寫操作。 第6腳:E(或EN)端為使能(enable)端。 第714腳:D0D7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光

34、正極,16腳背光負極。2.2.3 數(shù)據(jù)存儲器部分存儲器(Memory)是計算機系統(tǒng)中的記憶設(shè)備,用來存放程序和數(shù)據(jù)。計算機中全部信息,包括輸入的原始數(shù)據(jù)、計算機程序、中間運行結(jié)果和最終運行結(jié)果都保存在存儲器中。它根據(jù)控制器指定的位置存入和取出信息。有了存儲器,計算機才有記憶功能,才能保證正常工作。按用途存儲器可分為主存儲器(內(nèi)存)和輔助存儲器(外存),也有分為外部存儲器和內(nèi)部存儲器的分類方法。構(gòu)成存儲器的存儲介質(zhì),目前主要采用半導(dǎo)體器件和磁性材料。存儲器中最小的存儲單位就是一個雙穩(wěn)態(tài)半導(dǎo)體電路或一個CMOS晶體管或磁性材料的存儲元,它可存儲一個二進制代碼。由若干個存儲元組成一個存儲單元,然后再

35、由許多存儲單元組成一個存儲器。一個存儲器包含許多存儲單元,每個存儲單元可存放一個字節(jié)(按字節(jié)編址)。每個存儲單元的位置都有一個編號,即地址,一般用十六進制表示。一個存儲器中所有存儲單元可存放數(shù)據(jù)的總和稱為它的存儲容量。假設(shè)一個存儲器的地址碼由20位二進制數(shù)(即5位十六進制數(shù))組成,則可表示2的20次方,即1M個存儲單元地址。每個存儲單元存放一個字節(jié),則該存儲器的存儲容量為1MB。存儲器的主要功能是存儲程序和各種數(shù)據(jù),并能在計算機運行過程中高速、自動地完成程序或數(shù)據(jù)的存取。存儲器是具有“記憶”功能的設(shè)備,它采用具有兩種穩(wěn)定狀態(tài)的物理器件來存儲信息。這些器件也稱為記憶元件。在計算機中采用只有兩個數(shù)

36、碼“0”和“1”的二進制來表示數(shù)據(jù)。記憶元件的兩種穩(wěn)定狀態(tài)分別表示為“0”和“1”。日常使用的十進制數(shù)必須轉(zhuǎn)換成等值的二進制數(shù)才能存入存儲器中。計算機中處理的各種字符,例如英文字母、運算符號等,也要轉(zhuǎn)換成二進制代碼才能存儲和操作。本設(shè)計中所用到的數(shù)據(jù)存儲器是62256,62256是32K的低功耗靜態(tài)RAM存儲器。 用P0和P2來擴展外部ram(就是用P0和P2與62256對應(yīng)的管腳相連接),假設(shè)P2.7接WR,P2.6接RD,P2.5接CS,那么就可以確定外部RAM的一個地址,想往外部RAM的一個地址寫一個字節(jié)時,地址可以定為XBYTE 0 x4000,其中WR,CS為低,RD為高,那就是高位

37、的4(0100 也就是P2.7和P2.5輸出了低電平,而P2.6輸出了高電平,目的當(dāng)然是要選通62256并且向62256寫入數(shù)據(jù)),其它位的可以根據(jù)情況自己定。62256封裝圖如下:圖 2.4 62256封裝圖62256引腳功能說明如下:A0 A14 地址總線(Address) D0 /D7 輸入/輸出口(nput/output) CS 端口選擇(Chip select) WE 輸入始能(Write enable) OE 輸出始能(Output enable) VCC 電源始能(Power supply) VSS 接地(Ground)2.2.4 模數(shù)轉(zhuǎn)換器部分 模數(shù)轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡稱

38、ADC,通常是指一個將模擬信號轉(zhuǎn)變?yōu)閿?shù)字信號的電子元件。通常的模數(shù)轉(zhuǎn)換器是將一個輸入電壓信號轉(zhuǎn)換為一個輸出的數(shù)字信號。由于數(shù)字信號本身不具有實際意義,僅僅表示一個相對大小。故任何一個模數(shù)轉(zhuǎn)換器都需要一個參考模擬量作為轉(zhuǎn)換的標(biāo)準(zhǔn),比較常見的參考標(biāo)準(zhǔn)為最大的可轉(zhuǎn)換信號大小。而輸出的數(shù)字量則表示輸入信號相對于參考信號的大小。模數(shù)轉(zhuǎn)換器最重要的參數(shù)是轉(zhuǎn)換的精度,通常用輸出的數(shù)字信號的位數(shù)的多少表示。轉(zhuǎn)換器能夠準(zhǔn)確輸出的數(shù)字信號的位數(shù)越多,表示轉(zhuǎn)換器能夠分辨輸入信號的能力越強,轉(zhuǎn)換器的性能也就越好。 A/D轉(zhuǎn)換一般要經(jīng)過采樣、保持、量化及編碼4個過程。在實際電路中,有些過程是合并進行的,如采樣和保持,量

39、化和編碼在轉(zhuǎn)換過程中是同時實現(xiàn)的。 一般來說,AD比DA貴,尤其是高速的AD,因為在某些特殊場合,如導(dǎo)彈的攝像頭部分要求有高速的轉(zhuǎn)換能力。一般那樣AD要上千美元。還有通過AD的并聯(lián)可以提高AD的轉(zhuǎn)換效率,多個AD同時處理數(shù)據(jù),能滿足處理器的數(shù)字信號需求了。隨著數(shù)字電子技術(shù)的迅速發(fā)展,各種數(shù)字設(shè)備,特別是數(shù)字電子計算機的應(yīng)用日益廣泛,幾乎滲透到國民經(jīng)濟的所有領(lǐng)域之中。數(shù)字計算機只能夠?qū)?shù)字信號進行處理,處理的結(jié)果還是數(shù)字量,它在用于生產(chǎn)過程自動控制的時候,所要處理的變量往往是連續(xù)變化的物理量,如溫度、壓力、速度等都是模擬量,這些非電子信號的模擬量先要經(jīng)過傳感器變成電壓或者電流信號,然后再轉(zhuǎn)換成數(shù)

40、字量,才能夠送往計算機進行處理。模擬量轉(zhuǎn)換成數(shù)字量的過程被稱為模數(shù)轉(zhuǎn)換,簡稱A/D(Analog to Digital)轉(zhuǎn)換;完成模數(shù)轉(zhuǎn)換的電路被稱為 A/D 轉(zhuǎn)換器,簡稱 ADC(Analog to Digital Converter)。數(shù)字量轉(zhuǎn)換成模擬量的過程稱為數(shù)模轉(zhuǎn)換, 簡稱 D/A(Digital to Analog)轉(zhuǎn)換;完成數(shù)模轉(zhuǎn)換的電路稱為D/A轉(zhuǎn)換器,簡稱DAC(Digital to Analog Converter)。模擬信號由傳感器轉(zhuǎn)換為電信號,經(jīng)放大送入 AD 轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,由數(shù)字電路進行處理,再由 DA轉(zhuǎn)換器還原為模擬量,去驅(qū)動執(zhí)行部件。為了保證數(shù)據(jù)處理結(jié)果的準(zhǔn)

41、確性,AD轉(zhuǎn)換器和DA轉(zhuǎn)換器必須有足夠的轉(zhuǎn)換精度。同時,為了適應(yīng)快速過程的控制和檢測的需要,AD轉(zhuǎn)換器和 DA轉(zhuǎn)換器還必須有足夠快的轉(zhuǎn)換速度。因此,轉(zhuǎn)換精度和轉(zhuǎn)換速度乃是衡量 AD轉(zhuǎn)換器和 DA轉(zhuǎn)換器性能優(yōu)劣的主要標(biāo)志。模數(shù)轉(zhuǎn)換過程包括量化和編碼。量化是將模擬信號量程分成許多離散量級,并確定輸入信號所屬的量級。編碼是對每一量級分配唯一的數(shù)字碼,并確定與輸入信號相對應(yīng)的代碼。最普通的碼制是二進制,它有2的n次方個量級(n為位數(shù)),可依次逐個編號。模數(shù)轉(zhuǎn)換的方法很多,從轉(zhuǎn)換原理來分可分為直接法和間接法兩大類。 直接法是直接將電壓轉(zhuǎn)換成數(shù)字量。它用數(shù)模網(wǎng)絡(luò)輸出的一套基準(zhǔn)電壓,從高位起逐位與被測電壓反

42、復(fù)比較,直到二者達到或接近平衡??刂七壿嬆軐崿F(xiàn)對分搜索的控制,其比較方法如同天平稱重。先使二進位制數(shù)的最高位Dn-1=1,經(jīng)數(shù)模轉(zhuǎn)換后得到一個整個量程一半的模擬電壓VS,與輸入電壓Vin相比較,若VinVS,則保留這一位;若VinVS還是VinV來決定是否保留這一位。經(jīng)過n次比較后,n位寄存器的狀態(tài)即為轉(zhuǎn)換后的數(shù)據(jù)。這種直接逐位比較型(又稱反饋比較型)轉(zhuǎn)換器是一種高速的數(shù)模轉(zhuǎn)換電路,轉(zhuǎn)換精度很高,但對干擾的抑制能力較差,常用提高數(shù)據(jù)放大器性能的方法來彌補。它在計算機接口電路中用得最普遍。間接法不將電壓直接轉(zhuǎn)換成數(shù)字,而是首先轉(zhuǎn)換成某一中間量,再由中間量轉(zhuǎn)換成數(shù)字。常用的有電壓-時間間隔(V/T

43、)型和電壓-頻率(V/F)型兩種,其中電壓-時間間隔型中的雙斜率法(又稱雙積分法)用得較為普遍。模數(shù)轉(zhuǎn)換器的選用具體取決于輸入電平、輸出形式、控制性質(zhì)以及需要的速度、分辨率和精度。用半導(dǎo)體分立元件制成的模數(shù)轉(zhuǎn)換器常常采用單元結(jié)構(gòu),隨著大規(guī)模集成電路技術(shù)的發(fā)展,模數(shù)轉(zhuǎn)換器體積逐漸縮小為一塊模板、一塊集成電路。本次設(shè)計中所采用的模數(shù)轉(zhuǎn)換器是ADC0804,ADC0804是一個早期的A/D轉(zhuǎn)換器,因其價格低廉而在要求不高的場合得到廣泛應(yīng)用。ADC0804是一個8位、單通道、低價格A/D轉(zhuǎn)換器,主要特點是:模數(shù)轉(zhuǎn)換時間大約100us;方便的TTL或CMOS標(biāo)準(zhǔn)接口;可以滿足差分電壓輸入;具有參考電壓輸

44、入端;內(nèi)含時鐘發(fā)生器;單電源工作時(0-5V)輸入信號電壓范圍是0V-5V;不需要調(diào)零等等。ADC0804封裝圖如下: 圖 2.5 ADC0804封裝圖ADC0804引腳功能說明如下:/CS(引腳1)芯片選擇信號,低電平有效 /RD(引腳 2) 外部讀取轉(zhuǎn)換結(jié)果的控制輸出信號。/RD為 HI 時,DB0DB7處理高阻抗:/RD為 LO時,數(shù)字數(shù)據(jù)才會輸出。 /WR(引腳 3)用來啟動轉(zhuǎn)換的控制輸入,相當(dāng)于 ADC的轉(zhuǎn)換開始(/CS=0 時), 當(dāng) /WR由 HI變?yōu)?LO時,轉(zhuǎn)換器被清除:當(dāng)/WR回到 HI 時,轉(zhuǎn)換正式開始。 CS 、RD 、WR (引腳1、2、3):是數(shù)字控制輸入端,滿足標(biāo)

45、準(zhǔn)TTL 邏輯電平。其中CS 和WR 用來控制A/D 轉(zhuǎn)換的啟動信號。CS 、RD 用來讀A/D 轉(zhuǎn)換的結(jié)果,當(dāng)它們同時為低電平時,輸出數(shù)據(jù)鎖存器DB0DB7 各端上出現(xiàn)8 位并行二進制數(shù)碼。CLKI(引腳4)和CLKR(引腳19):ADC08010805 片內(nèi)有時鐘電路,只要在外部“CLKI”和“CLKR”兩端外接一對電阻電容即可產(chǎn)生A/D 轉(zhuǎn)換所要求的時鐘,CLK為芯片工作提供工作脈沖,時鐘頻率計算方式是:fCK=1/(1.1RC)。其典型應(yīng)用參數(shù)為:R=10K,C=150PF,fCK640KHZ,轉(zhuǎn)換速度為100。若采用外部時鐘,則外部fCK 可從CLKI 端送入,此時不接R、C。允許的

46、時鐘頻率范圍為100KHZ1460KHZ。INTR (引腳5): INTR 是轉(zhuǎn)換結(jié)束信號輸出端,輸出跳轉(zhuǎn)為低電平表示本次轉(zhuǎn)換已經(jīng)完成,可作為微處理器的中斷或查詢信號。如果將CS 和WR 端與INTR 端相連,則ADC0804 就處于自動循環(huán)轉(zhuǎn)換狀態(tài)。CS 0 時,允許進行A/D 轉(zhuǎn)換。WR 由低跳高時A/D 轉(zhuǎn)換開始,8 位逐次比較需88=64 個時鐘周期,再加上控制邏輯操作,一次轉(zhuǎn)換需要6673 個時鐘周期。在典型應(yīng)用fCK640KHZ 時,轉(zhuǎn)換時間約為103114。當(dāng)fCK 超過640KHZ,轉(zhuǎn)換精度下降,超過極限值1460KHZ 時便不能正常工作。VIN()(引腳 6)和VIN()(引

47、腳7):被轉(zhuǎn)換的電壓信號從VIN()和VIN()輸入,允許此信號是差動的或不共地的電壓信號。如果輸入電壓VIN的變化范圍從0V到Vmax,則芯片的VIN()端接地,輸入電壓加到VIN()引腳。由于該芯片允許差動輸入,在共模輸入電壓允許的情況下,輸入電壓范圍可以從非零伏開始,即Vmin 至Vmas。此時芯片的VIN()端應(yīng)該接入等于Vmin 的恒值電碼墳上,而輸入電壓VIN仍然加到VIN()引腳上。AGND(引腳8)和DGND(引腳10):A/D 轉(zhuǎn)換器一般都有這兩個引腳。模擬地AGND 和數(shù)字地DGND 分別設(shè)置引入端,使數(shù)字電路的地電流不影響模擬信號回路,以防止寄生耦合造成的干擾。VREF/

48、2(引腳9):參考電壓VREF/2 可以由外部電路供給從“VREF/2”端直接送入,VREF/2 端電壓值應(yīng)是輸入電壓范圍的二分之一所以輸入電壓的范圍可以通過調(diào)整VREF/2 引腳處的電壓加以改變,轉(zhuǎn)換器的零點無調(diào)整。2.2.5 數(shù)模轉(zhuǎn)換器部分 數(shù)模轉(zhuǎn)換器,又稱D/A轉(zhuǎn)換器,簡稱DAC,它是把數(shù)字量轉(zhuǎn)變成模擬的器件。D/A轉(zhuǎn)換器基本上由4個部分組成,即權(quán)電阻網(wǎng)絡(luò)、運算放大器、基準(zhǔn)電源和模擬開關(guān)。模數(shù)轉(zhuǎn)換器中一般都要用到數(shù)模轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器即A/D轉(zhuǎn)換器,簡稱ADC,它是把連續(xù)的模擬信號轉(zhuǎn)變?yōu)殡x散的數(shù)字信號的器件。最常見的數(shù)模轉(zhuǎn)換器是將并行二進制的數(shù)字量轉(zhuǎn)換為直流電壓或直流電流,它常用作過程控

49、制計算機系統(tǒng)的輸出通道,與執(zhí)行器相連,實現(xiàn)對生產(chǎn)過程的自動控制。數(shù)模轉(zhuǎn)換器電路還用在利用反饋技術(shù)的模數(shù)轉(zhuǎn)換器設(shè)計中。D/A轉(zhuǎn)換器的主要特性指標(biāo)包括以下幾方面:分辨率:指最小輸出電壓(對應(yīng)的輸入數(shù)字量只有最低有效位為“1”)與最大輸出電壓(對應(yīng)的輸入數(shù)字量所有有效位全為“1”)之比。如N位D/A轉(zhuǎn)換器,其分辨率為1/(2N-1)。在實際使用中,表示分辨率大小的方法也用輸入數(shù)字量的位數(shù)來表示。線性度:用非線性誤差的大小表示D/A轉(zhuǎn)換的線性度。并且把理想的輸入輸出特性的偏差與滿刻度輸出之比的百分數(shù)定義為非線性誤差。轉(zhuǎn)換精度:D/A轉(zhuǎn)換器的轉(zhuǎn)換精度與D/A轉(zhuǎn)換器的集成芯片的結(jié)構(gòu)和接口電路配置有關(guān)。如果

50、不考慮其他D/A轉(zhuǎn)換誤差時,D/A的轉(zhuǎn)換精度就是分辨率的大小,因此要獲得高精度的D/A轉(zhuǎn)換結(jié)果,首先要保證選擇有足夠分辨率的D/A轉(zhuǎn)換器。同時D/A轉(zhuǎn)換精度還與外接電路的配置有關(guān),當(dāng)外部電路器件或電源誤差較大時,會造成較大的D/A轉(zhuǎn)換誤差,當(dāng)這些誤差超過一定程度時,D/A轉(zhuǎn)換就產(chǎn)生錯誤。 在D/A轉(zhuǎn)換過程中,影響轉(zhuǎn)換精度的主要因素有失調(diào)誤差、增益誤差、非線性誤差和微分非線性誤差。數(shù)模轉(zhuǎn)換器的轉(zhuǎn)換原理:數(shù)字量是用代碼按數(shù)位組合起來表示的,對于有權(quán)碼,每位代碼都有一定的位權(quán)。為了將數(shù)字量轉(zhuǎn)換成模擬量,必須將每1位的代碼按其位權(quán)的大小轉(zhuǎn)換成相應(yīng)的模擬量,然后將這些模擬量相加,即可得到與數(shù)字量成正比的

51、總模擬量,從而實現(xiàn)了數(shù)字模擬轉(zhuǎn)換。這就是組成D/A轉(zhuǎn)換器的基本指導(dǎo)思想。D/A轉(zhuǎn)換器由數(shù)碼寄存器、模擬電子開關(guān)電路、解碼網(wǎng)絡(luò)、求和電路及基準(zhǔn)電壓幾部分組成。數(shù)字量以串行或并行方式輸入、存儲于數(shù)碼寄存器中,數(shù)字寄存器輸出的各位數(shù)碼,分別控制對應(yīng)位的模擬電子開關(guān),使數(shù)碼為的位在位權(quán)網(wǎng)絡(luò)上產(chǎn)生與其權(quán)值成正比的電流值,再由求和電路將各種權(quán)值相加,即得到數(shù)字量對應(yīng)的模擬量。本次設(shè)計中所采用的數(shù)模轉(zhuǎn)換器是DAC0832,DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片。與微處理器完全兼容。這個DA芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在單片機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。D/A轉(zhuǎn)換器由8位輸入鎖存器、8

52、位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。DAC0832的主要特性參數(shù)如下:* 分辨率為8位; * 電流穩(wěn)定時間1us; * 可單緩沖、雙緩沖或直接數(shù)字輸入; * 只需在滿量程下調(diào)整其線性度; * 單一電源供電(+5V+15V); * 低功耗,20mW。DAC0832引腳圖如下:圖 2.6 DAC0832引腳圖DAC0832引腳功能說明如下:D0D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會出錯); ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效; CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效; WR1:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應(yīng)大于

53、500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存; XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應(yīng)大于500ns)有效; WR2:DAC寄存器選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。由WR2、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化; IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);Rfb:反饋

54、信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;Vcc:電源輸入端,Vcc的范圍為+5V+15V; VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V+10V; AGND:模擬信號地 ;DGND:數(shù)字信號地。2.2.6 語音處理模擬部分系統(tǒng)中的模擬部分主要是聲音采樣和回放電路的濾波部分,聲音采集部分使用了典型的8KB、8bit的PCM編碼。由于語音頻率范圍為3003400Hz,所以采用了簡單的RC低通濾波電路。R=4k,C=0.01uf,衰減小于3dB的帶寬范圍為04kHz的低通濾波器。2.3 系統(tǒng)軟件部分分析在單片機的開發(fā)應(yīng)用中,逐漸引入了高級語言,C語言就是其中一種。對用慣了匯編語

55、言的人來說,高級語言可控性不好,不如匯編語言那樣能夠隨心所欲。但是使用匯編語言會遇到很多問題,首先它的可讀性和可維護性不強,特別是當(dāng)程序沒有很好標(biāo)注的時候,其次就是代碼的可重用性也比較低。使用C語言就可以很好的解決這些問題。C語言具有良好的模塊化,容易閱讀和維護等優(yōu)點。由于模塊化,用C語言編寫的程序有很好的可移植性,功能化的代碼能夠很方便地從一個工程移植到另一個工程,從而減少了開發(fā)時間。用C語言編寫程序比用匯編語言更符合人們的思考習(xí)慣,開發(fā)者可以更專心的考慮算法而不是考慮一些細節(jié)問題,這樣就減少了開發(fā)和調(diào)試的時間。使用像C這樣的語言,程序員不必十分熟悉處理器的運算過程。很多處理器支持C編譯器,

56、這意味著對新的處理器也能很快上手,而不必知道處理器的具體內(nèi)部結(jié)構(gòu),這使得用C語言編寫的程序有更好的可移植性。所有這些并不說明匯編語言就沒有了立足之地,很多系統(tǒng)特別是實時時鐘系統(tǒng)都是用C語言和匯編語言聯(lián)合編寫的。對時鐘要求嚴格時,使用匯編語言是唯一的方法。除此之外,包括硬件接口的操作都應(yīng)該用C語言來編寫。C語言的特點就是可以使程序員盡量少的對硬件進行操作,它是一種功能性和結(jié)構(gòu)性很強的語言。對于大多數(shù)單片機,使用C語言這樣的高級語言與使用匯編語言相比具有如下優(yōu)點:1)不需要了解處理器的指令集,也不必了解存儲器結(jié)構(gòu)。2)寄存器分配和尋址方式由編譯器進行管理,編程時不需要考慮存儲的尋址和數(shù)據(jù)類型等細節(jié)

57、。3)指定操作的變量選擇組合提高了程序的可讀性。4)可使用與人的思維更相近的關(guān)鍵字和操作函數(shù)。5)與使用匯編語言編程相比,程序的開發(fā)和調(diào)試的時間大大縮短。6)C語言中的庫文件提供許多標(biāo)準(zhǔn)的例程,例如格式化輸出、數(shù)據(jù)轉(zhuǎn)換和浮點運算等。7)通過C語言可實現(xiàn)模塊化編程技術(shù),從而可將已編制好的程序加入到新程序中。8)C語言可移植性好且非常普及,C語言編譯器幾乎適用于所有的目標(biāo)系統(tǒng),已完成的軟件項目可以很容易地轉(zhuǎn)換到其他的處理器或環(huán)境中。鑒于C語言的眾多優(yōu)點,本次設(shè)計中便采用C語言進行程序的編寫。3 系統(tǒng)硬件設(shè)計3.1 系統(tǒng)總體設(shè)計系統(tǒng)整體原理圖如下:圖 3.1 系統(tǒng)原理圖界面采用LCD1602,2行1

58、6字符的液晶顯示模塊,顯示一個循環(huán)的二級菜單用作和用戶之間進行交流的交互界面。輸入按鍵有兩個,直接占用了外部中斷INT0和INT1,配合液晶顯示界面用于系統(tǒng)流程的控制和功能的選擇。數(shù)據(jù)存儲器采用62256,數(shù)模轉(zhuǎn)換采用DAC0832,模數(shù)轉(zhuǎn)換采用ADC0804,話筒錄入和語音回放的模擬部分需要功率放大器,選用的是雙功放TDA2822。與PC間的通信采用的串行方式,從單片機TX和RX端CMOS電平到PC的標(biāo)準(zhǔn)RS232電平的轉(zhuǎn)換器件選用Maxim的Max232。3.2 語音系統(tǒng)設(shè)計3.2.1 語音采集原理語音是一維時間信號,由于是表示語言聲音的信號,所以不是恒定的,信號的性質(zhì)隨時間變化很大。為了

59、充分利用有限的存儲空間,并不失真地傳送語音信號必須對采集后的語音信號進行進一步壓縮,即語音壓縮。所謂語音壓縮,是為了聲音信號更大信息量的傳送與記憶而壓縮數(shù)據(jù),并有效地回放聲音的過程。語音壓縮可由將語音信號采集,并利用適當(dāng)?shù)牧孔踊问降膲嚎s符號化或預(yù)測符號化等進行。 現(xiàn)代常用的語音信號表示方法如用生成模的參數(shù)表示聲音時,參數(shù)的數(shù)據(jù)率為5K比特/秒左右,與波形符號化相比,參數(shù)表現(xiàn)的數(shù)據(jù)率顯著變低,若使用聲音生成模,則以利用聲音信號分析而得的模的參數(shù)為基礎(chǔ),可進行聲音的再合成。在聽覺上得到的與原聲音沒有多少不同的合成聲音。參數(shù)的數(shù)據(jù)率為信號波形數(shù)據(jù)率以下, 所以可進行高效的聲音數(shù)據(jù)壓縮。單從聲音的存

60、儲與壓縮率來考慮,生成模參數(shù)表示法明顯優(yōu)于信號波形表示法。但要將之應(yīng)用于單片機,顯然信號波形表示法相對簡單易實現(xiàn),具有很強的可行性。故方案的設(shè)計均從聲音信號以波形存儲來考慮?;谶@種思路的算法,除了傳統(tǒng)的一些脈沖編碼調(diào)制外,目前已使用的有VQ技術(shù)及一些變換編碼和神經(jīng)網(wǎng)絡(luò)技術(shù),但是算法復(fù)雜,目前的單片機速度低,難以實現(xiàn)。結(jié)合實際情況,提出了實時幅值采樣的方案。采樣過程如下:存儲量化抽樣圖 3.2 采樣過程直存直取法:該方案將話音信號的抽樣值直接存取,以保證在回放時能真實的重現(xiàn)抽樣值。由于這種方法重現(xiàn)的是采樣的真實值,所以只存在一般量化噪聲,與A/D轉(zhuǎn)換精度有關(guān)。故此方法回放質(zhì)量最好,但占用存儲空

溫馨提示

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

最新文檔

評論

0/150

提交評論