基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):28941044 上傳時(shí)間:2021-09-21 格式:DOC 頁(yè)數(shù):50 大?。?.62MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第1頁(yè)
第1頁(yè) / 共50頁(yè)
基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第2頁(yè)
第2頁(yè) / 共50頁(yè)
基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第3頁(yè)
第3頁(yè) / 共50頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)(50頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、目 錄第一章 前言.11.1 系統(tǒng)功能 .21.2 基本參數(shù) .21.3 注意事項(xiàng) .2第二章 模塊特性簡(jiǎn)介.32.1 SPCE061A 單片機(jī) .32.1.1 SPCE061A 簡(jiǎn)介 .32.1.2 芯片特性 .42.2 SPCE061A 精簡(jiǎn)開發(fā)板 .52.3 SPLC501A 液晶模組 .62.4 語(yǔ)音的設(shè)計(jì)及工作原理.72.5 系統(tǒng)總體方案介紹.8第三章 系統(tǒng)硬件設(shè)計(jì).113.1 SPCE061A 最小系統(tǒng) .113.2 電源模塊.113.3 音頻輸出模塊.123.4 液晶顯示模塊.133.4.1 顯示 RAM 區(qū)映射情況 .133.4.2 SPLC501 驅(qū)動(dòng)控制器芯片.15第四章

2、系統(tǒng)軟件設(shè)計(jì).174.1 軟件的結(jié)構(gòu) .174.2 各模塊程序的說明 .184.2.1 概述 .184.2.2 主程序 .184.2.3 中斷服務(wù)程序 .194.2.4 時(shí)間日期模塊 .214.2.5 SPLC501 液晶顯示模組顯示漢字.224.2.6 常用功能函數(shù)介紹(用戶API) .24第五章 操作步驟.285.1 軟件的操作步驟.285.1.1 LCD 漢字顯示操作步驟 .285.1.2 程序燒入硬件操作步驟 .315.1.3 語(yǔ)音播放操作步驟 .335.2 操作界面 .34第六章 結(jié)論.37參考文獻(xiàn).38致 謝.39附錄一 軟件編寫程序.40附錄二 主要元器件清單.481第一章第一章

3、 前言前言20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時(shí)間對(duì)人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無傷大雅。但是,一旦重要事情,一時(shí)的耽誤可能釀成大禍。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展趨勢(shì)。單片機(jī)應(yīng)用的重要意義還在于,它從根本上

4、改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(jī)模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更長(zhǎng)的使用壽命,因此得到了廣泛的使用。 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒、數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表

5、, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播芯片自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以數(shù)字電子鐘具有走時(shí)準(zhǔn)確,一鐘多用等特點(diǎn),在生活中已經(jīng)得到了廣泛的應(yīng)用。隨著科技的發(fā)展,人們對(duì)電子產(chǎn)品的應(yīng)用要求越來越高,數(shù)字電子鐘不但可以顯示當(dāng)前的時(shí)間,而且可以顯示日期、農(nóng)歷、以及星期等,給人們的生活帶來了方便。另外數(shù)字鐘還具備秒表和鬧鐘功能,且鬧鐘鈴聲可自選,使一款電子鐘具備了多媒體的色彩。 本方案利用凌陽(yáng)科技公司的SPLC501A液晶模組作為顯示模塊,凌陽(yáng)1

6、6位單片機(jī)SPCE061A作為主控芯片,充分利用SPCE061A精簡(jiǎn)開發(fā)板(簡(jiǎn)稱61板)上面的三個(gè)按鍵,完成一個(gè)簡(jiǎn)易的數(shù)字系統(tǒng)數(shù)字電子鐘。 該數(shù)字鐘既可以顯示當(dāng)前的日期和時(shí)間,又可以將當(dāng)前的日期和時(shí)間播報(bào)出來,同時(shí)具有鬧鐘秒表等功能,滿足了不同人的需要。 2該方案的主要功能是在SPLC501A液晶模組上顯示時(shí)間、日期,能通過SPCE061A的音頻通道播報(bào)當(dāng)前的日期和時(shí)間。61板上面的三個(gè)按鍵可以控制實(shí)現(xiàn)所有的功能,在顯示日期和時(shí)間狀態(tài)下按KEY1鍵進(jìn)入功能選擇菜單,此時(shí)KEY2為下翻鍵,KEY3為上翻鍵,KEY1為確定鍵;在顯示日期和時(shí)間狀態(tài)下按KEY2鍵播報(bào)當(dāng)前的時(shí)間,按KEY3鍵播報(bào)當(dāng)前的

7、日期,當(dāng)KEY2、KEY3鍵同時(shí)按下時(shí)控制鬧鐘的開/關(guān)。 1.11.1 系統(tǒng)功能系統(tǒng)功能 本系統(tǒng)利用凌陽(yáng)科技公司的SPCE061A單片機(jī)作為控制器,擴(kuò)展SPLC501A液晶模組。系統(tǒng)具有以下功能: 1. 可以在SPLC501A液晶模組上面顯示時(shí)間、日期、農(nóng)歷、星期、鬧鐘; 2. 可以語(yǔ)音播報(bào)日期和時(shí)間; 3. 整點(diǎn)報(bào)時(shí)功能; 4. 具備鬧鐘功能; 5. 鬧鐘的鈴聲可以選擇; 6. 具備秒表功能。 1.21.2 基本參數(shù)基本參數(shù) 1.工作電壓:4.5V(3節(jié)干電池); 2.日期顯示范圍:2001-2100年; 3.時(shí)間采用24小時(shí)制。1.31.3 注意事項(xiàng)注意事項(xiàng) 1請(qǐng)將61板上的J5跳線選擇3

8、.3V; 2. 在安裝電池時(shí)注意正負(fù)極,否則容易燒壞芯片;3在印制電路板上的焊接元器件前要認(rèn)真對(duì)照原理圖,仔細(xì)查看印制電路板,找到對(duì)應(yīng)的元器件功能區(qū);4在電源測(cè)試期間請(qǐng)勿將單片機(jī)芯片插入座中,以免電源部分有問題造成芯片燒壞。3第二章第二章 模塊特性簡(jiǎn)介模塊特性簡(jiǎn)介該數(shù)字鐘系統(tǒng)主要由SPCE061A精簡(jiǎn)開發(fā)板(簡(jiǎn)稱61板)和SPLC501A液晶模塊構(gòu)成。系統(tǒng)通過61板上的三個(gè)按鍵控制SPLC501A液晶模塊顯示,通過揚(yáng)聲器播放語(yǔ)音。所以這里主要介紹這兩個(gè)模塊。 2.12.1 SPCE061ASPCE061A 單片機(jī)單片機(jī) 2.1.1 SPCE061A 簡(jiǎn)介 SPCE061A是凌陽(yáng)科技研發(fā)生產(chǎn)的性

9、價(jià)比很高的一款十六位單片機(jī),具有易學(xué)易用且效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語(yǔ)言,可以實(shí)現(xiàn)C語(yǔ)言與匯編語(yǔ)言的互相調(diào)用,并且,提供了語(yǔ)音錄放和語(yǔ)音識(shí)別的函數(shù)庫(kù),只要了解庫(kù)函數(shù)的使用方法,就可以很容易完成語(yǔ)音錄放,為軟件開發(fā)提供了方便的條件。 SPCE061A主要包括輸入/輸出端口、定時(shí)器/計(jì)數(shù)器、數(shù)/模轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換、串行設(shè)備輸入/輸出、通用異步串行接口、低電壓監(jiān)測(cè)和復(fù)位等電路,并且內(nèi)置在線仿真電路ICE接口,使其能夠快速地處理復(fù)雜的數(shù)字信號(hào)。SPCE061A片內(nèi)還集成了一個(gè)ICE(在線仿真電路)接口,使得對(duì)該芯片的編程、仿真變得非常方便,而ICE接口不占用芯片上的硬

10、件資源,結(jié)合凌陽(yáng)科技提供的集成開發(fā)環(huán)境(unSP IDE),用戶可以進(jìn)行在線調(diào)試、仿真;而程序的下載(燒寫)也是通過該接口完成。 4圖 1 SPCE061A內(nèi)部結(jié)構(gòu)圖2.1.2 芯片特性 16位nSP微處理器; 工作電壓:內(nèi)核工作電壓VDD為3.03.6V(CPU),I/O口工作電壓VDDH為VDD5.5V(I/O); CPU時(shí)鐘:0.32MHz49.152MHz; 內(nèi)置2K字SRAM; 內(nèi)置32K閃存ROM; 可編程音頻處理; 晶體振蕩器; 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)); 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);5 2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道; 32位通

