新型語音電子鐘設(shè)計(jì)剖析_第1頁
新型語音電子鐘設(shè)計(jì)剖析_第2頁
新型語音電子鐘設(shè)計(jì)剖析_第3頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要本文根據(jù)單片機(jī)的優(yōu)點(diǎn),根據(jù)采用振蕩器的普通電子鐘的設(shè)計(jì)原理入手,設(shè)計(jì)了一 款具有語單識(shí)別、報(bào)時(shí)、秒表等功能的新型語單電子鐘。詳細(xì)介紹了本語音電子鐘系統(tǒng) 的硬件和軟件設(shè)計(jì)。硬件:?jiǎn)纹瑱C(jī)系統(tǒng)(DAC(ADC語音識(shí)別、定時(shí) 計(jì)數(shù)等)、時(shí)鐘芯片 單元、音頻輸入輸出單元、顯示單元、接口電路單元、電源電路單元、鍵盤中斷單元。 軟件:初始化主程序系統(tǒng)、各功能子系統(tǒng)、中斷服務(wù)子系統(tǒng)。本設(shè)計(jì)系統(tǒng)采用具有dsp(數(shù) 字信號(hào)處理)和雙通道DAC的APCE061AI片機(jī)和SPLC501A(64亍X 128列)來完成。關(guān)鍵字:新型電子鐘語單識(shí)別 SPCE061A LCD12864AbstractAccording

2、to the advantagesof using microcontroller, according to the design of the oscillators ordinary electric clock multi-duties, designed a paragraph of time, with voice recog niti on, the new voice fun cti ons such as a stopwatch electric clock. Detailed in troduced this speech electric clock system har

3、dware and software desig n. Hardware: the sin gle-chip microcomputer system (DAC (ADC, speech recog niti on regular coun ti ng), clock chip un it, audio in put/output un it, display un it, in terface circuit un its, power supply circuit un its, keyboard interrupt unit. Software: initialization main

4、program system, each function subsystem, interrupt service subsystem. This design system using a DSP (digital signal processor) and the dual channel DAC spce061A, and splc501A (64 do x 128 column) to complete.Keyword: New electric clockSpeech recognition SPCE061A LCD12864第一章引言 1第一節(jié)設(shè)計(jì)背景和意義 1第二節(jié)研究現(xiàn)狀及未

5、來技術(shù)發(fā)展 1第二章 研究的主要內(nèi)容及預(yù)期目標(biāo) 3第一節(jié)研究的理論基礎(chǔ) 3第三章系統(tǒng)的硬件設(shè)計(jì) 4第一節(jié)ISPCE061單片機(jī)系統(tǒng)電路 4第二節(jié)晶振電路 6第三節(jié)麥克風(fēng)輸入電路 7第四節(jié)音頻輸出電路 7第五節(jié)電源電路 8第六節(jié)SPLC501液晶顯示系統(tǒng)電路 8第七節(jié) 電路板、pc連接電路(下載區(qū)) 9第四章系統(tǒng)的軟件設(shè)計(jì) 11第一節(jié) 中斷程序系統(tǒng) 11第五章系統(tǒng)調(diào)試 26第六章研究結(jié)果及結(jié)論 28致謝 29參考文獻(xiàn) 30第一章引言第一節(jié)設(shè)計(jì)背景和意義電子鐘表是一種用電能為動(dòng)力的計(jì)時(shí)器, 利用數(shù)字電路來顯示秒、分、時(shí)的 計(jì)時(shí)裝置。其基本組成部分一般由電子元器件構(gòu)成。采用 LCD顯示裝置。電子鐘

6、中使用最多的是石英電子鐘。由于采用了振蕩頻率穩(wěn)定的石英振蕩器和相應(yīng)的集 成電路,石英電子鐘比其他各類鐘有明顯的優(yōu)越性, 包括走時(shí)精度高、穩(wěn)定性好、 使用方便、耗電量小、走時(shí)延續(xù)時(shí)間長(zhǎng)、體積小、功能多、制造成本低、顯示直 觀等,因而得到廣泛應(yīng)用。隨著人們生活環(huán)境的不斷改善和美化, 在許多場(chǎng)合可 以看到數(shù)字電子鐘。時(shí)鐘和日期在現(xiàn)代的生產(chǎn)和生活中占很重要的地位, 但目前市場(chǎng)上各式各樣的電子鐘大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜,功率損耗大并且無新意,呆板死氣。因此有必要對(duì)數(shù)字電子鐘進(jìn)行改進(jìn),通過高新的技術(shù)和高技術(shù)的硬件結(jié)合來設(shè)計(jì)新型的電子鐘產(chǎn)品。本設(shè)計(jì)主要是對(duì)電子鐘的功能的增強(qiáng),在滿足平時(shí)一般的生活

7、需求的同時(shí)對(duì)其人 性化設(shè)計(jì),具有語音識(shí)別控制、備忘錄提示等功能。第二節(jié)研究現(xiàn)狀及未來技術(shù)發(fā)展本設(shè)計(jì)對(duì)普通電子鐘改進(jìn)的主要技術(shù)是語音識(shí)別技術(shù)和超大規(guī)模集成電路技術(shù)。語音識(shí)別技術(shù)包括信號(hào)處理、模式識(shí)別、概率論和信息輪、發(fā)聲機(jī)理和聽覺機(jī)理、 人工智能等。本系統(tǒng)的語音識(shí)別包括前端處理、模式匹配來實(shí)現(xiàn)人工智能。語音 識(shí)別的研究始于20世紀(jì)50年代,60年代和70年代初語音識(shí)別最重要的發(fā)展是 語音信號(hào)線性預(yù)測(cè)編碼(LPC技術(shù)和動(dòng)態(tài)時(shí)間規(guī)整(DTW技術(shù)1,有效地解 決了語音信號(hào)的特征提取和時(shí)間不等長(zhǎng)匹配問題,對(duì)特定人的語音識(shí)別十分有 效。研究特點(diǎn)以孤立字語音識(shí)別為主,通常把孤立字作為一個(gè)整體來建立模塊。80

8、年代,語音識(shí)別研究重點(diǎn)之一是鏈接詞語音識(shí)別,開發(fā)了各種連接詞語音識(shí) 別和關(guān)鍵詞識(shí)別算法,如多級(jí)動(dòng)態(tài)規(guī)劃語音識(shí)別算法 2。目前在語音識(shí)別研究領(lǐng)域非?;钴S的課題為穩(wěn)健語音識(shí)別、 說話人自適應(yīng)技 術(shù)、大詞匯量關(guān)鍵詞識(shí)別算法、語音說識(shí)別的可信度評(píng)測(cè)算法?;陬惖恼Z言模 型和自適應(yīng)語言模型,一級(jí)深層次的自然語音的理解。 3國內(nèi)外語音識(shí)別根據(jù)說話人可以分為:特定人,任意人。本系統(tǒng)特性為特定人的簡(jiǎn)單語音識(shí)別。語音 識(shí)別未來面臨的主要問題:自然語言的識(shí)別和理解、語音信息量大、語音的模糊性、語音特性的變動(dòng)、環(huán)境噪聲和干擾降低了識(shí)別率。4單片機(jī)是超大規(guī)模集成電路技術(shù)的產(chǎn)物,包括中央處理器CPU存儲(chǔ)器、定時(shí)/計(jì)數(shù)器

9、、中斷系統(tǒng)、I/O和DAC(ADO電路。早起單片機(jī)都是8位或者4位的, 隨著技術(shù)的發(fā)展高端的32位單片機(jī)誕生,主頻超過300MHz處理速度提高很多 倍。單片機(jī)由于集成度高,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,模塊化,可靠性高,處理速度快,目 前在生活中的各個(gè)領(lǐng)域隨處可見,廣泛應(yīng)用于儀器儀表、航空航天、醫(yī)用設(shè)備等。 單片機(jī)誕生于 20世紀(jì)70年代末,經(jīng)歷了 SCM MCU SoC三大階段。隨著超 大規(guī)模集成電路技術(shù)的發(fā)展,單片機(jī)的應(yīng)用更加廣泛和深入。第二章 研究的主要內(nèi)容及預(yù)期目標(biāo)第一節(jié)研究的理論基礎(chǔ)理論基礎(chǔ):(1)模/數(shù)電子技術(shù)(2)電路分析原理(3)單片機(jī)原理(4)數(shù)字信號(hào)處理(DSP(5)語音識(shí)別技術(shù) 研究的主

10、要內(nèi)容:(1)語音識(shí)別技術(shù)(2)D/A、A/D 技術(shù)(3)數(shù)字信號(hào)處理(DSP技術(shù)(4)接口電路及鍵盤電路設(shè)計(jì)(5)系統(tǒng)的各子程序模塊設(shè)計(jì)(6)系統(tǒng)的穩(wěn)定性和抗干擾性 系統(tǒng)的預(yù)期目標(biāo)和可行性:(1)系統(tǒng)的預(yù)期目標(biāo)(2)1SPLC5011面顯示時(shí)間、日期、星期(3)時(shí)間的可調(diào)性和鬧鈴選擇(4)備忘錄提示(5)語音識(shí)別控制報(bào)時(shí)功能(6)系統(tǒng)的可行性(7)系統(tǒng)的穩(wěn)定性本系統(tǒng)采用高度集成的單片機(jī) SPCE061A處理速度快,SPCE061A勺實(shí)時(shí)時(shí) 鐘32768Hz經(jīng)過PLL倍頻電路產(chǎn)生系統(tǒng)時(shí)鐘頻率再經(jīng)過分頻得到CPU時(shí)鐘頻率。時(shí)基信號(hào)來于32768HZ為系統(tǒng)提供中斷信號(hào)。電源的的前后兩組電容用來去耦

11、濾 波。5為了獲得標(biāo)準(zhǔn)3.3V電壓,在板子上加入 SPY0029A三端穩(wěn)壓器,兩個(gè) 二極管,是為防止誤將電源接反造成不必要損失保證了系統(tǒng)的穩(wěn)定性。第三章系統(tǒng)的硬件設(shè)計(jì)第一節(jié)ISPCE061單片機(jī)系統(tǒng)電路圖3.1 .1系統(tǒng)硬件結(jié)構(gòu)圖系統(tǒng)的硬件電路包括:?jiǎn)纹瑱C(jī)系統(tǒng)(DAC(ADC語音識(shí)別、定時(shí)/計(jì)數(shù)等)、 時(shí)鐘芯片單元、音頻輸入輸出單元、顯示單元、接口電路單元、電源電路單元、 鍵盤中斷單元。IOA的高八位接到液晶模組的八個(gè)數(shù)據(jù)端,同時(shí)也連接了液晶模組的電源,即直接用一根10pin的排線連接61板“ +”、IOA815“- ”與SPLC501A液晶顯示模組的“ +”、DB07 “- ”,主要用來向液

12、晶模組傳送命令和數(shù)據(jù);IOB6接 EP, IOB5接R/W IOB4接AQ用來控制液晶的顯示和工作方式。3.1SPCE061單片機(jī)系統(tǒng)電路-AS3mA = EZ- 二_二 s S2 as32 as ss 02 咗晏 WIA 董 3KF.W10Bi:a:j4舄已:2JJA: 1K)A:皿7mlK.ll umA 1KKIA sff22-第Jn存P產(chǎn)”LF-”& ,*二二一s10工 rem:-Z2L1LJ1 TOZEiDASiAC2 VF:AflC-IMAQQQ芝KASMiff圖系統(tǒng)電路圖附系統(tǒng)的存儲(chǔ)單元分段SPCE061A包括:FLASH (閃存)、SRAM靜 態(tài)內(nèi)存)、通用I/O 端口、定時(shí) 器

13、/計(jì)數(shù)器、中斷控制、CPU時(shí)鐘鎖相環(huán)(PLL)、ADq模擬數(shù)字轉(zhuǎn)換器)、DAC(數(shù) 字模擬轉(zhuǎn)換器)輸出、UART(同步串行輸入輸出接口)、SIO (串行輸入輸出接口)、 低電壓監(jiān)測(cè)/低電壓復(fù)位模塊、Watchdo聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng) 放大器,并具有自動(dòng)增益控制(AGC功能。內(nèi)置在線仿真電路接口ICE (在線實(shí)時(shí)仿真/除錯(cuò)器)。SPCE061A的系統(tǒng)時(shí)鐘由時(shí)鐘發(fā)生器(32768Hz晶振)、鎖相環(huán)(PLL)和時(shí)間基準(zhǔn)信號(hào)(RTC組成。32768Hz的實(shí)時(shí)時(shí)鐘經(jīng)過PLL倍頻電路產(chǎn)生系統(tǒng)時(shí)鐘頻率(Fosc),F(xiàn)osc再 經(jīng)過分頻得到CPU時(shí)鐘頻率(CPUCLK)鎖相環(huán)PLL (Phase

14、 Lock Loop) 振蕩器 電路的作用是將系統(tǒng)提供的實(shí)時(shí)時(shí)鐘的基頻(32768Hz)進(jìn)行倍頻。時(shí)間基準(zhǔn)信號(hào), 簡(jiǎn)稱時(shí)基信號(hào),來自于 32768Hz實(shí)時(shí)時(shí)鐘,通過頻率選擇組合而成。時(shí)基信號(hào) 發(fā)生器為定時(shí)/計(jì)數(shù)器提供各種頻率選擇信號(hào)并為中斷系統(tǒng)提供中斷源信號(hào)。此 外,時(shí)基信號(hào)發(fā)生器還可以通過分頻產(chǎn)生時(shí)基信號(hào),為中斷系統(tǒng)提供各種實(shí)時(shí)中斷源信號(hào)。第二節(jié)晶振電路VCP3300pCIOi/S3 104圖3.2晶振電路32768Hz的實(shí)時(shí)時(shí)鐘經(jīng)過PLL倍頻電路產(chǎn)生系統(tǒng)時(shí)鐘頻率(Fosc), Fosc再經(jīng)過分頻得到 CPU時(shí)鐘頻率(CPUCLK)鎖相環(huán)PLL (Phase Lock Loop) 振蕩器電路

15、的作用是將系統(tǒng)提供的實(shí)時(shí)時(shí)鐘的基頻(32768Hz)進(jìn)行倍頻。時(shí)間基準(zhǔn)信號(hào),簡(jiǎn)稱時(shí)基信號(hào),來自于32768Hz實(shí)時(shí)時(shí)鐘,通過頻率選擇組合而成。時(shí)基信號(hào)發(fā)生器為定時(shí)/計(jì)數(shù)器提供各種頻率選擇信號(hào)并為中斷系統(tǒng)提供中斷源 信號(hào)。此外,時(shí)基信號(hào)發(fā)生器還可以通過分頻產(chǎn)生時(shí)基信號(hào),為中斷系統(tǒng)提供各種實(shí)時(shí)中斷源信號(hào)。第三節(jié)麥克風(fēng)輸入電路此電路主要人通過MIC把語音信號(hào)輸入到系統(tǒng)中,單片機(jī)通過 dsp算法、 AD轉(zhuǎn)換存儲(chǔ)在flash中,然后通過API函數(shù)模式匹配進(jìn)行語音控制識(shí)別及時(shí)報(bào) 時(shí)等。第四節(jié)音頻輸出電路時(shí),DAC0輸出電壓(1/2 AVdd)與輸入電壓 Vin進(jìn)行比較。如果 Vin VDAC,保持原先設(shè)置

16、為1的位(最高有效位)仍為1 ;否則,該位會(huì)被清為0。這個(gè)過程重復(fù)10次,直到這些位都被比較過。轉(zhuǎn)換結(jié)果將會(huì)保存在SAR內(nèi)。A/D轉(zhuǎn)換完成之后,P_ADC_Ctrl (讀)($7015H)的第15位RDY被置為” 1”。第五節(jié)電源電路圖3.5電源電路采用3節(jié)5號(hào)電池進(jìn)行供電,由J10接入,其中的前后兩組電容用來去耦濾波,使其供給芯片更加平滑。為了獲得標(biāo)準(zhǔn)3.3V電壓,在板子上加入SPY0029A三端穩(wěn)壓器。兩個(gè)二極管,是為防止誤將電源接反造成不必要損失而 設(shè)置的,在操作過程中千萬不要將電源接反, 因?yàn)榉聪螂妷撼^一定的值,二極 管將會(huì)被損壞,達(dá)不到保護(hù)的目的。后面的零電阻及其電源分不同的幾路是

17、為了 減少電磁干擾設(shè)置的。第六節(jié)SPLC501液晶顯示系統(tǒng)電路丄4=十 一 r 豐CE口I31二 C1圖3.6液晶顯示系統(tǒng)電路SPLC501為液晶顯示控制驅(qū)動(dòng)器,集行、列驅(qū)動(dòng)器和控制器于一體,廣泛應(yīng) 用于小規(guī)模液晶顯示模塊。SPLC501單芯片液晶驅(qū)動(dòng),可以直接與其他微控制器 接口總線相連。微控制器可以將顯示數(shù)據(jù)通過8位數(shù)據(jù)總線或者串行接口寫到SPLC501的顯存中。SPLC501的特點(diǎn):1. 內(nèi)置8580位顯示RAM RAM中的一位數(shù)據(jù)控制液晶屏上的一個(gè)象素點(diǎn)的亮、 暗狀態(tài)?!?T亮“0”暗。2. 具有65行驅(qū)動(dòng)輸出和132列驅(qū)動(dòng)輸出。3. 可以直接與80系列和68系列微處理器相連。4. 內(nèi)

18、置晶振電路,也可以外接晶振。5. 工作溫度范圍為一40攝氏度和+ 85攝氏度之間。SPLC501液晶顯示模組采用 GPG12063YS3 LC模塊,此模塊內(nèi)嵌 SPLC501芯片, 采用先進(jìn)的COG技術(shù),將 芯片嵌在LCD玻璃上。第七節(jié) 電路板、pc連接電路(下載區(qū))ICE基本運(yùn)行方式是通過控制clock及通過ICE偽指令方式,來控制CPU的運(yùn)行及緩存器資料和內(nèi)存資料的存取,因此必須通過控制緩存器值的設(shè)定來控制 目前CPU的動(dòng)作。板上的74HC244主要是在我們用下載線進(jìn)行程序下載時(shí)起作 用,主要起緩存的作用和完成對(duì) SDA是用來作為數(shù)據(jù)回送還是數(shù)據(jù)下載進(jìn)行選 擇。3.8晶振、指示燈、復(fù)位、電

19、源電路等略。第四章系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)就是個(gè)子程序系統(tǒng)設(shè)計(jì),包括:初始主程序、功能程序、語 音函數(shù)庫程序、中斷程序圖4.1程序結(jié)構(gòu)圖第一節(jié)中斷程序系統(tǒng)語音識(shí)別中斷語音識(shí)別技術(shù)主要是音頻壓縮技術(shù)的問題,本系統(tǒng)采用的是特定人的語音識(shí)別SD(Speaker Dependent):是指語音樣板由單個(gè)人訓(xùn)練,也只能識(shí)別訓(xùn)練人的語音命令,而他人的命令識(shí)別率較低或幾乎不能識(shí)別。8接口是API(Applicatio n Programmi ng In terface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù)。語音輸入識(shí)1!1別r模式訓(xùn)練語音模型語音輸出:API函數(shù):int BSR_DeleteSDGro

20、up(0)int BSR_Train (int Comma ndlD, i nt Train dMode)void BSR_InitRecognizer(int AudioSource)int BSR_GetResult(Void)void BSR_StopRecog nizer(void)void BSR_FIQ_Routi ne初始化:【API 格式】C: int BSR_DeleteSDGroup(0) ;ASM: F_BSR_DeleteSDGroup(0)【功能說明】SRAM初始化?!緟?數(shù)】該參數(shù)是辨識(shí)的一個(gè)標(biāo)識(shí)符,0代表選擇SRAM并初始化?!痉祷?值】當(dāng)SRAM擦除成功返回0,

21、否則,返回一1。訓(xùn)練部分:1) 【API 格式】C: intBSR_Train (intCommandID, intTraindMode);ASM: F_BSR_Train【功能說明】訓(xùn)練函數(shù)?!緟?數(shù)】CommandlD :命令序號(hào),范圍從 0x100到0x105,并且對(duì)于每組訓(xùn)練語 句都是唯一的。Train dMode:訓(xùn)練次數(shù),要求使用者在應(yīng)用之前訓(xùn)練一或兩遍:BSR_TRAIN_ONCE:要求訓(xùn)練一次。BSR_TRAIN_TWICE 要求訓(xùn)練兩次?!痉祷刂怠坑?xùn)練成功,返回0 ;沒有聲音返回一1;訓(xùn)練需要更多的語音 數(shù)據(jù)來 訓(xùn)練,返回一2 ;當(dāng)環(huán)境太吵時(shí),返回一3;當(dāng)數(shù)據(jù)庫滿,返回一4

22、;當(dāng) 兩次輸入命令不 通,返回一5;當(dāng)序號(hào)超出范圍,返回一6。【備 注】 在調(diào)用訓(xùn)練程序之前,確保識(shí)別器正確的初始化。 訓(xùn)練次數(shù)是2時(shí),則兩次一定會(huì)有差異,所以一定要保證兩次訓(xùn)練結(jié)果 接近。 為了增強(qiáng)可靠性,最好訓(xùn)練兩次,否則辨識(shí)的命令就會(huì)傾向于噪音。 調(diào)用函數(shù)后,等待2秒開始訓(xùn)練,每條命令只有1.3秒,也就是說, 當(dāng)訓(xùn)練 命令超出1.3秒時(shí),只有前1.3秒命令有效。辨識(shí)部分:1 )【API 格式】C: void BSR_InitRecognizer(int AudioSource)ASM: F_BSR_InitRecognizer【功能說明】辨識(shí)器初始化?!緟?數(shù)】定義語音輸入來源。通過MI

