




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、多功能復(fù)讀機的設(shè)計與實現(xiàn) 摘要 摘要本次畢業(yè)設(shè)計的主要目的是設(shè)計并制作一個具有錄音、放音、計時、語音播報和數(shù)碼管顯示的多功能復(fù)讀機。設(shè)計階段主要完成了以下功能模塊:提示語音模塊:接通電源后自動播放一段音樂和錄制的提示語音;倒計時模塊:按下錄音鍵,led鍵盤模組的第6個數(shù)碼管進行倒計時,依次顯示3、2、1,間隔為一秒鐘;錄音與計時模塊:倒計時完成(即1消失后),操作者可利用麥克風(fēng)進行語音錄入,同時,計數(shù)器開始計時,此時間為錄音的時長;語音播報與顯示模塊:按下停止鍵,錄音停止,并語音播報錄音的時長,并在數(shù)碼管上顯示錄音的時長;放音模塊:按下回放鍵可以回放剛才的錄音。該復(fù)讀機在功能上有所更新,除了具
2、備基本的錄音、放音功能外,還能播放音樂和提示語音,計時器可記錄錄音的時長,并利用外接的led鍵盤模組進行顯示,倒計時功能能夠提醒用戶適當(dāng)?shù)匿浺魰r刻,解決了一按錄音鍵就開始錄音而導(dǎo)致聲音無法完全錄入的問題。本次畢業(yè)設(shè)計選用凌陽spce061a單片機,spce061a的語音處理功能是由凌陽公司自行開發(fā)的具有音頻編解碼及各種語音壓縮算法實現(xiàn)的。其cpu 內(nèi)核采用凌陽推出的nsp(microcontroller and signal processor)16 位微處理器芯片。凌陽單片機可以做控制,也可以完成數(shù)據(jù)信息的處理,尤其是語音識別上,有自己的特色。各種算法相應(yīng)的程序模塊存放在語音算法庫scam-
3、lib中, 使用時只需調(diào)用相應(yīng)的模塊就可方便地實現(xiàn)語音合成、語音播放、錄音、識別等功能。凌陽單片機還采用了soc 理念,一顆芯片就是一個系統(tǒng),把傳統(tǒng)單片機學(xué)要擴展的ad、da、存儲器等器件都做到了芯片內(nèi)部,方便了單片機的學(xué)習(xí)和項目開發(fā)。關(guān)鍵字:凌陽16位單片機、復(fù)讀機、計時、語音播報、數(shù)碼顯示。46多功能復(fù)讀機的設(shè)計與實現(xiàn) 目錄 目錄摘要1目錄2第一章 引言3第二章 概要設(shè)計42.1設(shè)計要求42.2需求分析42.3可行性報告42.4凌陽單片機簡介52.5語音壓縮52.5.1 壓縮分類62.5.2 凌陽常用的音頻形式和壓縮算法62.5.3 壓縮工具7第三章 詳細(xì)設(shè)計83.1硬件設(shè)計83.1.1
4、protel 99se簡介83.1.2 電路原理圖設(shè)計83.2 pcb布局布線規(guī)則133.3 印制電路板設(shè)計主要事項143.4 電路板焊接143.5 led模組介紹163.6軟件設(shè)計183.6.1 c語言簡介183.6.2 凌陽nsp匯編語言183.7 凌陽unspide184集成開發(fā)環(huán)境簡介193.8 程序設(shè)計213.8.1 主程序模塊213.8.2 語音提示223.8.3 倒計時253.8.4 錄音計時和時長播報263.8.5 錄音時長顯示273.8.6 附加功能283.8.7 程序下載28總結(jié)30致謝31參考文獻32附錄33第一章 引言第一章 引言單片微型計算機又稱單片微控制器,是微型計
5、算機發(fā)展中的一個重要分支,其發(fā)展十分迅速。單片機由于具有高可靠性、集成度高、價格低廉和容易產(chǎn)品化等特點,因此在智能儀器儀表、醫(yī)療器械、工業(yè)實時控制、智能終端、通信設(shè)備汽車和家用電器等領(lǐng)域得到了廣泛的應(yīng)用。集成化性能的發(fā)展越來越明顯的競爭優(yōu)勢也成為諸多商家眼中不可錯失的商機。其中,凌陽科技有限公司推出的凌陽十六位單片機unsp以迅雷不及掩耳的速度占據(jù)了廣闊的市場。其應(yīng)用領(lǐng)域也逐漸由傳統(tǒng)的控制,擴展為控制處理、數(shù)據(jù)處理及數(shù)字信號處理(dsp,digital signal processing)等領(lǐng)域。該單片機采用現(xiàn)代電子技術(shù)片上系統(tǒng)soc(system on a chip)技術(shù)設(shè)計而成,內(nèi)部集成有
6、adc、dac、pll、agc、dtmf、lcd driver等電路。采用精簡指令集(risc),指令周期均以cpu時鐘數(shù)為單位。此外內(nèi)置有16位硬件乘法器和加法器,并配有dsp擁有的特殊指令,大大的加快了各種演算法的運行速度。根據(jù)本次畢業(yè)設(shè)計的要求,我們選擇了凌陽公司的spce061a單片機,它在語音播放和語音識別方面很有特色。它主要包括輸入/輸出端口,定時器/計數(shù)器,數(shù)/模轉(zhuǎn)換,模/數(shù)轉(zhuǎn)換,串行設(shè)備輸入輸出,通用形串行接口,低電壓監(jiān)測和復(fù)位等部分,并且內(nèi)置在線仿真電路ice接口,較高的處理速度其能夠快速的處理復(fù)雜的數(shù)字信號。而且它的體積小,采用電池供電,方便隨身攜帶。本論文主要介紹了如何用
7、c語言、凌陽匯編語言編程實現(xiàn)多功能復(fù)讀機以及在調(diào)試過程中遇到的問題和解決方案。 第二章 概要設(shè)計第二章 概要設(shè)計2.1設(shè)計要求(1)接通電源后自動播放一段音樂和自己錄制的提示語音。(2)按下錄音鍵后,鍵盤模組的第6個數(shù)碼管進行倒計時,依次顯示3、2、1間隔為一秒鐘。(3)倒計時完成后(即1消失后),可對準(zhǔn)麥克風(fēng)進行錄音,按下停止鍵錄音停止,并語音播報錄音的時間。(4)按下回放鍵可回放剛才的錄音。2.2需求分析用凌陽spce061a單片機實現(xiàn)具備錄音、計時、放音功能的多功能復(fù)讀機??赏ㄟ^硬件控制錄,放,也就是通過spce061a的四個按鍵來實現(xiàn)。在接通電源開機時自動播放一段語音和提示音,待系統(tǒng)進
8、入后通過按鍵控制,該單片機將在按鍵的作用下實現(xiàn)其錄音,放音的功能,外接硬件led模塊可顯示其錄音時長。2.3可行性報告本次設(shè)計我們需要完成復(fù)讀機功能,經(jīng)過需求分析,我們選擇使用spce061a。它具有以下特點:(1)體積小、集成度高、可靠性好且易于擴展;(2)具有較強的中斷處理能力;(3)高性能價格比;(4)功能強、效率高的指令系統(tǒng);(5)低功耗、低電壓;經(jīng)驗證,spce061a具備8通道10位adc 輸入功能,內(nèi)置的具有自動增益控制的麥克風(fēng)輸入功能,雙通道10位dac音頻輸出功能及a、b兩個i/o口輸入輸出功能。凌陽spce061a單片機功能對本次畢業(yè)設(shè)計所需是完全滿足的,所以在技術(shù)上是完全
9、可行的。2.4凌陽單片機簡介spce061a是凌陽科技公司nsptm (microcontroller and signal processor) 系列產(chǎn)品中的16位微控制器芯片,本次畢業(yè)設(shè)計選用spce061a單片機作為控制器,其具有較強的處理能力。在存儲器資源方面考慮到用戶的較少資源的需求以及便于程序調(diào)試等功能,同時內(nèi)嵌32k字的閃存(flsah),擁有較高的處理速度.spce061a單片機還具有體積小、集成度高、易擴展、可靠性高、功耗低、結(jié)構(gòu)簡單、中斷處理能力強等特點,特別適應(yīng)于數(shù)字語音錄放和語音識別等數(shù)字應(yīng)用領(lǐng)域。因此spce061a非常適用于本次設(shè)計的模擬語音電話當(dāng)中,是一種高效經(jīng)濟
10、的選擇。spce061a的性能及特點特性參數(shù)spce061a工作電壓2. 6v3.6v最大工作速率49.152mhzcpu16位nspsram容量2k字rom容量(字)32k閃存rom并行i/o端口aioa150并行i/o端口biob150音頻輸出方式dac2中斷源1)timera/b、2)時基信號發(fā)生器 3)外部中斷 4)觸鍵喚醒喚醒源ioa70 其它中斷源定時器/計數(shù)器雙16位加計數(shù)定時器/計數(shù)器 ,雙通道pwm輸出uart 具備adc通道10位電壓模-數(shù)轉(zhuǎn)換器(adc)和單通道聲音模-數(shù)轉(zhuǎn)換器(adc)串行sram接口具備(凌陽格式)晶振具備低電壓復(fù)位具備低電壓監(jiān)測具備內(nèi)置ice接口具備
11、上電復(fù)位具備麥克風(fēng)放大器和自動增益控制單通道中斷控制功能具備觸鍵喚醒功能具備表 2-12.5語音壓縮凌陽的音頻格式有許多種,比較常用的有如下幾種模塊名稱語音壓縮編碼率類型資料采樣率sacm_a200016kbit/s,20 kbit/s,24 kbit/s16khzsacm_s480/s7204.8 kbit/s,7.2 kbit/s16khzsacm_ms01音樂合成(16kbits/s,20 kbits/s,24 kbits/s)16khzsacm_dvr(a2000)16 kbit/s的資料率,8 k的采樣率,用于adc信道錄音功能16khzsacm_s2402.4 kbit/s24kh
12、z表2-2凌陽音頻壓縮及算法信號類型頻率范圍(hz)采樣率(khz)量化精度(位)電話話音200340088寬帶音頻(am質(zhì)量)5070001616調(diào)頻廣播 (fm質(zhì)量)2015k37.816高質(zhì)量音頻 (cd質(zhì)量)2020k44.116表 2-3 編碼標(biāo)準(zhǔn)2.5.1 壓縮分類壓縮分無損壓縮和有損壓縮。 無損壓縮一般指:磁盤文件,壓縮比低:2:14:1.而有損壓縮則是指:音視頻文件,壓縮比可高達(dá)100:1。 凌陽音頻壓縮算法根據(jù)不同的壓縮比分為以下幾種: sacm-a2000:壓縮比為8:,8:1.25,8:1.5 sacm-s480: 壓縮比為80:3,80:4.5 sacm-s240: 壓
13、縮比為80:1.5 按音質(zhì)排序:a2000s480s240 2.5.2 凌陽常用的音頻形式和壓縮算法 (1)波形編碼:sub-band即sacm-a2000 特點:高質(zhì)量、高碼率適于高保真語音音樂。(2)參數(shù)編碼:聲碼器(vocoder)模型表達(dá),抽取參數(shù)與激勵信號進行編碼。如:sacm-s240。 特點:壓縮比大,計算量大,音質(zhì)不高,廉價。(3)混合編碼:celp即sacm-s480 特點:綜合參數(shù)和波形編碼之優(yōu)點。 除此之外,還具有fm音樂合成方式即sacm-ms01,所以為了得到高保真的音質(zhì),這里選用a2000的壓縮算法。2.5.3 壓縮工具因為要使用凌陽的專用音頻才能在spce061a
14、板上被播放出來,所以需要用凌陽專用的音頻壓縮軟件才能完成此項。圖 2-1 凌陽音頻壓縮軟件添加wav音頻 第三章 詳細(xì)設(shè)計第三章 詳細(xì)設(shè)計3.1硬件設(shè)計3.1.1 protel 99se簡介使用電腦設(shè)計電路原理圖和電路板圖是把電子技術(shù)從理論應(yīng)用到實際的第一步,只有會設(shè)計電路原理圖和電路板圖才能進行電子產(chǎn)品的研究與開發(fā)。protel 99se是prokltechnology公司開發(fā)的基于windows環(huán)境下的電路板設(shè)計軟件。該軟件功能強大,人機界面友好,易學(xué)易用,仍然是我們專業(yè)必學(xué)課程,同時也是業(yè)界人士首選的電路板設(shè)計工具。3.1.2 電路原理圖設(shè)計使用計算機輔助設(shè)計工具進行電子電路設(shè)計繪制電路
15、原理圖與印制電路板圖是現(xiàn)代電子工程技術(shù)人員必備的技能。本設(shè)計的電原理圖和印制電路板圖均使用protel 99se完成。設(shè)計步驟:(1)新建schematic library document,建立所需元件 ,元件規(guī)格設(shè)置,相關(guān)參數(shù)設(shè)置.(2)新建sheet1.sch圖,裝載元件庫,查找并選取所要添加的庫;設(shè)置電路圖大?。喊磮D紙要求選standard項的設(shè)置a4紙張;放置元器件,節(jié)點和連接線路。(3)查原理圖:使用protel 99 se的電氣規(guī)則檢查功能檢查原理圖的連接是否合理與正確,給出檢查報告。保存與打印。按照前述過程,完成了61a電路版的原理圖設(shè)計,下面分模塊介紹61板原理圖及其功能。(
16、總原理圖見附錄4)1晶振模塊性能特點:石英晶體的主要特征是它具有壓電效應(yīng),既在晶體的兩個電極上加交流電壓時,晶體就會產(chǎn)生機械振動,而這種機械振動反過來又會產(chǎn)生交流電壓,晶體就會產(chǎn)生交流電場,在電極上出現(xiàn)交流電壓。如果外加交流電壓的頻率與晶片本身的固有振動頻率相等,則機械振動的振幅和它產(chǎn)生的交流電壓的幅值都會顯著增大,這種現(xiàn)象稱為壓電諧振,稱該晶體為石英晶體振蕩器,或簡稱晶振。目前市場晶體都是標(biāo)準(zhǔn)的頻率,如:32768hz、6mhz、3mhz等等,這里采用的是32768 hz,其中的諧振電容分別是c14(20p)、c15(20p),在這里osc部分的作用就是作為cpu時鐘的振源,具體的過程如圖3
17、-3所示。 圖3-1 晶體震蕩組成 圖 3-2 鎖相環(huán)組成 圖 3-3 鎖相環(huán)電路框圖2音頻輸出部分:下圖是音頻輸出部分的原理圖,輸出的聲音經(jīng)spy0030音頻放大后通過喇叭輸出。spy0030的輸入電壓的范圍是2.4v6.0v,在這個電路中采用的電壓是3.3v。 圖 3-4 音頻輸出電路圖3電源:61板采用3節(jié)5號電池進行供電,由j10接入,如原理圖所示。其中的前后兩組電容用來去耦濾波,使其供給芯片的電源更加干凈平滑。為了獲得標(biāo)準(zhǔn)的3.3v電壓,在板子上加入spy0029三端穩(wěn)壓器。兩個二極管,是為防止誤將電源接反造成不必要損失而設(shè)置的,在操作過程中千萬不要將電源接反,因為反向電壓超過一定的
18、值,二極管將會被損壞,達(dá)不到保護的目的。后面的零電阻及其電源、地分成不同的幾路是為減少電磁干擾設(shè)置的。 圖3-5 電源部分電路圖4音頻輸入部分:如下圖所示電路, micp和micn將隨著mic產(chǎn)生的波形變化,并在兩個端口處形成兩路反相的波形,再經(jīng)過兩級運放放大,把放大的語音信號交給adc轉(zhuǎn)換為數(shù)字量,這個時候我們就可以通過單片機編程對這些數(shù)據(jù)進行處理,比如說語音數(shù)據(jù)壓縮、語音識別樣本處理。 圖 3-6 音頻輸出部分電路圖5程序下載區(qū): ice 基本運作方式是通過控制 clock 及通過 ice 喂入指令方式,來控制cpu 的運行及緩存器資料和內(nèi)存資料的存取,因此必須透過控制緩存器值的設(shè)定來控制
19、目前 cpu 的動作。 每個相連接的不同ice模塊都擁有自己獨特的3-bit id,當(dāng)pc在傳送control信號時都會先傳送該 3-bit id,只有ice本身的id和control信號的id 相同時才會執(zhí)行該命令或回傳資料。61板上的74hc244主要在我們選用下載線的時候起作用,主要起緩存的作用和完成sda是作為數(shù)據(jù)回送還是數(shù)據(jù)下傳的選擇。 圖 3-7 下載區(qū)電路圖6按鍵模塊部分:按鍵是通過斷控制來實現(xiàn)它的功能,61板上的按鍵在沒按下時,它的1、3腳是斷開的,當(dāng)按下時這兩個腳是接通的。如此時我們在1腳接一個高電平,把第三腳連到一個i/o口上,這就形成了一個人機操作界面,通過編程對i/o掃
20、描,單片機就能識別到我們的按鍵命令。 圖 3-8 按鍵電路圖7d/a部分:d/a的作用就是把數(shù)字量轉(zhuǎn)換為模擬量的部分,第五章中的5.2.2小節(jié)的音頻輸出就是這個過程,把人講話的聲音波形通過spce061a芯片中的a/d采集后,處理后又通過d/a轉(zhuǎn)換還原后,通過功率放大電路播出聲音。spce061a提供了兩路的d/a轉(zhuǎn)換通道,分別是dac1、dac2。在實際的應(yīng)用中我們也可以采集其他的模擬信號,如電壓信號。 圖 3-9 d/a部分電路圖8復(fù)位功能模塊:按下復(fù)位鍵,使整個61板復(fù)位。 圖 3-10 圖 3-119端口部分如圖3-12所示:數(shù)據(jù)的輸入與輸出 圖 3-12 端口部分電路圖3.2 pcb
21、布局布線規(guī)則根據(jù)電路的功能模塊,對電路的全部元器件進行布局時,要符合以下原則:(1)按照電路的流程安排各個功能電路單元位置使布局便于信號流通,并使信號盡可能保持一致方向。(2)以每個功能電路的核心器件為中心,圍繞它來進行布局,元件應(yīng)均勻、整齊、緊湊地排列在pcb板上,盡量減少和縮短各元器件之間的引線和連接。(3)在高頻下工作的電路,要考慮元器件之間的分布參數(shù),一般電路應(yīng)盡可能使元器件平行排列,這樣不但美觀,而且裝焊容易。(4)雙面印制板中在同一層中不允許有交叉電路,對于可能交叉的線條,可以用“鉆”、“繞”兩種辦法解決,對于實在無法通過的引線采用過孔在另一層布線(過孔應(yīng)越少越好),同一級的電路接
22、點應(yīng)盡量靠近,并且本級電路的電源濾波電容也應(yīng)接在該級接地點上。(印制板布局和布線應(yīng)在講究功能的同時與美觀程度相互達(dá)到和諧)3.3 印制電路板設(shè)計主要事項 (1)元件封裝-元件的封裝圖最好根據(jù)實際的元件自制,以免出錯。(2)焊盤大小-特別注意的是元件焊盤大小的設(shè)計,應(yīng)根據(jù)元件大小設(shè)計合適的焊盤大小,勿過大或者過小。(3)工作層-keepout layer禁止布線層,元件布局和走線都應(yīng)該與印制板邊沿保持大約1mm的間隙,所以應(yīng)該選取一個機械層繪制印制板輪廓,而適當(dāng)“縮小”,用禁止布線層繪制真實的布線限制范圍。另外,在布線時,注意層的正確選擇。(4)走線-電源線和接地的走線應(yīng)比元件之間的走線要寬一些
23、,應(yīng)做到走線寬窄有度。設(shè)計電路原理圖和pcb時,所有的元件標(biāo)示要清晰準(zhǔn)確,器件的型號也要清楚,然后要求美觀。 (pcb電路圖見附錄5)3.4 電路板焊接(1)安全-盡量避免烙鐵與電源線相接觸,更要避免燙傷自己。切記在進行焊接時不要甩動烙鐵以免融化的焊錫傷到其他同學(xué)?。?)電路板擺放-焊接時電路板要處理的一面向上放平,另一面與桌面相隔一定的距離,利于底面的散熱,可以先把四個支腳接上,這樣就可以方便焊接。(3)元件焊接-可以先在要焊接元件的焊盤上預(yù)熱幾秒種,這樣有助于焊錫的融化和焊接的牢固.在焊接完一個元件時烙鐵頭與焊接水平面成45快速從焊點上抽掉。焊點表面要光亮圓滑,焊錫不要過多過少,一般保證焊
24、錫表面不上凸略下凹即可。在發(fā)現(xiàn)焊接元件困難時,可用適量的松香來助焊以讓元件更好的與板結(jié)合,在焊接前可以在元件的引腳上和電路板的焊盤上涂抹適量的松香,這樣會使焊接更加成功(4)拆除焊接不理想的元件-準(zhǔn)備好吸錫器或焊錫槍,在焊錫被融化的時候用吸錫器 吸走焊錫,取下元件重新焊接.(5)清潔烙鐵頭-如果烙鐵頭氧化不易上錫,要用專用的濕泡沫塑料或濕的餐巾紙擦凈,不要用刀刮或用銼刀銼,也不要將烙鐵頭直接放進焊油盒接觸焊油。(6)焊接流程圖如圖3-13所示:spy0029a電阻二極管晶振獨石電容電解電容瓷片電容電源整體初檢焊接所有電容焊接按鍵,電位器發(fā)光二極管電源座第二次電源測試單排插針五針座麥克風(fēng)芯片座焊
25、接管腳修整 圖 3-13 61板焊接流程i/o部分程序下載成功?按鍵部分電源部分測試晶振部音頻輸入部分音頻輸出部分72hc244部分d/a部分pwm部分na/d部分2.硬件調(diào)試:1) 測試61板是否有短路:將j5的2,3腳短接,用萬用表測試j10的電阻是否為0.若為0則可能短路了,非0則正常測試61板電源部分是否正常接上電池,打開電源,查看發(fā)光二極管是否點亮,點亮說明正常,否則可能部分器件有問題。2)語音輸入部分測試:接上喇叭,用排線將ioa的低八位和iob的低八位相連,ioa的高八位和iob的高八位相連,按下reset復(fù)位鍵,key4。把j2的左邊兩腳短接,聽到“i/o測試成功”后,按鍵ke
26、y3(聽見喇叭有很大噪音是正?,F(xiàn)象)現(xiàn)象一:無波形 結(jié)論:音頻輸入部分有問題;現(xiàn)象二:有不規(guī)則波形出現(xiàn); 結(jié)論:正常3)語音輸出部分測試:按照音頻輸入部分的條件進行測試,用示波器查看波形現(xiàn)象一:無波形 結(jié)論:音頻輸出部分不正常現(xiàn)象二:有波形 結(jié)論:正常 圖 3-14 61板測試流程圖4)下載61板自檢程序測試,聽語音測試報告。當(dāng)其不能測試時,先檢查spy0029是否焊接好,大多數(shù)沒有通過的都是在這里出現(xiàn)問題,如果仍然沒有通過,檢查是否有元件焊錯位置,尤其是獨石電容,另外檢查二極管是否焊接倒置,再檢查電解電容有沒有焊錯位置。3.5 led模組介紹1.模組資源:(1)8個按鍵,可以組成18 按鍵,
27、也可以組成24 按鍵;(2)8個發(fā)光二極管;(3)6 位8 段led 數(shù)碼管;(4)一個電位器,提供05v 的模擬電壓信號。2.led 鍵盤模組接口說明圖如下圖3-15所示: 圖3-15 led 模組接口說明圖3.接口說明:led 模組使用十分簡單,直接用排線與61板i/o 接口相連即可。(1)keytepe 選擇接口此接口是選擇2*4key 還是1*8key,具體選擇方式如下:從左至右看,將第1 至4 短接塊連接,選擇了2*4key;只將第5個短接塊短接,選擇1*8key。選擇2*4key 接口連接示意圖如圖3-16所示: 圖3-16 選擇2*4key 時keytepe 接口連接示意圖選擇1
28、*8key 接口連接示意圖如圖3-17所示: 圖 3-17 選擇1*8key 接口連接示意圖 (2)2*4key 接口2*4key 的第1 組行定義為row1,第2 組行定義為row2,4 列定義為col1col4。使用時col1 是k1 和k5 的輸入,col2 是k2 和k6 的輸入,col3 是k3 和k7的輸入,col4是k4 和k8 的輸入。用戶可自行選擇row1 與row2 接至vdd 還是gnd,但同一時間只能使用一組。av 是模擬電壓輸出端,通過調(diào)整r20 可以改變av 的值,av 的最大輸出值與vdd 相同。d_dp 是第4 位數(shù)碼管后時鐘冒號的位信號控制端。圖3-18 2*
29、4key 接口圖及使用示意圖(3)1*8key 接口1*8key 的8 列分別定義為col1col8,1 行定義為row1。 圖 3-19 1*8key 接口圖及使用示意圖(4)dig 接口6 位數(shù)碼管的段發(fā)光管陽極和8 個led 指示燈的陽極并聯(lián),并且8 個led 指示燈采用共陰極方式。6 位數(shù)碼管的陰極和8 個led 的共陰極分別用dig 接口的dig1dig7 控制,第4 位數(shù)碼管后時鐘冒號的位信號用dig8 控制,位信號均為高有效。 圖 3-20 dig接口示意圖(5)seg 接口ag、dp 是6 位數(shù)碼管的段信號和8 個led 指示燈的陽極控制信號輸入端??刂菩盘枮楦哂行c61 板配
30、套使用時,2、3、4 接口可用排線直接連至61 板的ioa 或iob 接口。 圖 3-21 seg接口示意圖3.6軟件設(shè)計3.6.1 c語言簡介c語言具有語言簡潔、緊湊,使用方便、靈活,運算符豐富,數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu);具有結(jié)構(gòu)化的控制語句(如if.else語句、whi1e語句、dowhi1e語句、for語句)。語法限制不大嚴(yán)格,程序設(shè)計自由度大;語言允許直接訪問物理地址;生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高等優(yōu)點,而且用語言編寫的程序可移植性好。3.6.2 凌陽nsp匯編語言nsp的匯編指令只有單字和雙字兩種,其結(jié)構(gòu)緊湊,且最大限度地考慮了對高級語言中c語言的支持。另外,
31、在需要尋址的各類指令中的每一個指令都可通過與6種尋址方式的組合而形成一個指令子集,目的是為增強指令應(yīng)用的靈活性和實用性。而算術(shù)邏輯運算類指令中的16位16位的乘法運算指令(mul)和內(nèi)積運算指令(muls),又提供了對數(shù)字信號處理應(yīng)用的支持。此外,復(fù)合式的移位算術(shù)邏輯操作指令允許操作數(shù)在經(jīng)過alu的算邏操作前可先由移位器進行各種移位處理,然后再經(jīng)alu的算邏運算操作。靈活、高效是nsp指令系統(tǒng)的顯著特點。 代碼流動結(jié)構(gòu)示意圖如圖3-22所示: 圖 3-22 代碼流動結(jié)構(gòu)示意圖3.7 凌陽unspide184集成開發(fā)環(huán)境簡介 nsp ide 是由凌陽科技提供的一個集成開發(fā)環(huán)境,它集程序的編輯、編
32、譯、鏈接、調(diào)試和仿真等功能為一體。具有友好的交互界面、下拉菜單、快捷鍵和快速訪問命令列表等,使程序設(shè)計工作更加方便、高效。此外它的軟件仿真功能可以不連接仿真板模,擬硬件的部分功能來調(diào)試程序。(1)編程工具:凌陽unspide184如圖3-23所示。 圖3-23 ide184界面(2)程序建立:建立項目:安裝unspide184,啟動unspide184編程工具,進入界面后用鼠標(biāo)左鍵單擊file下拉菜單new 彈出new 對話框,如下圖所示;在該窗口中選中project 標(biāo)簽并在file 的文本框中鍵入項目的名稱;用鼠標(biāo)左鍵單擊new 對話框里的ok 按鈕,則項目建立完成。圖 3-24 新建項目
33、、文件對話框(3)在spj文件下建立main.c 主程序、isr.asm中斷程序,key.asm中斷程序,flash.asm(4)添加設(shè)計所需要的庫文件,資源文件,語音文件。這里連接sacmv26e庫文件。(5)添加程序所需頭文件:選擇project-and to project-files添加所頭頻文件。(6)添加程序音頻文件: 選擇project-and to project-resourrce選取所需音頻文件。 圖3-25 link屬性圖3.8 程序設(shè)計3.8.1 主程序模塊實現(xiàn)功能: (1)通過調(diào)用凌陽spce061a單片機的語音函數(shù)sacm_a2000和_ sacm_s480_分別實
34、現(xiàn)開機播放音樂和人工提示音。(2)調(diào)用凌陽sacm_dvr錄音函數(shù)實現(xiàn)錄音、放音功能.(3)通過調(diào)用鍵盤掃描函數(shù)f_key_scan 和鍵值獲取函數(shù)key = sp_getch()接收鍵值, 經(jīng)case語句選擇分支語句。(4)調(diào)用凌陽time count 、timereport、leddispdig(1,i)、ledlights(x);函數(shù)實現(xiàn)計時,報時功能以及時長顯示功能和點亮外接led模組中的二極管。 開機播放提示音判斷按鍵?key2?key1??開始錄音,同時開始計時判斷按鍵?key3?key3?key1?key2?停止錄音,計時,報告錄音時長,顯示錄音時長,點亮二極管。key3?播放錄
35、音結(jié)束退出 主程序流程圖(代碼見附錄1)3.8.2 語音提示 此次設(shè)計充分利用了凌陽sepc061sa單片機的語音播報功能,在設(shè)計中使用s480在錄音前自動播報提示語音,這樣設(shè)計出來的作品更具有新意性。(1)語音壓縮:此過程主要是將wave文件轉(zhuǎn)成凌陽音頻格式文件。第一步:利用pc機自帶的錄音機錄制一段音樂,要注意語音文件的屬性,最好選擇為8khz, 16位,單聲道的語音文件,并將其保存。第二步:利用壓縮工具將錄制的語音文件進行壓縮,壓縮時注意壓縮算法及編碼率的選擇,壓縮完成后將其保存以便語音資源文件的添加。(2)壓縮過程: 第一步: 圖 3-26 用戶可以選擇壓縮多個文件和單個文件,默認(rèn)是單
36、個文件;第二步: 圖 3-27通過瀏覽按鈕選擇選擇錄制wave文件,點擊下一步;第三步: 圖 3-28選擇結(jié)束后(此次設(shè)計選用s480),點擊“壓縮”,壓縮結(jié)束后,點擊“下一步”。 圖 3-27雙擊壓縮前后的文件名稱會有該文件的聲音播放,用戶對比壓縮前后語音音質(zhì)的變化。值得注意的是,記得要將壓縮好的文件添加到語音資源庫,同時也要在resource里面手工添加語音文件。調(diào)試出錯情況及解決方法:1.現(xiàn)象:下載后運行,沒有聲音修改部分:仔細(xì)檢查程序后,修改(含有下劃線部分為修改處);int main() system_initial(); playrespond(13);(添加在語音列表中要播放的語
37、音)play_s480(0); sacm_dvr_initial(manual); status = stop;2.出現(xiàn)亂音。修改部分:經(jīng)檢查,寫地址與程序地址重復(fù),經(jīng)修改起始寫地址后排除。#define c_flashsize 0xfb00/flash可使用最大地址為:fbffh。#define sector 0xed00/定義flash寫的起始地址3.8.3 倒計時利用外接的led鍵盤模組進行顯示,倒計時功能能夠提醒用戶適當(dāng)?shù)匿浺魰r刻,解決了一按key1鍵就開始錄音而導(dǎo)致聲音無法完全錄入的問題。(leddispdig函數(shù)流程見3.8.5部分錄音時長顯示)開始調(diào)用leddispdig(pos
38、,i)函數(shù)顯示倒計時設(shè)置a口與b口,并將數(shù)據(jù)送到a口調(diào)用delay()函數(shù)結(jié)束倒計時流程圖調(diào)試出錯情況及解決方法:1.程序編譯沒錯誤,下載到61a板上數(shù)碼管無顯示且錄音功能破壞。出錯原因:調(diào)用leddispdig(pos,i)程序位置出錯。解決方法:改變leddispdig(pos,i)調(diào)用位置。2.倒計時顯示數(shù)字時中間間隔時間大于預(yù)期(1秒)時間。出錯原因:延時for語句位置放置出錯。解決方法:改變延時for語句的位置。3.倒計時顯示數(shù)字時中間間隔時間小于預(yù)期(1秒)時間,不能很好的顯示321數(shù)字。 出錯原因:延時for語句中的延時值(j)過小。 解決方法:改變j的值,使它在1秒左右。4.l
39、ed顯示倒計時后的1不能消失影響后面的錄音計時。 出錯原因:leddispdig(pos,i)程序內(nèi)的dig值沒有清零。 解決方法:編寫一條清零語句或調(diào)用delay()函數(shù)。3.8.4 錄音計時和時長播報該功能模塊采用2hz系統(tǒng)中斷來計算錄音時長,當(dāng)按下錄音鍵3秒倒記時結(jié)束后記時開始,按下停止鍵計時結(jié)束,并通過a2000播報出錄音時長。計時程序見附錄1中的system.asm。開始調(diào)用函數(shù)timereport();先調(diào)用函數(shù)readrealsecond();再調(diào)用函數(shù)playspeaksecond();調(diào)用函數(shù)playrespond ();(playrespond();結(jié)束開始調(diào)用函timer_initial();先調(diào)用函數(shù)timer_clear();調(diào)用函數(shù)calendar_counter();(playrespond();結(jié)束 中斷調(diào)用流程,在main()函數(shù)中 播報錄音時長調(diào)用流程調(diào)試出錯情況及解決方法:1.中斷程序有可能沒有調(diào)用?,F(xiàn)象:計數(shù)值不會改變。解決方法:改變函數(shù)的調(diào)用位置,使之被調(diào)用到。2.中斷程序有可能沒有被執(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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 檐口施工方案
- 消防管線防腐施工方案
- 房屋翻修專項施工方案
- 和田地暖施工方案
- 煤氣施工方案
- 顯示屏施工方案
- 小型頂管施工方案
- 整裝鍋爐吊裝施工方案
- 燈塔施工方案
- TSHQAP 017-2024 生物醫(yī)藥廠房設(shè)計GMP 合規(guī)導(dǎo)則
- 寫作:廣告詞-【中職專用】高二語文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護理查房課件
- 多元智能教育培養(yǎng)學(xué)生全面發(fā)展的核心能力培訓(xùn)課件
- 學(xué)習(xí)投入度測量工具
- 各種螺釘尺寸-標(biāo)準(zhǔn)螺釘尺寸表
- 高速通道施工方案
- 頸椎損傷的識別與處理
- 銷售人員人才畫像
- 智能化工程施工重難點分析
- (完整版)建筑工程技術(shù)畢業(yè)論文
- 工業(yè)用烤箱安全操作規(guī)程范本
評論
0/150
提交評論