11、用可編程輸入/輸出端口; 14個(gè)中斷源可來自定時(shí)器A / B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒; 具備觸鍵喚醒的功能; 使用凌陽(yáng)音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語(yǔ)音數(shù)據(jù); 鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào); 32768Hz實(shí)時(shí)時(shí)鐘; 7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器; 聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能; 具備串行設(shè)備接口; 低電壓復(fù)位(LVR)功和低電壓監(jiān)測(cè)(LVD)功能; 內(nèi)置在線仿真板(ICE,In- Circuit Emulator)。2.22.2 SPCE061ASPCE061A 精簡(jiǎn)

12、開發(fā)板精簡(jiǎn)開發(fā)板 SPCE061A精簡(jiǎn)開發(fā)板(簡(jiǎn)稱61板),是以凌陽(yáng)16位單片機(jī)SPCE061A為核心的精簡(jiǎn)開發(fā)仿真實(shí)驗(yàn)板,大小相當(dāng)于一張撲克牌,是“凌陽(yáng)科技大學(xué)計(jì)劃”專為大學(xué)生、電子愛好者等進(jìn)行電子實(shí)習(xí)、課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)、電子制作及電子競(jìng)賽所設(shè)計(jì)的,也可作為單片機(jī)項(xiàng)目初期研發(fā)使用。61板除了具備單片機(jī)最小系統(tǒng)電路外,還包括有電源電路、音頻電路(含Mic輸入部分和DAC音頻輸出部分)、復(fù)位電路等,采用電池供電,方便學(xué)生隨身攜帶!使學(xué)生在掌握軟件的同時(shí),熟悉單片機(jī)硬件的設(shè)計(jì)制作,鍛煉學(xué)生的動(dòng)手能力,也為單片機(jī)學(xué)習(xí)者和開發(fā)者創(chuàng)造了一個(gè)良好的學(xué)習(xí)條件和開發(fā)新產(chǎn)品的機(jī)會(huì)!61板上有調(diào)試器接口(Pro

13、be接口)以及下載線(EZ_Probe)接口,分別可接凌陽(yáng)科技的在線調(diào)試器、簡(jiǎn)易下載線,配合unSP IDE,可方便地在板上實(shí)現(xiàn)程序的下載、在線仿真調(diào)試。 61板上的主要功能模塊如下: 1.SPCE061A單片機(jī)最小系統(tǒng)外圍電路模塊; 2.電源輸入模塊; 3.音頻電路(包含Mic輸入、DAC音頻功放輸出)模塊; 64.按鍵模塊; 5.I/O端口接口模塊; 6.調(diào)試、下載接口模塊; 圖2為61板的實(shí)物圖: 圖 2 61板實(shí)物圖2.32.3 SPLC501ASPLC501A 液晶模組液晶模組SPLC501 液晶顯示模組采用的驅(qū)動(dòng)控制芯片為凌陽(yáng)科技的SPLC501A 芯片,SPLC501A 為液晶顯

14、示控制驅(qū)動(dòng)器,SPLC501A 單芯片液晶驅(qū)動(dòng),可以直接與其他微控制器接口總線相連。微控制器可以將顯示數(shù)據(jù)通過8位數(shù)據(jù)總線或者串行接口寫到SPLC501A的顯存中。SPLC501A 內(nèi)置8580位顯示RAM。RAM中的一位數(shù)據(jù)控制液晶屏上的一個(gè)象素點(diǎn)的亮、暗狀態(tài):“1”亮“0”暗。具有65行驅(qū)動(dòng)輸出和132 列驅(qū)動(dòng)輸出(注:模組中的液晶顯示面板僅為64 行、128 列)。SPLC501液晶顯示模組的顯示器上的顯示點(diǎn)與驅(qū)動(dòng)控制芯片中的顯示緩存RAM 是一一對(duì)應(yīng)的;SPLC501A芯片中共有65(8 Page 8 bit+1) 132 位的顯示RAM 區(qū)。而顯示器的顯示點(diǎn)陣大小為64128 點(diǎn),所

15、以實(shí)際上在SPLC501 液晶顯示模組中有用的顯示RAM 區(qū)為64128 位;按byte 為單位劃分,共分為8個(gè)Page,每個(gè)Page為8行,而每一行有128位(即128 列)。如要點(diǎn)亮LCD屏上的某一個(gè)點(diǎn)時(shí),實(shí)際上就是對(duì)該點(diǎn)所對(duì)應(yīng)的顯示RAM 區(qū)中的某一位進(jìn)行置1 操作;所以就要確定該點(diǎn)所處的行地址、列地址。SPLC501 液晶顯示模組的行地址實(shí)際上就是Page的信息,每一個(gè)Page應(yīng)有8 行;而列地址則表示該點(diǎn)的橫坐標(biāo),在屏上為從左到7右排列,Page中的一個(gè)Byte對(duì)應(yīng)的是一列(8行,即8個(gè)點(diǎn)),共128 列??梢愿鶕?jù)這樣的關(guān)系在程序中控制LCD 顯示屏的顯示。SPLC501A液晶模組具

16、有以下特性: 1.顯示模式:黃色模式STN液晶; 2.顯示格式:12864點(diǎn)陣的圖形液晶; 3.輸入數(shù)據(jù):兼容68/80系列MPU時(shí)序。 更詳細(xì)的資料請(qǐng)參考SPLC501A的Datasheet,SPLC501A液晶模組的實(shí)物圖如圖3所示: 圖 3 SPLC501A 液晶模組實(shí)物圖2.42.4 語(yǔ)音的設(shè)計(jì)及工作原理語(yǔ)音的設(shè)計(jì)及工作原理本次設(shè)計(jì)的要求為整個(gè)系統(tǒng)在運(yùn)行時(shí)能夠根據(jù)要求及時(shí)的發(fā)出聲音,以增加效果。為了配合設(shè)計(jì)要求,設(shè)計(jì)了語(yǔ)音模塊。語(yǔ)音是SPLC501A的一大特點(diǎn)。應(yīng)用SPLC501A可以方便的實(shí)現(xiàn)語(yǔ)音的錄放,該芯片擁有8路10位精度的AD。其中1路AD為音頻轉(zhuǎn)化通道,并且內(nèi)置自動(dòng)增益電路