23、C語音輸入還是LINE_IN 電 壓模擬量輸入?!痉祷刂怠繜o。2 )【API 格式】C: int BSR_GetResult() ;ASM: F_ BSR_GetResult【返回值】=R1【功能說明】辨識(shí)中獲取數(shù)據(jù)?!緟?數(shù)】無?!痉祷刂怠?當(dāng)無命令識(shí)別出來時(shí),返回0;識(shí)別器停止未初始化或識(shí)別未激活返回-1;當(dāng)識(shí)別不合格時(shí)返回一2 ; 當(dāng)識(shí)別出來時(shí)返回命令的序號(hào)。 【備注】該函數(shù)用于啟動(dòng)辨識(shí),BSR_GetResult();3 )【API 格式】C: void BSR_StopRecognizer(void);ASM: F_ BSR_StopRecognizer【功能說明】停止辨識(shí)。【參數(shù)】

24、無?!痉祷刂怠繜o?!緜渥ⅰ吭摵瘮?shù)是用于停止識(shí)別,當(dāng)調(diào)用此函數(shù)時(shí),F(xiàn)IQ_TMA中斷將關(guān)閉。中斷部分:【API 格式】ASM : _BSR_InitRecognizer【功能說明】 在中斷中調(diào)用,并通過中斷將語音信號(hào)送 DAC通道播放?!緟?shù)】無?!痉祷刂怠繜o?!緜渥ⅰ?該函數(shù)在中斷FIQ_TMA中調(diào)用。 當(dāng)主程序調(diào)用 BSR_InitRecognizer時(shí),辨識(shí)器便打開 8K采樣率的FIQ TMA中斷并開始將采樣的語音數(shù)據(jù)填入辨識(shí)器的數(shù)據(jù)隊(duì)列中 應(yīng)用程序需要設(shè)置一下程序段在.PUBLIC _FIQ.EXTERNAL _BSR_FIQ_Rout ine.TEXT_FIQ:PUSH R1,R4 t

