新型語音電子鐘設(shè)計資料_第1頁
新型語音電子鐘設(shè)計資料_第2頁
新型語音電子鐘設(shè)計資料_第3頁
新型語音電子鐘設(shè)計資料_第4頁
新型語音電子鐘設(shè)計資料_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘要本文根據(jù)單片機(jī)的優(yōu)點(diǎn),根據(jù)采用振蕩器的普通電子鐘的設(shè)計原理入手,設(shè)計了一 款具有語單識別、報時、秒表等功能的新型語單電子鐘。詳細(xì)介紹了本語音電子鐘系統(tǒng) 的硬件和軟件設(shè)計。硬件:單片機(jī)系統(tǒng)(DAC(ADC語音識別、定時 計數(shù)等)、時鐘芯片 單元、音頻輸入輸出單元、顯示單元、接口電路單元、電源電路單元、鍵盤中斷單元。 軟件:初始化主程序系統(tǒng)、各功能子系統(tǒng)、中斷服務(wù)子系統(tǒng)。本設(shè)計系統(tǒng)采用具有dsp(數(shù) 字信號處理)和雙通道DAC的APCE061AI片機(jī)和SPLC501A(64亍X 128列)來完成。關(guān)鍵字:新型電子鐘語單識別 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è)計背景和意義 1第二節(jié)研究現(xiàn)狀及未

5、來技術(shù)發(fā)展 1第二章 研究的主要內(nèi)容及預(yù)期目標(biāo) 3第一節(jié)研究的理論基礎(chǔ) 3第三章系統(tǒng)的硬件設(shè)計 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è)計 11第一節(jié) 中斷程序系統(tǒng) 11第五章系統(tǒng)調(diào)試 26第六章研究結(jié)果及結(jié)論 28致謝 29參考文獻(xiàn) 30電子科技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計第一章引言第一節(jié)設(shè)計背景和意義電子鐘表是一種用電能為動力的計時器, 利用數(shù)字電路來顯示秒、分、時的 計時裝置。其基本組成部分一般由

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

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

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

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

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

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

12、模組的“ +”、DB07 “- ”,主要用來向液晶模組傳送命令和數(shù)據(jù);IOB6接 EP, IOB5接R/W IOB4接AQ用來控制液晶的顯示和工作方式。3.1SPCE061單片機(jī)系統(tǒng)電路電子科技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計-A4舄已:2S3mA = EZ- 二_二 s S2 as32 as ss 02 咗晏 WIA 董 3KF.W10Bi:a:jJJA: 1K)A:皿7mlK.ll umA 1KKIA sff2210工 rem:-Z2L1LJ1 TOZEiDASiAC2 VF:AflC-IMAQQQ芝KASMiff-rj-27*:-圖3.1.2 SPCE061系統(tǒng)電路7圖3.1.2附