17、。這為語(yǔ)音的錄入提供方便的硬件條件。2路10位精度的DA,只需外接1個(gè)功放即可完成語(yǔ)音播放。一般都是用C語(yǔ)言作為主程序,用匯編語(yǔ)言編制各種模塊,供主程序調(diào)用。凌陽(yáng)音頻8格式常用的有3種,將壓縮前的數(shù)據(jù)量比上壓縮后的數(shù)據(jù)量即可以得到凌陽(yáng)不同音頻格式壓縮比:SACM A2000:壓縮比為8:1,8:1.25,8:1.5;SACM S480: 壓縮比為80:3,80:4.5;SACM S240: 壓縮比為80:1.5;壓縮比越大,存儲(chǔ)空間越小,更加節(jié)省資源。2.52.5 系統(tǒng)總體方案介紹系統(tǒng)總體方案介紹 電子鐘的系統(tǒng)結(jié)構(gòu)如圖4,圖5為電子鐘功能結(jié)構(gòu)圖 ,61板作為整個(gè)系統(tǒng)的控制中心,負(fù)責(zé)控制鍵盤掃描

18、;年、月、日、星期以及時(shí)間的計(jì)算; SPLC501A液晶顯示的驅(qū)動(dòng);并根據(jù)按鍵值播報(bào)當(dāng)前的日期或者時(shí)間。SPLC501A液晶顯示模組主要用來顯示當(dāng)前的時(shí)間,日期,以及顯示功能選擇菜單和時(shí)間日期調(diào)整菜單。在聲音的處理上主要采用凌陽(yáng)科技的語(yǔ)音壓縮格式,將需要播放的聲音壓縮存在SPR模組里面,然后通過61板將語(yǔ)音資源取出播放出來。在圖片的處理上,采用SPLC501液晶模組,使用配套的DM Tool工具將需要顯示的圖片實(shí)現(xiàn)提取出圖片資源燒寫到SPCE061A中,然后通過61板控制SPLC501A播放出來。本系統(tǒng)采用了語(yǔ)音的錄入和輸出播放。 9圖 4 系統(tǒng)結(jié)構(gòu)框圖圖 5 功能結(jié)構(gòu)圖10用61板控制數(shù)字鐘

19、系統(tǒng),使用了IOA口的高八位、IOB的4、5、6共11個(gè)I/O口連接SPLC501A液晶模組,另外使用了61板的語(yǔ)音輸出模塊;以及61板上的三個(gè)按鍵,硬件連接如圖 7所示:電路連接如圖7,IOA的高八位接到液晶模組的八個(gè)數(shù)據(jù)端,同時(shí)也連接了液晶模組的電源,即直接用一根10pin的排線連接61板“+”、IOA815、“-”與SPLC501A液晶顯示模組的“+”、DB07、“-”,主要用來向液晶模組傳送命令和數(shù)據(jù);IOB6接EP,IOB5接R/W,IOB4接AO,用來控制液晶的顯示和工作方式。 注意電源的正負(fù)極不要接反;DB0連接IOA8,DB7連接IOA15,也不要接反。圖 6 電路連接圖11第

20、三章第三章 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì)3.13.1 SPCE061ASPCE061A 最小系統(tǒng)最小系統(tǒng) SPCE061A最小系統(tǒng)包括SPCE061A芯片及其外圍的基本模塊,其中外圍的基本模塊有:晶振輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復(fù)位電路(RESET)、指示燈(LED)等,如圖7所示。 圖 7 SPCE061A最小系統(tǒng)3.23.2 電源模塊電源模塊 SPCE061A 板采用 3 節(jié) 5 號(hào)電池進(jìn)行供電,由 J10 接入,其中前后兩組電容用來去耦濾波,使其供給芯片的電源更加干凈平滑。為了獲得標(biāo)準(zhǔn)的 3.3 伏電壓,在電路上加入 SPY0029 三端穩(wěn)壓器和兩個(gè)二極管,是為了防止誤將電

21、源接反造成不必要損失而設(shè)置的。在操作過程中千萬不要將電源接反,因?yàn)榉聪螂妷撼^一定值,二極管將會(huì)被損壞,達(dá)不到保護(hù)的目的。后面的零電12阻及其電源分成不同的幾路是為了減少電磁干擾設(shè)置的。圖 8 是電源部分的電路,4.5V 直流電壓經(jīng)過 SPY0029 后產(chǎn)生 3.3V 給整個(gè)系統(tǒng)供電。 SPY0029 是凌陽(yáng)公司設(shè)計(jì)的電壓調(diào)整 IC,采用 CMOS 工藝。SPY0029 具有靜態(tài)電流低、驅(qū)動(dòng)能力強(qiáng)、線性調(diào)整出色等特點(diǎn)。4.2 圖中的VDDH3 為 SPCE061A 的 I/O 電平參考,接 SPCE061A 的 51 腳,這種接法使得 I/O 輸出高電平為 3.3V;VDDP 為 PLL 鎖相

22、環(huán)電源,接 SPCE061A 的 7 腳;VDD 和 VDDA 分別為數(shù)字電源與模擬電源,分別接 SPCE061A 的 15 腳和 36 腳;AVSS1 是模擬地,接 SPCE061A 的 24 腳;VSS 是數(shù)字地,接 SPCE061A 的 38 腳; AVSS2 接音頻輸出電路的 AVSS2。61板電源模塊電路如圖8,SPCE061A的內(nèi)核供電為3.3V,而I/O端口可接3.3V5V,所以在電源模塊(61板上)中有一個(gè)端口電平選擇跳線,如圖中的J5。本系統(tǒng)需要的端口高電平為3.3V,所以圖8中的J5跳線需要跳到2和3上。 圖 8 電源模塊3.33.3 音頻輸出模塊音頻輸出模塊音頻輸出(D/

23、A)部分的原理圖如圖9所示,可以直接聽喇叭輸出的聲音。圖中的SPY0030也是凌陽(yáng)公司的產(chǎn)品。它的詳細(xì)說明可以參見SPY0030 data sheet。和LM386相比,SPY0030還具有下述優(yōu)勢(shì),比如LM386工作電壓需在4V以上, SPY0030僅需2.4V即可工作(兩顆電池即可工作);LM386輸出功率100mW以下, SPY0030約700mW。芯片將聲音處理后輸出(J2),經(jīng)SPY0030音頻放大輸出(J3)通過揚(yáng)聲器還原為聲音。SPY0030A是凌陽(yáng)公司開發(fā)的專門用于語(yǔ)音放大的芯片。SPY0030的輸入電壓的范圍是2.46.0伏,該電路中采用的電壓是3.3伏。SPCE061A內(nèi)置

24、2路10位DAC,只需要外接功放電路即可完成語(yǔ)音的播放。 13圖 9 音頻輸出電路圖3.43.4 液晶顯示模塊液晶顯示模塊3.4.1 顯示 RAM 區(qū)映射情況 SPLC501A液晶模組為12864點(diǎn)陣模式,面板采用STN(Super Twisted Nematic)超扭曲相列技術(shù)制成,非常容易通過接口被訪問。模組上的液晶顯示器采用凌陽(yáng)科技的SPLC501芯片作為L(zhǎng)CD驅(qū)動(dòng)和控制器,為128X64點(diǎn)陣圖形液晶顯示器。 表1 SPLC501液晶顯示模組的基本參數(shù)顯示模式 黃色模式STN液晶 顯示格式 128X64點(diǎn)陣地圖形液晶顯示 輸入數(shù)據(jù) 兼容68/80系列MPU數(shù)據(jù)輸入 背光 黃綠色LED 模