25、o SP/R1 = P_INT_CtrlCALL _BSR_FIQ_Routi neR1 = 0x2000/P_INT_Clear = R1POP R1,R4 from SP;/RETIENDFIQ_TMA 中:/定義全局變量寄存器入棧保護(hù)/調(diào)用子程序清中斷標(biāo)志位寄存器組出棧其中實(shí)時(shí)監(jiān)控是用來觀察辨識(shí)是否正常工作,如果辨識(shí)正常則會(huì)產(chǎn)生一圖4.3識(shí)別過程函數(shù)功能16ms連續(xù)穩(wěn)定方波,否則如果CPU超載則會(huì)產(chǎn)生不穩(wěn)定波形,此時(shí)需要?jiǎng)h除命 令,或是優(yōu)化程序否則會(huì)丟失語音數(shù)據(jù)產(chǎn)生辨識(shí)出現(xiàn)錯(cuò)誤的信息。識(shí)別識(shí)別過程: 觸發(fā)識(shí)別訓(xùn)練請(qǐng)輸入第一條命令 請(qǐng)輸入第二條命令請(qǐng)?jiān)僬f一遍(以上提示音每說完一遍出現(xiàn)此命令

26、)沒有聽到任何聲音(當(dāng)沒有檢測(cè)到聲音時(shí)出現(xiàn)此命令)兩次輸入名稱不相同兩次輸入命令不相同(當(dāng)兩次輸入的名稱不同時(shí)出現(xiàn)此命令)(當(dāng)兩次輸入的命令有差異時(shí)出現(xiàn)此命令)準(zhǔn)備就緒,請(qǐng)開始辨識(shí)(以上三條語句全部訓(xùn)練成功時(shí),進(jìn)入初始化訓(xùn)練提辨別器初始I 實(shí)時(shí)監(jiān)獲取語音數(shù)圖4.3識(shí)別功能實(shí)現(xiàn)流程圖鍵盤掃描中斷工作中1按,鍵KEY1+KEY2KEY2KEY3KEY2KEY1+KEY3+KEY3 卄1f, 1 r鬧鐘選擇播報(bào)日期播報(bào)時(shí)間功能選擇識(shí)別訓(xùn)練KEY3KEY2KEY11 rU箭頭前翻箭頭后翻確認(rèn)選擇圖4.4鍵盤選擇說明 語音播報(bào)及鬧鈴程序段:/文件名稱:bobao.c/功能描述:日期和時(shí)間的語音播報(bào)#i

27、nclude SPCE061A.h#i nclude s480.h#defi ne C_T00 0#defi ne C_T01 1#defi ne C_T02 2#defi ne C_T03 3#defi ne C_T04 4#defi ne C_T05 5#defi ne C_T06 6#defi ne C_T07 7#defi ne C_T08 8#defi ne C_T09 9#defi ne C_T10 10#defi ne C_DIAN 11#defi ne C_MIN 12#defi ne C_YEAR 13#defi ne C_MONTH 14#defi ne C_DAY 15#

28、defi ne C_BELL 16exter n un sig ned int year;exter n un sig ned int gmon th;exter n un sig ned int gday;exter n un sig ned int hour;exter n un sig ned int min;/ 語法格式:PlayRespond(unsigned int Result)/實(shí)現(xiàn)功能:對(duì)對(duì)傳入的實(shí)參序號(hào)的語音資源進(jìn)行播報(bào)void PlayResp ond(un sig ned int Result)/SACM_S480_l ni tial(1);*PN T_Ctrl_New

29、 = *PN T_Ctrl_New | 0x0004;使初始化后不影響2KZ中斷SACM_S480_Play(Result,3,3);while(SACM_S480_Status ()&0x0001) != 0)SACM_S480_ServiceLoop(); *P_Watchdog_Clear=0x0001;SACM_S480_Stop();/ 語法格式:PlaySpeakYear(int YearTemp)/實(shí)現(xiàn)功能:播報(bào)年void PlaySpeakYear(i nt YearTemp)PlayRespo nd(YearTemp/1000);PlayRespo nd(YearTemp%1

30、000)/100);PlayRespo nd(YearTemp%100)/10);PlayRespo nd(YearTemp%10);PlayRespo nd(C_YEAR);/ 語法格式:PlaySpeakMonth(int MonthTemp)/實(shí)現(xiàn)功能:播報(bào)月void PlaySpeakM on th(i nt Mon thTemp)if(Mo nthTemp 1)PlayResp on d(DayTemp/10+C_T00);/十位1報(bào)if(DayTemp/10)0)PlayRespond(C_T10);/報(bào)十,十位為 1 不報(bào) 1if(DayTemp%10)!= 0)PlayResp