13、系統(tǒng)的存儲單元分段SPCE061A包括:FLASH (閃存)、SRAM靜 態(tài)內(nèi)存)、通用I/O 端口、定時 器/計數(shù)器、中斷控制、CPU時鐘鎖相環(huán)(PLL)、ADq模擬數(shù)字轉(zhuǎn)換器)、DAC(數(shù) 字模擬轉(zhuǎn)換器)輸出、UART(同步串行輸入輸出接口)、SIO (串行輸入輸出接口)、 低電壓監(jiān)測/低電壓復(fù)位模塊、Watchdo聲音模/數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng) 放大器,并具有自動增益控制(AGC功能。內(nèi)置在線仿真電路接口ICE (在線實(shí)時仿真/除錯器)。SPCE061A的系統(tǒng)時鐘由時鐘發(fā)生器(32768Hz晶振)、鎖相環(huán)(PLL)和時間基準(zhǔn)信號(RTC組成。32768Hz的實(shí)時時鐘經(jīng)過PLL倍頻電路

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

15、sc再經(jīng)過分頻得到 CPU時鐘頻率(CPUCLK)鎖相環(huán)PLL (Phase Lock Loop) 振蕩器電路的作用是將系統(tǒng)提供的實(shí)時時鐘的基頻(32768Hz)進(jìn)行倍頻。時間基準(zhǔn)信號,簡稱時基信號,來自于32768Hz實(shí)時時鐘,通過頻率選擇組合而成。時基信號發(fā)生器為定時/計數(shù)器提供各種頻率選擇信號并為中斷系統(tǒng)提供中斷源 信號。此外,時基信號發(fā)生器還可以通過分頻產(chǎn)生時基信號,為中斷系統(tǒng)提供各種實(shí)時中斷源信號。第三節(jié)麥克風(fēng)輸入電路此電路主要人通過MIC把語音信號輸入到系統(tǒng)中,單片機(jī)通過 dsp算法、 AD轉(zhuǎn)換存儲在flash中,然后通過API函數(shù)模式匹配進(jìn)行語音控制識別及時報 時等。第四節(jié)音頻輸

16、出電路時,DAC0輸出電壓(1/2 AVdd)與輸入電壓 Vin進(jìn)行比較。如果 Vin VDAC,保持原先設(shè)置為1的位(最高有效位)仍為1 ;否則,該位會被清為0。這個過程重復(fù)10次,直到這些位都被比較過。轉(zhuǎn)換結(jié)果將會保存在SAR內(nèi)。A/D轉(zhuǎn)換完成之后,P_ADC_Ctrl (讀)($7015H)的第15位RDY被置為” 1”。電子科技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計第五節(jié)電源電路9圖3.5電源電路采用3節(jié)5號電池進(jìn)行供電,由J10接入,其中的前后兩組電容用來去耦濾波,使其供給芯片更加平滑。為了獲得標(biāo)準(zhǔn)3.3V電壓,在板子上加入SPY0029A三端穩(wěn)壓器。兩個二極管,是為防止誤將電源接反

17、造成不必要損失而 設(shè)置的,在操作過程中千萬不要將電源接反, 因?yàn)榉聪螂妷撼^一定的值,二極 管將會被損壞,達(dá)不到保護(hù)的目的。后面的零電阻及其電源分不同的幾路是為了 減少電磁干擾設(shè)置的。第六節(jié)SPLC501液晶顯示系統(tǒng)電路丄4=十 一 r 豐CE口I31二 C1圖3.6液晶顯示系統(tǒng)電路SPLC501為液晶顯示控制驅(qū)動器,集行、列驅(qū)動器和控制器于一體,廣泛應(yīng) 用于小規(guī)模液晶顯示模塊。SPLC501單芯片液晶驅(qū)動,可以直接與其他微控制器 接口總線相連。微控制器可以將顯示數(shù)據(jù)通過8位數(shù)據(jù)總線或者串行接口寫到SPLC501的顯存中。SPLC501的特點(diǎn):1. 內(nèi)置8580位顯示RAM RAM中的一位數(shù)據(jù)

18、控制液晶屏上的一個象素點(diǎn)的亮、 暗狀態(tài)?!?T亮“0”暗。2. 具有65行驅(qū)動輸出和132列驅(qū)動輸出。3. 可以直接與80系列和68系列微處理器相連。4. 內(nèi)置晶振電路,也可以外接晶振。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的動作。板上的7

19、4HC244主要是在我們用下載線進(jìn)行程序下載時起作 用,主要起緩存的作用和完成對 SDA是用來作為數(shù)據(jù)回送還是數(shù)據(jù)下載進(jìn)行選 擇。3.8晶振、指示燈、復(fù)位、電源電路等略。電子科技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計第四章系統(tǒng)的軟件設(shè)計系統(tǒng)的軟件設(shè)計就是個子程序系統(tǒng)設(shè)計,包括:初始主程序、功能程序、語 音函數(shù)庫程序、中斷程序圖4.1程序結(jié)構(gòu)圖第一節(jié)中斷程序系統(tǒng)4.1.1語音識別中斷語音識別技術(shù)主要是音頻壓縮技術(shù)的問題,本系統(tǒng)采用的是特定人的語音識別SD(Speaker Dependent):是指語音樣板由單個人訓(xùn)練,也只能識別訓(xùn)練人的語音命令,而他人的命令識別率較低或幾乎不能識別。8接口是AP

20、I(Applicatio n Programmi ng In terface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù)。語音輸入識1r1別模式訓(xùn)練語音模型語音輸出API函數(shù):int BSR_DeleteSDGroup(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_Delet

21、eSDGroup(0) ;ASM: F_BSR_DeleteSDGroup(0)【功能說明】SRAM初始化?!緟?數(shù)】該參數(shù)是辨識的一個標(biāo)識符,0代表選擇SRAM并初始化?!痉祷?值】當(dāng)SRAM擦除成功返回0,否則,返回一1。訓(xùn)練部分:1) 【API 格式】C: intBSR_Train (intCommandID, intTraindMode);ASM: F_BSR_Train【功能說明】訓(xùn)練函數(shù)?!緟?數(shù)】CommandlD :命令序號,范圍從 0x100到0x105,并且對于每組訓(xùn)練語 句都是唯一的。Train dMode:訓(xùn)練次數(shù),要求使用者在應(yīng)用之前訓(xùn)練一或兩遍:BSR_TRAIN_

22、ONCE:要求訓(xùn)練一次。BSR_TRAIN_TWICE 要求訓(xùn)練兩次。【返回值】訓(xùn)練成功,返回0 ;沒有聲音返回一1;訓(xùn)練需要更多的語音 數(shù)據(jù)來 訓(xùn)練,返回一2 ;當(dāng)環(huán)境太吵時,返回一3;當(dāng)數(shù)據(jù)庫滿,返回一4 ;當(dāng) 兩次輸入命令不 通,返回一5;當(dāng)序號超出范圍,返回一6?!緜?注】 在調(diào)用訓(xùn)練程序之前,確保識別器正確的初始化。 訓(xùn)練次數(shù)是2時,則兩次一定會有差異,所以一定要保證兩次訓(xùn)練結(jié)果 接近。 為了增強(qiáng)可靠性,最好訓(xùn)練兩次,否則辨識的命令就會傾向于噪音。 調(diào)用函數(shù)后,等待2秒開始訓(xùn)練,每條命令只有1.3秒,也就是說, 當(dāng)訓(xùn)練 命令超出1.3秒時,只有前1.3秒命令有效。辨識部分:1 )【A

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