25、塊尺寸 72.8(長(zhǎng))73.6(寬)9.5(高)mm 視屏尺寸 58.84(寬)35.79(長(zhǎng))mm 點(diǎn)大小 0.42(寬)0.51(長(zhǎng))mm 14注意事項(xiàng) SPLC501液晶顯示模組中,接口引腳:“+”、“V3”分別為電源輸入端和高電平引針(供時(shí)序選擇跳線用),而“-”、“GND”都是接地引腳。 表2 接口引腳名接口引腳名 說明 CS1 片選,低有效 RES 復(fù)位腳 A0 數(shù)據(jù)命令選擇腳 對(duì)于6800系列MPU的讀/寫信號(hào)(R/W) R/W 對(duì)于8080系列MPU的寫信號(hào)(W/R) 對(duì)于6800系列MPU的時(shí)鐘信號(hào)使能腳(EP) EP 對(duì)于8080系列MPU的讀信號(hào)(RD) DB0 DB1

26、DB2 DB3 DB4 8位數(shù)據(jù)總線 DB5 DB6 DB7 VR 端口輸出電壓 C86 C86=H 選擇6800MPU系列 C86=L 選擇8080MPU系列 PS 串、并行時(shí)序選擇 153.4.2 SPLC501 驅(qū)動(dòng)控制器芯片 SPLC501液晶顯示模組采用的驅(qū)動(dòng)控制芯片為凌陽(yáng)科技的SPLC501A芯片,SPLC501A為液晶顯示控制驅(qū)動(dòng)器,集行、列驅(qū)動(dòng)器和控制器于一體,廣泛應(yīng)用于小規(guī)模液晶顯示模塊。 SPLC501A單芯片液晶驅(qū)動(dòng),可以直接與其他微控制器接口總線相連。微控制器可以將顯示數(shù)據(jù)通過8位數(shù)據(jù)總線或者串行接口寫到SPLC501A的顯存中。下列是SPLC501A的特點(diǎn): 內(nèi)置85

27、80位顯示RAM。RAM中的一位數(shù)據(jù)控制液晶屏上的一個(gè)象素點(diǎn)的亮、暗狀態(tài)。“1”亮“0”暗; 具有65行驅(qū)動(dòng)輸出和132列驅(qū)動(dòng)輸出(注:模組中的液晶顯示面板僅為64行、128列); 可以直接與80系列和68系列微處理器相連; 內(nèi)置晶振電路,也可以外接晶振; 工作溫度范圍為40攝氏度85攝氏度。其電路原理圖如圖 10所示:圖 10 液晶模組電路16SPLC501A液晶顯示模組提供了8080和6800的并行操作時(shí)序,也提供了串行的操作時(shí)序,用戶可以通過對(duì)PS、C86引腳接不同的電平來選擇操作的時(shí)序(8080操作時(shí)序接線圖:(PS接VDD,C86接VSS) ,6800操作時(shí)序接線圖:(PS接VDD,

28、C86接VDD) ,行操作時(shí)序接線圖:(PS接VSS,C86接VSS或VDD都可) )。SPLC501液晶顯示模組中,設(shè)置了PS和C86的跳線,供用戶選擇操作時(shí)序。17第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)4.14.1 軟件的結(jié)構(gòu)軟件的結(jié)構(gòu)下圖中可以看出各文件之間的調(diào)用關(guān)系。 圖 11 軟件結(jié)構(gòu)數(shù)字鐘主要還是軟件實(shí)現(xiàn)的,數(shù)字鐘的軟件設(shè)計(jì)由以下程序構(gòu)成:1、main.c:實(shí)現(xiàn)系統(tǒng)的初始化、顯示開機(jī)畫面、鍵盤掃描和語(yǔ)音播報(bào);2、system.c:包含工程中大部分的功能函數(shù),包括各種界面的顯示、時(shí)間和日期的調(diào)整、秒表的調(diào)整、鬧鐘的時(shí)間設(shè)定、鬧鐘的鈴聲選擇等;3、key.c:鍵盤掃描文件,文件中定義了

29、鍵盤掃描函數(shù)、延時(shí)函數(shù)、用來實(shí)現(xiàn)對(duì)鍵盤的掃描等功能、鍵盤掃描采用查詢方式;4、isr.asm:中斷服務(wù)函數(shù)文件,實(shí)現(xiàn)語(yǔ)音解碼、秒表以及時(shí)間、日期的修改;5、speak.c:語(yǔ)音播報(bào)函數(shù),實(shí)現(xiàn)語(yǔ)音播報(bào)日期、時(shí)間以及鬧鐘。184.24.2 各模塊程序的說明各模塊程序的說明4.2.1 概述由于凌陽(yáng) SPCEA061A,使得外圍電路變的更簡(jiǎn)單。制作好系統(tǒng)的硬件電路后,整個(gè)系統(tǒng)的主體任務(wù)主要落在了程序的編寫上。SPCE061A 是凌陽(yáng)科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),具有易學(xué)易用且效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn) C 語(yǔ)言,可以實(shí)現(xiàn) C 語(yǔ)言與匯編語(yǔ)言的互相調(diào)用,并且

30、,提供了語(yǔ)音錄放和語(yǔ)音識(shí)別的函數(shù)庫(kù),只要了解庫(kù)函數(shù)的使用方法,就可以很容易完成語(yǔ)音錄放,為軟件開發(fā)提供了方便的條件。此次系統(tǒng)采用了模塊程序結(jié)構(gòu),模塊程序結(jié)構(gòu)包括了初始化,系統(tǒng)主程序模塊,語(yǔ)音播放模塊,顯示模塊。C 語(yǔ)言屬于高級(jí)語(yǔ)言,有著匯編語(yǔ)言無法比擬的優(yōu)點(diǎn),而 SPCE061A 開發(fā)系統(tǒng)抓住了這個(gè)關(guān)鍵,兩者結(jié)合,充分發(fā)揮各自的優(yōu)勢(shì)。在用到語(yǔ)音的時(shí)候,一般都是用 C 語(yǔ)言作為主程序,用匯編語(yǔ)言編制各種模塊,供主程序調(diào)用。本系統(tǒng)采用了這種編制方法使得相互調(diào)用非常簡(jiǎn)單。4.2.2 主程序主程序流程如圖12所示,在主程序中初始化了整個(gè)工程中用到的變量,初始化了液晶顯 示模塊。開2Hz中斷實(shí)現(xiàn)計(jì)時(shí)。在

31、主程序中調(diào)用了鍵盤掃描程序,對(duì)IOA口的低三位進(jìn)行掃描,如果有鍵按下,就把相應(yīng)的鍵值存入到一個(gè)變量中,通過主程序來判斷是哪個(gè)鍵按下,并執(zhí)行相應(yīng)的功能:若是KEY1鍵按下,則會(huì)進(jìn)入功能選擇菜單,此時(shí)KEY1就會(huì)為確定鍵,KEY2為下翻鍵,KEY3為上翻鍵;若是KEY2鍵按下,播報(bào)時(shí)間;若是KEY3鍵按下,播報(bào)當(dāng)前的日期;KEY2、KEY3鍵同時(shí)按下控制鬧鐘的開/關(guān)。19圖 12 主程序流程圖4.2.3 中斷服務(wù)程序 中斷服務(wù)程序有三個(gè):一個(gè)是2Hz中斷服務(wù)程序,用來計(jì)時(shí);一個(gè)是1KHz中斷服務(wù)程序,用于秒表計(jì)時(shí);另外一個(gè)是FIQ中斷服務(wù)程序,用來播放語(yǔ)音。程序的流程分別如圖13、圖14、圖15。