31、o nd(DayTemp%10+C_T00);PlayResp on d(C_DAY);/ 語法格式:PlaySpeakHour(int DayTemp)/實(shí)現(xiàn)功能:播報(bào)時(shí) void PlaySpeakHour(i nt DayTemp)if(DayTemp10 & DayTemp20)PlayResp on d(C_T02);PlayResp on d(C_T10);PlayRespo nd(DayTemp%20);PlayRespo nd(C_DIAN);/占八、/ 語法格式:PlaySpeakMi nute(i nt Min Temp)/實(shí)現(xiàn)功能:播報(bào)分void PlaySpeakMi

32、nute(i nt Min Temp)if(Mi nTemp=0)PlayResp on d(C_T00);if(Mi nTemp/10)1)PlayRespo nd(Mi nTemp/10);十位/if(Mi nTemp/10) 0)PlayResp on d(C_T10);十位大于1報(bào),為1不報(bào)1if(Mi nTemp%10)!=0)PlayRespo nd(Mi nTemp%10);的個(gè)位不為0則報(bào)/PlayRespo nd(C_MIN);/分的分的分分/語法格式:void speaktime()/實(shí)現(xiàn)功能:播報(bào)當(dāng)前的時(shí)間void speaktime()PlayRespo nd(C_BE

33、LL);/PlaySpeakHour(hour);PlaySpeakMi nute(mi n);/報(bào)時(shí)聲時(shí)分/語法格式:void speakday()實(shí)現(xiàn)功能:播報(bào)當(dāng)前的日期void speakday()PlaySpeakYear(year);PlaySpeakM on th(gm on th);PlaySpeakDay(gday);中斷修改程序:/文件名稱:調(diào)整.asm/功能描述:中斷程序。實(shí)現(xiàn)日期時(shí)間的調(diào)整。N CLUDE SPCE061A.i ncN CLUDE s480.i nc.EXTERNAL _num.EXTERNAL _clock.EXTERNAL _gyearmo nthda