24、動辨識,BSR_GetResult();3 )【API 格式】C: void BSR_StopRecognizer(void);ASM: F_ BSR_StopRecognizer【功能說明】停止辨識?!緟?shù)】無?!痉祷刂怠繜o?!緜渥ⅰ吭摵瘮?shù)是用于停止識別,當(dāng)調(diào)用此函數(shù)時,F(xiàn)IQ_TMA中斷將關(guān)閉。中斷部分:【API 格式】ASM : _BSR_InitRecognizer【功能說明】 在中斷中調(diào)用,并通過中斷將語音信號送 DAC通道播放?!緟?shù)】無?!痉祷刂怠繜o?!緜渥ⅰ?該函數(shù)在中斷FIQ_TMA中調(diào)用。 當(dāng)主程序調(diào)用 BSR_InitRecognizer時,辨識器便打開 8K采樣率的FI

25、Q TMA13電子科技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計中斷并開始將采樣的語音數(shù)據(jù)填入辨識器的數(shù)據(jù)隊列中 應(yīng)用程序需要設(shè)置一下程序段在.PUBLIC _FIQ.EXTERNAL _BSR_FIQ_Rout ine.TEXT_FIQ:PUSH R1,R4 to 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í)時監(jiān)控是用來觀察辨識是否正常工作,如果辨識正常則會產(chǎn)生一圖