32、20圖 13 IRQ5時(shí)基中斷流程圖另外一個(gè)是FIQ中斷服務(wù)程序,用來播放語(yǔ)音。圖 14 IRQ4時(shí)基中斷流程圖21圖 15 FIQ中斷程序4.2.4 時(shí)間日期模塊時(shí)間日期程序模塊的流程圖如圖16所示,該模塊用到了2Hz的時(shí)基中斷,用來實(shí)現(xiàn)計(jì)時(shí),同時(shí)實(shí)現(xiàn)了日期的更新,其中農(nóng)歷是使用查表的方法來實(shí)現(xiàn)的。22圖 16 時(shí)間日期模塊流程圖4.2.5 SPLC501 液晶顯示模組顯示漢字利用SPLC501 液晶顯示模組顯示漢字比顯示英文字符稍微復(fù)雜一點(diǎn),因?yàn)橛⑽淖址贏SCII 碼中都有對(duì)應(yīng)字符,而SPLC501 液晶顯示模組顯示的都是ASCII 碼,漢字卻不能與ASCII 碼對(duì)應(yīng),所以要先用字模提取

33、工具把漢字提取成字模數(shù)據(jù),才能顯示。利用SPLC501 液晶顯示模組顯示漢字需要圖17的操作過程。新建一個(gè)工程;利用字模提取工具提取字模數(shù)據(jù);把字模數(shù)據(jù)文件保存在工程文件夾,以方便工程調(diào)用;添加字模數(shù)據(jù)文件23到工程,程序可以直接使用這些字模數(shù)據(jù);拷貝并添加驅(qū)動(dòng)程序文件;編寫程序;運(yùn)行顯示。利用SPLC501 液晶顯示模組顯示漢字的過程見圖17,和顯示英文字符的方法類似,所不同的是顯示漢字的API 函數(shù)為L(zhǎng)CD501_Bitmap(unsigned int x,unsigned int y,unsigned int *word)。 圖 17 利用SPLC501液晶顯示模組顯示漢字需要的操作過程

34、。為了使用戶能夠方便快速地使用SPLC501液晶顯示模組,凌陽(yáng)大學(xué)計(jì)劃提供了基于SPCE061A單片機(jī)的SPLC501液晶顯示模組的驅(qū)動(dòng)程序,包括文本顯示、幾何圖形繪制和位圖顯示等功能函數(shù),SPLC501液晶顯示模組的驅(qū)動(dòng)程序架構(gòu)如圖所示: 圖 18 驅(qū)動(dòng)程序架構(gòu)24驅(qū)動(dòng)程序由5個(gè)文件組成,分別為:底層驅(qū)動(dòng)程序文件:SPLC501Driver_IO.inc、SPLC501Driver_IO.asm;用戶API功能接口函數(shù)文件:SPLC501User.h、SPLC501User.c、DataOSforLCD.asm。 SPLC501Driver_IO.inc:該文件為底層驅(qū)動(dòng)程序的頭文件,主要對(duì)

35、使用到的寄存器(如端口控制寄存器等)進(jìn)行定義,還對(duì)SPCE061A與SPLC501液晶顯示模組的接口進(jìn)行配置;用戶可以根據(jù)自已的需求來配置此文件,但要使端口的分配符合實(shí)際硬件的接線。 SPLC501Driver_IO.asm:該文件為底層驅(qū)動(dòng)程序,負(fù)責(zé)與SPLC501液晶顯示模組進(jìn)行數(shù)據(jù)傳輸?shù)娜蝿?wù),主要包括端口初始化、寫控制指令、寫數(shù)據(jù)、讀數(shù)據(jù)等函數(shù);這些函數(shù)僅供SPLC501User.c調(diào)用,不建議用戶在應(yīng)用程序中調(diào)用這些函數(shù)。 SPLC501User.h:該文件為用戶API功能函數(shù)文件的頭文件,主要對(duì)一些記住符進(jìn)行定義,以及配置LCD的一些設(shè)置,另外該文件里還對(duì)SPLC501User.c中

36、的函數(shù)作了外部聲明,用戶需要使用LCD的API功能函數(shù)時(shí),需要把該文件包含在用戶的C文件中,好可調(diào)用。 SPLC501User.c:文件中定義了針對(duì)LCD顯示的各種API功能函數(shù)。 DataOSforLCD.asm:該文件中提供了一些供API功能函數(shù)調(diào)用的數(shù)據(jù)處理子程序,主要完成顯示效果的疊加、畫圓偏差量的計(jì)算等。 4.2.6 常用功能函數(shù)介紹(用戶 API)SPLC501User.c文件中定義了常用的顯示函數(shù),包括:液晶顯示控制函數(shù)、文本顯示、圖形顯示等;下面介紹部分常用功能函數(shù): 液晶顯示控制類: 1,LCD501_Init 液晶初始化 程序:LCD501_Init(unsigned in

37、t InitialData) 描述:液晶顯示初始化函數(shù) 參數(shù):unsigned int InitialData 初始化顯示的字,低八位有效 返回:無 注意:在使用LCD前,首先應(yīng)執(zhí)行該函數(shù),使LCD處于可以正常顯示的狀態(tài) 2,LCD501_ClrScreen 清屏 程序:LCD501_ClrScreen(unsigned int Mode) 25描述:液晶整屏清屏函數(shù) C語(yǔ)言調(diào)用 參數(shù):unsigned int Mode 清屏類型Mode=1則全點(diǎn)亮,Mode=0內(nèi)全清零 3,LCD501_ReverseColor 顯示翻轉(zhuǎn) 程序:void LCD501_ReverseColor(void)

38、描述:屏幕反色顯示。每執(zhí)行一次該函數(shù),屏幕顏色翻轉(zhuǎn)一次 5,LCD501_GetPaintMode 獲取當(dāng)前顯示模式 程序:unsigned int LCD501_GetPaintMode(void) 描述:設(shè)置圖形顯示模式 參數(shù):無 返回:ModeCode - 圖形顯示模式,可以是下列數(shù)值之一: 0 PAINT_COVER: 1 PAINT_SET: 2 PAINT_CLR: 3 PAINT_REV: 4 PAINT_RECO: 注意:無 文本顯示類函數(shù): 1,LCD501_FontSet 設(shè)置文本字體 程序:void LCD501_FontSet(unsinged int Font) 8x

39、16 6X8 描述::選擇顯示字符的大小類型 參數(shù):Font 字符的類型選擇 1 8X16 0 6X8 返回:無 注意:只針對(duì)顯示驅(qū)動(dòng)中包含的ASCII碼顯示 2,LCD501_FontGet 獲取當(dāng)前文本字體 程序:unsigned int LCD501_FontGet(void) 8x16 6X8 26描述:獲取當(dāng)前顯示字符的大小類型 返回:字符的類型選擇 1 8X16 0 6X8 注意:只針對(duì)顯示驅(qū)動(dòng)中包含的ASCII碼顯示 3,LCD501_PutChar 顯示單個(gè)字符 程序:void LCD501_PutChar(int x,int y,unsigned int a) 8x16 6X

40、8 描述:顯時(shí)8X16、6X8的自帶ASCII字符,任意行定位 參數(shù):x 顯示字符的起始列(0128) y 顯示字符的起始行(063) a ASCII碼 返回:無 注意:無 4,LCD501_PutString 顯示字符串 程序:void LCD501_PutString(int x,int y,unsigned int a) 8x16 6X8 描述:顯時(shí)8X16、6X8的自帶ASCII字符,任意行定位 參數(shù):x 顯示字符的起始列(0128) y 顯示字符的起始行(063) a ASCII碼 返回:無 注意:無 5,LCD501_Bitmap 位圖顯示/ /漢字顯示 程序:void LCD50