34、y.EXTERNAL _gxq.EXTERNAL _mbn um.EXTERNAL _miaobiao.EXTERNAL _in t2hz.EXTERNAL _m apcou nter1.TEXT/=/匯編語言格式:_FIQ/功能描述:FIQ的中斷服務(wù)函數(shù).PUBLIC _FIQ_FIQ:判斷是否TimerA中push r1,r5 to sp;/斷。M=0x2000;test r1,PN T_Ctrl;jnz ?L_FIQ_TimerA;r仁0x0800;test r1,PN T_Ctrl;jnz ?L_FIQ_TimerB;判斷是否為PWM中?L_FIQ_PWM:/斷。r仁C_FIQ_PWM

35、;P_INT_Clear=r1;中斷程jmp?OUT?L_FIQ_TimerA:/TimerA序P_INT_Clear=r1;call F_FIQ_Service_SACM_S480;jmp?OUT中斷程序?L_FIQ_TimerB:/TimerBP_INT_Clear=r1;?OUT:pop r1,r5 fromspreti/匯編語言格式:RQO/功能描述:IRQ0的中斷服務(wù)函數(shù).PUBLIC _IRQ0RQ0:reti/匯編語言格式:_IRQ1/功能描述:IRQ1的中斷服務(wù)函數(shù).PUBLIC _IRQ1RQ1:reti/匯編語言格式:RQ2/功能描述:IRQ2的中斷服務(wù)函數(shù).PUBLIC