26、4.3識別過程函數(shù)功能16ms連續(xù)穩(wěn)定方波,否則如果CPU超載則會產(chǎn)生不穩(wěn)定波形,此時需要刪除命 令,或是優(yōu)化程序否則會丟失語音數(shù)據(jù)產(chǎn)生辨識出現(xiàn)錯誤的信息。識別識別過程: 觸發(fā)識別訓(xùn)練請輸入第一條命令 請輸入第二條命令17請再說一遍(以上提示音每說完一遍出現(xiàn)此命令)沒有聽到任何聲音(當(dāng)沒有檢測到聲音時出現(xiàn)此命令)兩次輸入名稱不相同兩次輸入命令不相同(當(dāng)兩次輸入的名稱不同時出現(xiàn)此命令)(當(dāng)兩次輸入的命令有差異時出現(xiàn)此命令)準(zhǔn)備就緒,請開始辨識(以上三條語句全部訓(xùn)練成功時,進(jìn)入初始化I訓(xùn)練提辨別器初始I 實(shí)時監(jiān)獲取語音數(shù)圖4.3識別功能實(shí)現(xiàn)流程圖4.1.2鍵盤掃描中斷圖4.4鍵盤選擇說明 語音播報

27、及鬧鈴程序段:/文件名稱:bobao.c/功能描述:日期和時間的語音播報#i 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

28、13#defi ne C_MONTH 14#defi ne C_DAY 15#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)功能:對對傳入的實(shí)參序號的語音資源進(jìn)行播報void PlayResp ond(un sig ned int Result

29、)/SACM_S480_l ni tial(1);*PN T_Ctrl_New = *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)功能:播報年void PlaySpeakYear(i nt YearTemp)PlayRespo nd

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

31、十,十位為 1 不報 1if(DayTemp%10)!= 0)PlayRespo nd(DayTemp%10+C_T00);PlayResp on d(C_DAY);電子科技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計/ 語法格式:PlaySpeakHour(int DayTemp)/實(shí)現(xiàn)功能:播報時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);/占八、/ 語

32、法格式:PlaySpeakMi nute(i nt Min Temp)/實(shí)現(xiàn)功能:播報分void PlaySpeakMi nute(i nt Min Temp)if(Mi nTemp=0)21PlayResp 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報,為1不報1if(Mi nTemp%10)!=0)PlayRespo nd(Mi nTemp%10);的個位不為0則報/PlayRespo nd(C_MIN);/分的分的分分/語法格式

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

34、技大學(xué)畢業(yè)論文(設(shè)計)新型語音電子鐘設(shè)計N CLUDE s480.i nc.EXTERNAL _num.EXTERNAL _clock.EXTERNAL _gyearmo nthday.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

35、_FIQ_TimerA;r仁0x0800;test r1,PN T_Ctrl;jnz ?L_FIQ_TimerB;判斷是否為PWM中?L_FIQ_PWM:/斷。r仁C_FIQ_PWM;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:

36、reti/匯編語言格式:_IRQ1/功能描述:IRQ1的中斷服務(wù)函數(shù).PUBLIC _IRQ1RQ1:reti/匯編語言格式:RQ2/功能描述:IRQ2的中斷服務(wù)函數(shù).PUBLIC _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仁0

37、x0020PN T_Clear=r1jmp?OUTINT_4KHZ:r仁0x0400PN T_Clear=r1jmp?OUTINT_1KHZ:r仁0x0010PN T_Clear=r1r1=_mb numr仁r1+0x0001_mb nu m=r1r1=_mapco un ter1 r1=r1+0x0001_mapco un ter1=r1call _miaobiaor仁0x0001清看P_Watchdog_Clear=r1/門狗jmp OUTOUT:pop r1,r5 fromspreti/匯編語言格式:RQ5/功能描述:2HZ中斷,用來實(shí)現(xiàn)時鐘以及日期的修改.PUBLIC _IRQ5_IR