41、1_Bitmap(unsigned int x,unsigned int y,unsigned int *word) 描述:DM Tool取的漢字字模、位圖字模顯示函數(shù) 參數(shù):x 顯示字符的起始列(0128) y 要顯示的字模的起始行(064-y_whide) *word 要顯示的漢字字模的數(shù)據(jù)首地址 返回:無 注意:只顯示用DM Tool取字模軟件所取的漢字字模數(shù)據(jù);該函數(shù)可以在指定位置顯示位圖。參數(shù)x和y是位圖的左上角坐標(biāo)。word是“位圖數(shù)據(jù)”的起始地址?!拔粓D數(shù)據(jù)”的第一個(gè)Word聲明了位圖的大小,低8位代表位圖寬度,高8位代表位圖高度。如0 x172B表示位圖的寬為2743像素,高為

42、23像素。從第二個(gè)Word開始描述位圖每個(gè)點(diǎn)的顏色(1-黑色,0-白色)。點(diǎn)對(duì)應(yīng)每個(gè)數(shù)據(jù)位的情況為:從下到上,自左到右,以WORD(16bit)為存儲(chǔ)單位,不足16位的補(bǔ)0??梢岳昧桕?yáng)大學(xué)計(jì)劃提供的DM Tool字模提取工具提取出漢字或BMP圖像的字模數(shù)據(jù),然后直接引用由其生成的字模數(shù)組3SPLC5401液晶顯示模組控制流程 ,利用模組資料中提供的SPLC501液晶顯示模組驅(qū)動(dòng)程序進(jìn)行LCD顯示編程時(shí),一定要在調(diào)用文本顯示或圖形顯示函數(shù),以及控制類函數(shù)前調(diào)用LCD的初始化函數(shù);在LCD初始化程序中,會(huì)進(jìn)行端口初始化、LCD初始設(shè)置以及變量初始化等。 28第五章第五章 操作步驟操作步驟5.15

43、.1 軟件的操作步驟軟件的操作步驟5.1.1 LCD 漢字顯示操作步驟1.DM Tool 字模提取工具與顯示英文字符(ASCII 碼)不同,漢字不能直接顯示在點(diǎn)陣的LCD 顯示器上,而是要借助一個(gè)工具,先把漢字轉(zhuǎn)換成 LCD 顯示器能顯示的形式。凌陽(yáng)科技教育推廣中心提供了針對(duì) unSP 系列 16 位單片機(jī)的字模數(shù)據(jù)提取工具DM Tool;可以利用此工具提取漢字字模、BMP 位圖字模,還可以很方便地提取 ASCII 碼字模。DM Tool 在大學(xué)計(jì)劃網(wǎng)站 SPLC501 液晶模組資料里提供。下面介紹利用DM Tool 字模提取工具提取漢字字模的步驟。第一步:安裝好DM Tool 后,在開始-程

44、序-sunplus-DM Tool打開DM。圖19 DM Tool 界面第二步:選擇FileNews菜單項(xiàng),新建工程,如圖 20所示:29圖 20 新建工程選擇后,即新建了一個(gè)工程;如圖21所示。用戶可以選擇File菜單中的Save菜單項(xiàng)來保存工程,也可以直接對(duì)工程進(jìn)行操作,進(jìn)行字模數(shù)據(jù)提取的操作。圖 21 新建了一個(gè)工程第三步:在輸入?yún)^(qū)中輸入漢字:列如羅江波波制作這時(shí)利用快捷鍵組合:“Ctrl+Enter”,完成漢字的輸入操作,可以看到轉(zhuǎn)換列表中出現(xiàn)“羅江波波制作”四個(gè)漢字的列表,而在操作區(qū)中也會(huì)出現(xiàn)漢字的點(diǎn)陣圖。30第四步:進(jìn)行字模數(shù)據(jù)的提取。選擇菜單File中的Export CChar

45、file菜單項(xiàng),或者直接用工具欄最右邊的“Export”工具,打開字模數(shù)據(jù)生成窗口。第五步:在字模數(shù)據(jù)生成窗口中,選擇File菜單中的Export CChar file菜單項(xiàng),或工具欄中的“Export CChar file”工具,開始生成數(shù)據(jù),即打開了“Export CChar file”對(duì)話框,如圖22和圖23所示:圖 22 選擇“Export CChar file”選項(xiàng)打開對(duì)話框圖 23 “Export CChar file”對(duì)話框第六步:在對(duì)話框的“Select”選項(xiàng)中,選擇“Down to Up,Left to Right”選項(xiàng);在“char .c file:”輸入框的右邊的工具,可

46、以選擇導(dǎo)出文件的路徑和文件名,這里保存在“我的文檔”中,文件名為Mychar”,如圖24所示;然后點(diǎn)擊“保存”返回“Export CChar file”對(duì)話框;再在“Export CCharfile”中點(diǎn)擊“OK”,即可生成保存有字模數(shù)據(jù)的兩個(gè)文件:“Mychar.c”和“Mychar.h”;如圖25所示:31圖 24 選擇路徑和保存文件名圖 25 導(dǎo)出的字模數(shù)據(jù)文件這時(shí),漢字字模數(shù)據(jù)的生成操作已完成,已經(jīng)生成了所需的字模數(shù)據(jù)文件:“Mychar.c”和“Mychar.h”。導(dǎo)出文件后,用戶可以關(guān)閉字模數(shù)據(jù)生成窗口,返回到DM Tool 軟件的主窗口,以便進(jìn)行其它的操作,DM Tool 的使用

47、方法可以參考DM Tool 的用戶手冊(cè)。導(dǎo)出的字模數(shù)據(jù)以數(shù)組的形式保存,可以直接包含到工程中進(jìn)行引用。5.1.2 程序燒入硬件操作步驟步驟一:根據(jù)圖6數(shù)字鐘連接示意圖連接硬件,并連接好下載線。 步驟二:打開電池盒電源。 步驟三:?jiǎn)?dòng)unSP IDE。打開數(shù)字鐘應(yīng)用實(shí)例程序(路徑:數(shù)字電子鐘禮包參考源代碼monthdayclock monthdayclock.sp),編譯、鏈接確認(rèn)沒有錯(cuò)誤。如圖26所示: 32圖 26 打開數(shù)字鐘應(yīng)用實(shí)例程序步驟四:下載程序代碼到61板上。 步驟五:下載成功后會(huì)有幾秒鐘的開機(jī)畫面,隨后會(huì)進(jìn)入時(shí)間日期顯示界面,初始時(shí)間設(shè)定為: 00:00:00,日期為2006年8

48、月1日。 按KEY1鍵:進(jìn)入功能選擇界面。 按KEY2鍵:播報(bào)當(dāng)前的時(shí)間。 按KEY3鍵:播報(bào)當(dāng)前的日期。 KEY2、KEY3鍵同時(shí)按下:控制鬧鐘的開與關(guān)。具體操作流程圖如圖27:33圖 27 具體操作流程圖5.1.3 語(yǔ)音播放操作步驟1. 新建一個(gè)工程ex4_ Recognise_LCD,在工程里建立一個(gè)新的C語(yǔ)言文件。2. 程序中會(huì)用到語(yǔ)音識(shí)別的API函數(shù),先拷貝語(yǔ)音識(shí)別庫(kù)bsrv222SDL.lib 到ex4_Recognise_LCD 工程文件夾, bsrv222SDL.lib 在實(shí)驗(yàn)儀指導(dǎo)書范例代碼exampleIntExaex4_Recognise_LCD 路徑可以找到。3. 拷貝