36、_IRQ2RQ2:reti/匯編語言格式:_IRQ3/功能描述:IRQ3的中斷服務(wù)函數(shù).PUBLIC _IRQ3RQ3:reti/匯編語言格式:_IRQ4/功能描述:1KHZ中斷,用來實(shí)現(xiàn)秒表的修改。.PUBLIC _IRQ4RQ4:push r1,r5 tospr1=PN T_Ctrltest r1,0x0010jnz ?INT_1KHZtest r1,0x0400jnz INT_4KHZINT_2KHZ:r仁0x0020PN T_Clear=r1jmp?OUTINT_4KHZ:r仁0x0400PN T_Clear=r1jmp?OUTINT_1KHZ:r仁0x0010PN T_Clear=r

37、1r1=_mb numr仁r1+0x0001_mb nu m=r1r1=_mapco un ter1 r1=r1+0x0001_mapco un ter1=r1call _miaobiao清看r仁0x0001P_Watchdog_Clear=r1/門狗jmp OUTOUT:pop r1,r5 fromspreti/匯編語言格式:RQ5/功能描述:2HZ中斷,用來實(shí)現(xiàn)時(shí)鐘以及日期的修改.PUBLIC _IRQ5_IRQ5:push r1,r5 tospr1=PN T_Ctrltest r1,0x0004jnz ?INT_2HZINT_4HZ:r仁0x0008PN T_Clear=r1jmp ?O