38、Q5:push r1,r5 tospr1=PN T_Ctrltest r1,0x0004jnz ?INT_2HZINT_4HZ:r仁0x0008PN T_Clear=r1jmp ?OUTINT_2HZ:r仁0x0004PN T_Clear=r1r1=_ num r1=r1+0x0001_nu m=r1調(diào)用時調(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

39、t2hz=r1jmp?OUTGAVE:r仁0x0000_in t2hz=r1OUT:pop r1,r5 fromspreti/匯編語言格式:RQ6/功能描述:IRQ6的中斷服務(wù)函數(shù).PUBLIC IRQ627RQ6: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.

40、asmi 史 IRQ.asm 國 Ksy.c 國man.匚 國mod或匚 申 Monthcteyclock.rc 圉 Kesarce J匚.asmS SPLC501Driwr_IC 固 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 SKte

41、m void GKtBm vaid PKtEin void extern voidtdisplcLj ; setdayO; set ring; SEt3eaond(); speaktime|); 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 key

42、Ela.g3=0; int keyflag4=0; int keyflag5=0; int keyflag6=Q; int kyf107=0; int ringflag=0; int- 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ìn)丿控制進(jìn)丿 控制也 控制進(jìn)丿魚日4 Edt 匪軸 &Qject Quid Tools 也ndow Help自國日勃3 & 1? Lui!即燈嘉E2 SI別莓團(tuán)_j-TT-

43、1 di*/7時主函裁調(diào)用的函數(shù)聲甲圖5.1 IDE運(yùn)行界面IDE開發(fā)環(huán)境,具有編輯 編譯鏈接調(diào)試以及仿真等功能其友好的交互界 面下拉菜單快捷鍵和快速訪問命令列表等,使用戶的編輯調(diào)試工作更加方便 和高效。此外,IDE的軟件仿真功能可以在不連接仿真板的情況下模擬硬件的各 項功能來調(diào)試程序。具有兩種狀態(tài):一種為編輯狀態(tài),即用戶可以對工程進(jìn)行文 件增刪、設(shè)置操作,或者對某一個源程序文件進(jìn)行程序編寫; 另一種為仿真調(diào)試 狀態(tài),即用戶的整個工程通過編譯后, 可以進(jìn)入該狀態(tài)將程序運(yùn)行起來, 以驗(yàn)證 程序正確性,或者將程序下載到 SPCE061A中,并可進(jìn)行在線調(diào)試。仿真調(diào)試狀 態(tài)又分為:軟件仿真和在線調(diào)試

44、。工程內(nèi)各類文件:1)工程文件(spj):以spj 為擴(kuò)展名的工程文件包括創(chuàng)建一個工程所需的各 種信息2) 資源文件(rc):擴(kuò)展名為 rc 的資源文件包括當(dāng)前工程的所有資源的信 息。3)資源表文件(asm)和資源表頭文件(inc)。4)Make File 文件。5)C語言包含文件(h)選擇軟件仿真,在工具欄單擊 Body選擇圖標(biāo),在彈出的Body選擇對話框的 Emulator Dll 文本框中選擇PortIO。然后編譯并運(yùn)行程序,此時就會看到 I/O 現(xiàn)象。標(biāo)號0-f中“黑”為輸入狀態(tài),“灰”為輸出狀態(tài), 按下某個輸入端相 當(dāng)于輸入一個高電平。每位I/O 口下面對應(yīng)的狀態(tài)燈“亮”表示此時輸出高電平,“暗”表示此時輸出低電平圖5.2 I/O仿真圖PWM的軟件仿真方法選擇軟件仿真,在工具欄單擊Body選擇圖標(biāo),在彈出的Body選擇對話框的Emulator Dll文本框中選擇 PWM PWM Wav窗口是數(shù)字示波器,把數(shù)字信號轉(zhuǎn)換成模擬信號,聲音數(shù)據(jù)通過PWM端口輸出,在PWMWave窗口顯示。編譯并運(yùn)行程序,在工具欄中選擇“ Set emulator ”按鈕打開PWM仿真窗口,運(yùn)行程序,此時便可以在波形上看到PWM波

溫馨提示

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

最新文檔

評論

0/150

提交評論