49、語(yǔ)音識(shí)別頭文件bsrSD.h、bsrSD.inc到ex4_Recognise_LCD 工程文件夾。4. 拷貝語(yǔ)音播放庫(kù)sacmv26e.lib 和頭文件A2000.h、a2000.inc到ex4_Recognise_LCD 工程文件夾。5. 拷貝支持sacmv26e.lib 的匯編語(yǔ)言文件hardware.asm 和頭文件hardware.h、hardware.inc 到ex4_Recognise_LCD 工程文件夾。6. 拷貝SPLC501液晶顯示34DataOSforLCD.asm、SPLC501Driver_IO.asm、SPLC501Driver_IO.inc、SPLC501User.

50、c 和SPLC501User.h 五個(gè)驅(qū)動(dòng)程序(提供在實(shí)驗(yàn)儀指導(dǎo)書范例代碼examplemodel_ExaDriverSPLC501driver)到ex4_Recognise_LCD 工程文件夾。7. 在IDE 集成開發(fā)環(huán)境的ProjectSettinglink 中鏈接bsrv222SDL.lib 和sacmv26e.lib 庫(kù)到工程中。8. 添加hardware.asm、DataOSforLCD.asm、SPLC501Driver_IO.asm 和SPLC501User.c 到工程文件的“Source Files”,添加bsrSD.h、bsrSD.inc、A2000.h、a2000.inc、

51、hardware.h、hardware.inc、SPLC501Driver_IO.inc、SPLC501User.h 八個(gè)頭文件到“Head Files”。8. 拷貝語(yǔ)音資源, 并加載到工程當(dāng)中; 語(yǔ)音資源可以從實(shí)驗(yàn)儀指導(dǎo)書范例代碼exampleIntExaex4_Recognise_LCDvoice 路徑下可以找到。9. 提取BMP 圖片的字模數(shù)據(jù),并將數(shù)據(jù)加載到工程中,圖片的資源可以在實(shí)驗(yàn)儀指導(dǎo)書范例代碼exampleIntExaex4_Recognise_LCDPic 路徑下可以找到。10. 按照程序流程圖編寫程序。11. Rebuild All。12. 按照硬件連接圖連接硬件。13.

52、下載程序,運(yùn)行。5.25.2 操作界面操作界面 1. 時(shí)間顯示界面如圖28所示 ,此時(shí)按KEY1鍵會(huì)進(jìn)入功能選擇菜單,按KEY2鍵播放當(dāng)前的時(shí)間,按KEY3鍵播放當(dāng)前的日期,KEY2和KEY3同時(shí)按下,切換鬧鐘的開與關(guān),當(dāng)鬧鐘響時(shí),按下三個(gè)鍵中的任何一個(gè)都可以關(guān)閉鬧鐘。圖28 時(shí)間顯示界面352.功能選擇菜單界面如圖29所示,此時(shí)KEY1為確定鍵,KEY2為下翻鍵,KEY3為上翻鍵。圖29 功能選擇界面 3.時(shí)間日期調(diào)整界面如圖30所示:此時(shí)KEY1為確定鍵,KEY2為加一鍵,KEY3為減一鍵,圖中閃爍的部分表示當(dāng)前正在調(diào)整的選項(xiàng),當(dāng)設(shè)置完成后,按KEY1會(huì)自動(dòng)退出設(shè)置界面。 圖30 時(shí)間日期

53、顯示界面4.鬧鐘設(shè)置界面如圖31所示,此時(shí)KEY1為確定鍵,KEY2為下翻鍵,KEY3為上翻鍵圖 31 鬧鐘功能設(shè)置界面5.鬧鐘時(shí)間設(shè)置界面如圖32所示,此時(shí)KEY1為確定鍵,KEY2為加一鍵,KEY3為減一鍵,圖中閃爍的部分表示當(dāng)前正在調(diào)整的選項(xiàng),當(dāng)設(shè)置完成后,按KEY1會(huì)自動(dòng)退出設(shè)置界面。 36圖32 鬧鐘時(shí)間設(shè)置界面6.鬧鐘鈴聲設(shè)置界面如圖33所示,此時(shí)KEY1為確定鍵,KEY2為選擇鍵,KEY3為播放當(dāng)前選擇的鈴聲鍵。圖 33 鬧鐘鈴聲選擇界面 7.秒表功能界面如圖34所示,此時(shí)KEY1為退出鍵,KEY2為開始/暫停鍵,KEY3為清零鍵,只有當(dāng)秒表停止運(yùn)行時(shí)KEY3才有效。 圖 34

54、秒表功能界面37第六章第六章 結(jié)論結(jié)論 SPCE061A芯片強(qiáng)大的語(yǔ)音處理功能,為本系統(tǒng)的設(shè)計(jì)提供了便利條件;32個(gè)可編程I/O口,使得擴(kuò)展外圍設(shè)備非常方便;CPU可工作在0.32MHz49MHz的主頻范圍,并且擁有豐富的中斷源,使得系統(tǒng)在語(yǔ)音播放、數(shù)據(jù)顯示等方面游刃有余,擴(kuò)展性強(qiáng)。根據(jù)硬件的選擇和電路的搭配進(jìn)行了軟件的設(shè)計(jì)和編程,在實(shí)現(xiàn)硬件功能時(shí),我們?cè)龅揭恍﹩栴},在參閱了許多資料結(jié)合實(shí)際條件選擇了一種全面和簡(jiǎn)單的數(shù)字鐘系統(tǒng),其次在焊接中和元器件的購(gòu)買都是在胡老師的指導(dǎo)下購(gòu)買的。在這次畢業(yè)設(shè)計(jì)中鍛煉了我的分析能力、解決問題和動(dòng)手能力。 顯然,這是一個(gè)比較簡(jiǎn)單的數(shù)字鐘,在這個(gè)基礎(chǔ)上,稍微改動(dòng)

55、,或者擴(kuò)展其他模塊可以設(shè)計(jì)出一個(gè)更加完善的數(shù)字鐘系統(tǒng)。比如,擴(kuò)展外部存儲(chǔ)器可以增加鈴聲的數(shù)目、可以改變鈴聲的播放格式使鈴聲更加動(dòng)聽、增加掉電保護(hù)功能等等,以此來提高同學(xué)們的對(duì)單片機(jī)的興趣。本次設(shè)計(jì)中,我從基礎(chǔ)做起,做好每一個(gè)程序模塊,在最后的硬件調(diào)試中,取得成功,實(shí)現(xiàn)了數(shù)字鐘的基本功能 ,達(dá)到了我們預(yù)期的設(shè)計(jì)目的。系統(tǒng)實(shí)物照片如圖35。圖 35 系統(tǒng)實(shí)物照片38參考文獻(xiàn)參考文獻(xiàn)1 李全利,遲榮強(qiáng).單片機(jī)原理及接口技術(shù)M,北京:高等教育出版社,2004.1.2 黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì)M,北京:北京航空航天大學(xué)出版社,2006.6.3 黃智偉.凌陽(yáng)單片機(jī)課程設(shè)計(jì)指導(dǎo)M,北京:北京航

56、空航天大學(xué)出版社,2006.11.4 李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)M,北京:北京航空航天大學(xué)出版社,2001.7.5 趙曙光,郭萬有,楊頌華.可編程邏輯器件原理開發(fā)與應(yīng)用M,西安:西安電子科技大學(xué), 2000.6 候伯亨.VHDL 硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)M, 西安:西安電子科技大學(xué)出版社, 1999.7 康華光. 模擬電子技術(shù)基礎(chǔ)(第四版)M, 武漢:華中理工大學(xué)出版社,1999.8 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第二版)M,北京:清華大學(xué)出版社,1991.9 陳小忠,黃寧. 單片機(jī)接口技術(shù)實(shí)用子程序M,北京:北京人民郵電出版社, 2005.10 歐偉明,周春臨,瞿遂春.電子信息系統(tǒng)設(shè)