38、UTINT_2HZ:r仁0x0004PN T_Clear=r1r1=_ num r1=r1+0x0001_nu m=r1調(diào)用時(shí)調(diào)用年調(diào)用星清看門call _clock/間運(yùn)算子函數(shù)call _gyearm on thday/月運(yùn)算子函數(shù)call _gxq/期運(yùn)算子函數(shù)r仁0x0001P_Watchdog_Clear=r1/狗r1=_i nt2hzcmp r1,0x0000 jnz ?GAVEr仁0x0001_in t2hz=r1jmp?OUTGAVE:r仁0x0000_in t2hz=r1OUT:pop r1,r5 fromspreti/匯編語言格式:RQ6/功能描述:IRQ6的中斷服務(wù)函數(shù).

39、PUBLIC IRQ6RQ6:reti/匯編語言格式:RQ7/功能描述:IRQ7的中斷服務(wù)函數(shù).PUBLIC _IRQ7_IRQ7:reti/匯編語言格式:_BREAK/功能描述:BREAK的中斷服務(wù)函數(shù).PUBLIC _BREAK_BREAK:reti.END第五章系統(tǒng)調(diào)試3 廚 Monthdydock flJss t 3 sdutcs Ffes 出i DataOSforLCD.asn 也 hardware.asmi 史 IRQ.asm 國 Ksy.c 國man.匚 國mod或匚 申 Monthcteyclock.rc 圉 Kesarce J匚.asmS SPLC501Driwr_IC 固