57、計(jì)M,西安電子科技大學(xué)出版社,2005.9.11 賈立新,王涌.電子系統(tǒng)設(shè)計(jì)與實(shí)踐M,北京:清華大學(xué)出版社,2007.12 羅亞非.凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ)M,北京:北京航空航天大學(xué)出版社,2003.13 SPLC501A液晶顯示模塊產(chǎn)品說明書Z.凌陽(yáng)大學(xué)計(jì)劃網(wǎng)站().14 雷思孝.凌陽(yáng)單片機(jī)原理及實(shí)用技術(shù)M,西安電子科技大學(xué),2004.39致致 謝謝本論文是在導(dǎo)師教授胡敏的悉心指導(dǎo)下完成的。導(dǎo)師淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實(shí)無華、平易近人的人格魅力對(duì)我影響深遠(yuǎn)。不僅使我樹了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我

58、明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo)下完成的,傾注了導(dǎo)師大量的心血。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x! 羅江波 2008年5月于合肥學(xué)院40附錄一附錄一 軟件編寫程序軟件編寫程序工程名稱: monthdayclock.spj/功能描述: 萬年歷,農(nóng)歷和電子鐘,具備撥報(bào)日期、時(shí)間、正點(diǎn)報(bào)時(shí)、秒表、鬧鐘等功能。/ IDE環(huán)境: SUNPLUS unSPTM IDE 2.0.0(or later)/涉及的庫(kù): CMacro1016.lib/ sacmv26e.lib/組成文件: main.c/system./Key.c/speak.c/IRQ.asm

59、/miaobiao/asm/硬件連接:/ IOA8-15接液晶顯示模塊DB0-DB7/ IOB4接液晶顯示模塊AO/ IOB5接液晶顯示模塊的R/W/ IOB6接液晶顯示模塊的EP/文件名稱: main.c/功能描述: 系統(tǒng)初始化,顯示時(shí)間日期界面/ 按KEY1,進(jìn)入時(shí)間調(diào)整和功能選擇菜單。/ 按KEY2,撥報(bào)當(dāng)前的時(shí)間。/ 按KEY3,撥報(bào)當(dāng)前的日期。/ KEY2、KEY3同時(shí)按下控制鬧鐘的開關(guān)/=#include SPCE061A.h#include SPLC501User.h#include model.h#define ring1 17 /播放第一個(gè)鈴聲的序號(hào)#define ring2

60、 18 /播放第二個(gè)鈴聲的序號(hào)/=/對(duì)主函數(shù)調(diào)用的函數(shù)聲明/=voidDelay(unsignedint tt);extern void display();extern void PlayRespond(unsigned int Result);extern void speaktime();extern void keyscan();extern void nextdisplay(); extern void setday();extern void set_ring();extern void setsecond(); extern void speaktime();extern voi

61、d speakday();41extern void keyinitial();/=/=/定義文件中用到的變量以及常數(shù)數(shù)組/=unsigned int keyflag1=0; /鍵按下標(biāo)志1,控制進(jìn)入功能選擇菜單unsigned int keyflag2=0; /鍵按下標(biāo)志2,unsigned int keyflag3=0; /鍵按下標(biāo)志3,控制進(jìn)入時(shí)間日期調(diào)整界面unsigned int keyflag4=0; /鍵按下標(biāo)志4,控制進(jìn)入鬧鐘時(shí)間設(shè)置界面unsigned int keyflag5=0; /鍵按下標(biāo)志5,控制進(jìn)入秒表設(shè)置界面unsigned int keyflag6=0; /鍵按

62、下標(biāo)志6,控制進(jìn)入鬧鐘設(shè)置界面unsigned int keyflag7=0; /鍵按下標(biāo)志7,控制進(jìn)入鬧鐘鈴聲選擇界面unsigned int ringflag=0; /播放鈴聲標(biāo)志位1播放第一首2播放第二首u(yù)nsigned int keyvalue=0; /存放按下的鍵值unsigned int runflag=0; /當(dāng)年閏月標(biāo)志位unsigned int num=0; /2HZ計(jì)數(shù)單元unsigned int hour=12; /存放當(dāng)前的小時(shí)unsigned int min=0; /存放當(dāng)前的分鐘unsigned int sec=0; /存放當(dāng)前的秒unsigned int year

63、=2008; /存放當(dāng)前的年unsigned int gmonth=4; /存放當(dāng)前的公歷的月unsigned int gday=21; /存放當(dāng)前的公歷的日unsigned int xqvalue=1; /存放當(dāng)前的星期unsigned int nmonth=3; /存放農(nóng)歷的月42unsigned int nday=16; /存放農(nóng)歷的日unsigned int runxq=3,6,0,3,5,1,3,6,2,4,0,2; /潤(rùn)年星期偏差表unsigned int pingxq=4,0,0,3,5,1,3,6,2,4,0,2; /平年星期偏差表unsigned int mouse=1,17

64、,32,48; /箭頭坐標(biāo)數(shù)組unsigned int nhour=0; /存放鬧鐘的小時(shí)unsigned int nmin=0; /存放鬧鐘的分鐘unsigned int mbmin=0; /存放秒表的分unsigned int mbsec=0; /存放秒表的秒unsigned int mmsec=0; /存放秒表的毫秒unsigned int mbnum=0; /1KHZ中斷標(biāo)志位unsigned int onoff=0; /鬧鐘開關(guān)標(biāo)志unsigned int int2hz; /設(shè)置一個(gè)2HZ中斷標(biāo)志 unsigned int ringonoff; /鬧鐘響時(shí)關(guān)閉標(biāo)志 char numb

65、er=0,1,2,3,4,5,6,7,8,9; /設(shè)置待顯示的數(shù)字。 unsigned int clockset=11,31,51; /設(shè)置鬧鐘鈴聲時(shí)的光標(biāo) unsigned int counter=0; /設(shè)置顯示SUNPLUS計(jì)數(shù)器unsigned int mapcounter1=0;unsigned int mapcounter2=0; const int glunarmonthday= /存放2001-2100的陰歷月天數(shù)表b15-b14表征1-12月的天數(shù)特征 /為1則當(dāng)月為30天,為0則為29天。低四位為當(dāng)年閏月的月份 0 xd954,0 xd4a0,0 xda50,0 x7552

66、,0 x56a0,0 xabb7,0 x25d0,0 x92d0,0 xcab5,0 xa950,0 xb4a0,0 xbaa4,0 xad50,0 x55d9,0 x4ba0,0 xa5b0,0 x5176,0 x52bf,0 xa930,0 x7954,0 x6aa0,0 xad50,0 x5b52,0 x4b60,0 xa6e6,0 xa4e0,0 xd260,0 xea65,0 xd530,0 x5aa0,0 x76a3,0 x96d0,0 x4afb,0 x4ad0,0 xa4d0,0 xd0b6,0 xd25f,0 xd520,0 xdd45,0 xb5a0, 0 x56d0,0 x55b2,0 x49b0,0 xa577,0 xa4b0,0 xaa50,0 xb255,0 x6d2f,0 xada0,0 x4b63,0 x937f,0 x49f8,0 x4970,0 x64b0,0 x68a6,0 xea5f,0 x6b20,0 xa6c4,0 xaaef,0 x92e0,430 xd2e3,0 xc960,0 xd557,0 xd4a0,0 xda50,0 x5dd5,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!