40、SPLCSOlUser-c 固?y?tern,cF LJ Head FfesF |_J Eittemal DependBnckukem void dlaplayf);ewtecn void P1spendunsigned int Result); &Kt6:tn void speoktime ();extern void keyscanf J; uk:tuin void ncx exteen void SKtem void GKtBm vaid PKtEin void extern voidtdisplcLj ; setdayO; set ring; SEt3eaond(); speaktim

41、e|); spedidajd;ew:tetii void keyinitial ();/= = 誰又如 中用到的變訛L乂及常數(shù)數(shù)組 /= unsigned unsigned unsigned unsigned unsigned unsigned unsigned unsigiiBd unsigned uniied unsicspiedint k.eylagl=Cj int KeyElag2=Q; int keyEla.g3=0; int keyflag4=0; int keyflag5=0; int keyflag6=Q; int kyf107=0; int ringflag=0; int-

42、keyvaLiiiiB=Oj int runlag=0; i曲t nun-Q;健枝下標(biāo)店1, 心儺tr卜標(biāo)畜春 鍵按下標(biāo)志久鍵按下標(biāo)志4,控制迸丿鍵技下標(biāo)志5,檯按下操蘇$,鍵按下爍志T,打徉餓檢下的慎值 當(dāng)年閏月棉恚位 “2HE計(jì)幀魚元繪制進(jìn)丿控制進(jìn)丿 控制也 控制進(jìn)丿魚日4 Edt 匪軸 &Qject Quid Tools 也ndow Help自國日勃3 & 1? Lui!即燈嘉E2 SI別莓團(tuán)_j-TT-1 di*/7時(shí)主函裁調(diào)用的函數(shù)聲甲圖5.1 IDE運(yùn)行界面IDE開發(fā)環(huán)境,具有編輯 編譯鏈接調(diào)試以及仿真等功能其友好的交互界 面下拉菜單快捷鍵和快速訪問命令列表等,使用戶的編輯調(diào)試工作

43、更加方便 和高效。此外,IDE的軟件仿真功能可以在不連接仿真板的情況下模擬硬件的各 項(xiàng)功能來調(diào)試程序。具有兩種狀態(tài):一種為編輯狀態(tài),即用戶可以對(duì)工程進(jìn)行文 件增刪、設(shè)置操作,或者對(duì)某一個(gè)源程序文件進(jìn)行程序編寫; 另一種為仿真調(diào)試 狀態(tài),即用戶的整個(gè)工程通過編譯后, 可以進(jìn)入該狀態(tài)將程序運(yùn)行起來, 以驗(yàn)證 程序正確性,或者將程序下載到 SPCE061A中,并可進(jìn)行在線調(diào)試。仿真調(diào)試狀 態(tài)又分為:軟件仿真和在線調(diào)試。工程內(nèi)各類文件:1)工程文件(spj):以spj 為擴(kuò)展名的工程文件包括創(chuàng)建一個(gè)工程所需的各 種信息2) 資源文件(rc):擴(kuò)展名為 rc 的資源文件包括當(dāng)前工程的所有資源的信 息。3

44、)資源表文件(asm)和資源表頭文件(inc)。4)Make File 文件。5)C語言包含文件(h)選擇軟件仿真,在工具欄單擊 Body選擇圖標(biāo),在彈出的Body選擇對(duì)話框的 Emulator Dll 文本框中選擇PortIO。然后編譯并運(yùn)行程序,此時(shí)就會(huì)看到 I/O 現(xiàn)象。標(biāo)號(hào)0-f中“黑”為輸入狀態(tài),“灰”為輸出狀態(tài), 按下某個(gè)輸入端相 當(dāng)于輸入一個(gè)高電平。每位I/O 口下面對(duì)應(yīng)的狀態(tài)燈“亮”表示此時(shí)輸出高電平,“暗”表示此時(shí)輸出低電平圖5.2 I/O仿真圖PWM的軟件仿真方法選擇軟件仿真,在工具欄單擊Body選擇圖標(biāo),在彈出的Body選擇對(duì)話框的Emulator Dll文本框中選擇 PWM PWM Wav窗口是數(shù)字示波器,把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),聲音數(shù)據(jù)通過PWM端口輸出,在PWMWave窗口顯示。編譯并運(yùn)行程序,在工具欄中選擇“ Set e

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論