915153934基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第1頁(yè)
915153934基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第2頁(yè)
915153934基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第3頁(yè)
915153934基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第4頁(yè)
915153934基于單片機(jī) SPCE061A的數(shù)字電子鐘畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目 錄 第一章 前言.1 1.1 系統(tǒng)功能 .2 1.2 基本參數(shù) .2 1.3 注意事項(xiàng) .2 第二章 模塊特性簡(jiǎn)介.3 2.1 spce061a 單片機(jī) .3 2.1.1 spce061a 簡(jiǎn)介 .3 2.1.2 芯片特性 .4 2.2 spce061a 精簡(jiǎn)開(kāi)發(fā)板 .5 2.3 splc501a 液晶模組 .6 2.4 語(yǔ)音的設(shè)計(jì)及工作原理.7 2.5 系統(tǒng)總體方案介紹.8 第三章 系統(tǒng)硬件設(shè)計(jì).11 3.1 spce061a 最小系統(tǒng) .11 3.2 電源模塊.11 3.3 音頻輸出模塊.12 3.4 液晶顯示模塊.13 3.4.1 顯示 ram 區(qū)映射情況 .13 3.4.2 spl

2、c501 驅(qū)動(dòng)控制器芯片.15 第四章 系統(tǒng)軟件設(shè)計(jì).17 4.1 軟件的結(jié)構(gòu) .17 4.2 各模塊程序的說(shuō)明 .18 4.2.1 概述 .18 4.2.2 主程序 .18 4.2.3 中斷服務(wù)程序 .19 4.2.4 時(shí)間日期模塊 .21 4.2.5 splc501 液晶顯示模組顯示漢字.22 4.2.6 常用功能函數(shù)介紹(用戶api) .24 第五章 操作步驟.28 5.1 軟件的操作步驟.28 5.1.1 lcd 漢字顯示操作步驟 .28 5.1.2 程序燒入硬件操作步驟 .31 5.1.3 語(yǔ)音播放操作步驟 .33 5.2 操作界面 .34 第六章 結(jié)論.37 參考文獻(xiàn).38 致 謝

3、.39 附錄一 軟件編寫(xiě)程序.40 附錄二 主要元器件清單.48 第一章第一章 前言前言 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é)奏也越來(lái)越快。 時(shí)間對(duì)人們來(lái)說(shuō)總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí)間。忘記了 要做的事情,當(dāng)事情不是很重要的時(shí)候,這種遺忘無(wú)傷大雅。但是,一旦重要事情,一時(shí)的耽 誤可能釀成大禍。 目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著cmos化、低功耗、小 體積、大容量、高性能、低價(jià)格和外圍

4、電路內(nèi)裝化等幾個(gè)方面發(fā)展。下面是單片機(jī)的主要發(fā)展 趨勢(shì)。 單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。 從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。 這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。 單片機(jī)模塊中最常見(jiàn)的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝 置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,因 此得到了廣泛的使用。 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒、數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場(chǎng)所,成為人們?nèi)粘?/p>

5、生活中不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶 體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái) 了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、 時(shí)間程序自動(dòng)控制、定時(shí)廣播芯片自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定 時(shí)電氣的自動(dòng)啟用等,所有這些,都是以數(shù)字電子鐘具有走時(shí)準(zhǔn)確,一鐘多用等特點(diǎn),在生活中 已經(jīng)得到了廣泛的應(yīng)用。隨著科技的發(fā)展,人們對(duì)電子產(chǎn)品的應(yīng)用要求越來(lái)越高,數(shù)字電子鐘 不但可以顯示當(dāng)前的時(shí)間,而且可以顯示日期、農(nóng)歷、以及星期等,給人們的生活帶來(lái)了方便。 另外數(shù)字鐘還具備秒表和鬧鐘功能,

6、且鬧鐘鈴聲可自選,使一款電子鐘具備了多媒體的色彩。 本方案利用凌陽(yáng)科技公司的splc501a液晶模組作為顯示模塊,凌陽(yáng)16位單片機(jī)spce061a 作為主控芯片,充分利用spce061a精簡(jiǎn)開(kāi)發(fā)板(簡(jiǎn)稱61板)上面的三個(gè)按鍵,完成一個(gè)簡(jiǎn)易 的數(shù)字系統(tǒng)數(shù)字電子鐘。 該數(shù)字鐘既可以顯示當(dāng)前的日期和時(shí)間,又可以將當(dāng)前的日期和時(shí)間播報(bào)出來(lái),同時(shí)具有 鬧鐘秒表等功能,滿足了不同人的需要。 該方案的主要功能是在splc501a液晶模組上顯示時(shí)間、日期,能通過(guò)spce061a的音頻通 道播報(bào)當(dāng)前的日期和時(shí)間。61板上面的三個(gè)按鍵可以控制實(shí)現(xiàn)所有的功能,在顯示日期和時(shí)間 狀態(tài)下按key1鍵進(jìn)入功能選擇菜單,此

7、時(shí)key2為下翻鍵,key3為上翻鍵,key1為確定鍵; 在顯示日期和時(shí)間狀態(tài)下按key2鍵播報(bào)當(dāng)前的時(shí)間,按key3鍵播報(bào)當(dāng)前的日期,當(dāng) key2、key3鍵同時(shí)按下時(shí)控制鬧鐘的開(kāi)/關(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é)干電池

8、); 2.日期顯示范圍:2001-2100年; 3.時(shí)間采用24小時(shí)制。 1.31.3 注意事項(xiàng)注意事項(xiàng) 1請(qǐng)將61板上的j5跳線選擇3.3v; 2. 在安裝電池時(shí)注意正負(fù)極,否則容易燒壞芯片; 3在印制電路板上的焊接元器件前要認(rèn)真對(duì)照原理圖,仔細(xì)查看印制電路板,找到對(duì)應(yīng)的 元器件功能區(qū); 4在電源測(cè)試期間請(qǐng)勿將單片機(jī)芯片插入座中,以免電源部分有問(wèn)題造成芯片燒壞。 第二章第二章 模塊特性簡(jiǎn)介模塊特性簡(jiǎn)介 該數(shù)字鐘系統(tǒng)主要由spce061a精簡(jiǎn)開(kāi)發(fā)板(簡(jiǎn)稱61板)和splc501a液晶模塊構(gòu)成。系統(tǒng)通 過(guò)61板上的三個(gè)按鍵控制splc501a液晶模塊顯示,通過(guò)揚(yáng)聲器播放語(yǔ)音。所以這里主要介紹這

9、兩個(gè)模塊。 2.12.1 spce061aspce061a 單片機(jī)單片機(jī) 2.1.1 spce061a 簡(jiǎn)介 spce061a是凌陽(yáng)科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十六位單片機(jī),具有易學(xué)易用且效率較 高的一套指令系統(tǒng)和集成開(kāi)發(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ǔ)音錄放,為軟件開(kāi)發(fā)提供了方便的條件。 spce061a主要包括輸入/輸出端口、定時(shí)器/計(jì)數(shù)器、數(shù)/模轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換、串行設(shè)備輸 入/輸出、通用異步串行接口、低電壓監(jiān)測(cè)和復(fù)位等電路,并且內(nèi)置在線仿真電路ice接口,使

10、其能夠快速地處理復(fù)雜的數(shù)字信號(hào)。 spce061a片內(nèi)還集成了一個(gè)ice(在線仿真電路)接口,使得對(duì)該芯片的編程、仿真變得非 常方便,而ice接口不占用芯片上的硬件資源,結(jié)合凌陽(yáng)科技提供的集成開(kāi)發(fā)環(huán)境(unsp ide), 用戶可以進(jìn)行在線調(diào)試、仿真;而程序的下載(燒寫(xiě))也是通過(guò)該接口完成。 圖 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; 可編程音頻處理; 晶

11、體振蕩器; 系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)); 2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值); 2個(gè)10位dac(數(shù)-模轉(zhuǎn)換)輸出通道; 32位通用可編程輸入/輸出端口; 14個(gè)中斷源可來(lái)自定時(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ù)位

12、(lvr)功和低電壓監(jiān)測(cè)(lvd)功能; 內(nèi)置在線仿真板(ice,in- circuit emulator)。 2.22.2 spce061aspce061a 精簡(jiǎn)開(kāi)發(fā)板精簡(jiǎn)開(kāi)發(fā)板 spce061a精簡(jiǎn)開(kāi)發(fā)板(簡(jiǎn)稱61板),是以凌陽(yáng)16位單片機(jī)spce061a為核心的精簡(jiǎn)開(kāi)發(fā)仿 真實(shí)驗(yàn)板,大小相當(dāng)于一張撲克牌,是“凌陽(yáng)科技大學(xué)計(jì)劃”專為大學(xué)生、電子愛(ài)好者等進(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é)生隨身

13、攜帶!使學(xué)生在掌握軟件 的同時(shí),熟悉單片機(jī)硬件的設(shè)計(jì)制作,鍛煉學(xué)生的動(dòng)手能力,也為單片機(jī)學(xué)習(xí)者和開(kāi)發(fā)者創(chuàng)造 了一個(gè)良好的學(xué)習(xí)條件和開(kāi)發(fā)新產(chǎn)品的機(jī)會(huì)!61板上有調(diào)試器接口(probe接口)以及下載線 (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音頻功放輸出)模塊; 4.按鍵模塊; 5.i/o端口接口模塊; 6.調(diào)試、下載接口模塊; 圖2為61板的實(shí)物圖: 圖 2 61板

14、實(shí)物圖 2.32.3 splc501asplc501a 液晶模組液晶模組 splc501 液晶顯示模組采用的驅(qū)動(dòng)控制芯片為凌陽(yáng)科技的splc501a 芯片,splc501a 為液晶顯示控制驅(qū)動(dòng)器,splc501a 單芯片液晶驅(qū)動(dòng),可以直接與其他微控制器接口總線相連。 微控制器可以將顯示數(shù)據(jù)通過(guò)8位數(shù)據(jù)總線或者串行接口寫(xiě)到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液晶顯示模組的顯示器上的顯

15、示點(diǎn)與驅(qū)動(dòng)控制芯片中的顯示緩存ram 是一一 對(duì)應(yīng)的;splc501a芯片中共有65(8 page 8 bit+1) 132 位的顯示ram 區(qū)。而顯示器的顯 示點(diǎn)陣大小為64128 點(diǎn),所以實(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 行;而列

16、地址則表示該點(diǎn)的橫坐標(biāo),在屏上為從左到 右排列,page中的一個(gè)byte對(duì)應(yīng)的是一列(8行,即8個(gè)點(diǎn)),共128 列??梢愿鶕?jù)這樣的關(guān)系 在程序中控制lcd 顯示屏的顯示。 splc501a液晶模組具有以下特性: 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ā)出聲音,以

17、增加效果。為了配 合設(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)增益 電路。這為語(yǔ)音的錄入提供方便的硬件條件。2路10位精度的da,只需外接1個(gè)功放即可完成語(yǔ) 音播放。一般都是用c語(yǔ)言作為主程序,用匯編語(yǔ)言編制各種模塊,供主程序調(diào)用。凌陽(yáng)音頻 格式常用的有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

18、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é) 控制鍵盤(pán)掃描;年、月、日、星期以及時(shí)間的計(jì)算; splc501a液晶顯示的驅(qū)動(dòng);并根據(jù)按鍵 值播報(bào)當(dāng)前的日期或者時(shí)間。splc501a液晶顯示模組主要用來(lái)顯示當(dāng)前的時(shí)間,日期,以及 顯示功能選擇菜單和時(shí)間日期調(diào)整菜單。在聲音的處理上主要采用凌陽(yáng)科技的語(yǔ)音壓縮格式, 將需要播放的聲音壓縮存在spr模組里面,然后通過(guò)61板將語(yǔ)音資源取出播放出來(lái)。在圖片的 處理上,采用splc501液晶模組

19、,使用配套的dm tool工具將需要顯示的圖片實(shí)現(xiàn)提取出圖片 資源燒寫(xiě)到spce061a中,然后通過(guò)61板控制splc501a播放出來(lái)。本系統(tǒng)采用了語(yǔ)音的錄入和 輸出播放。 圖 4 系統(tǒng)結(jié)構(gòu)框圖 圖 5 功能結(jié)構(gòu)圖 用61板控制數(shù)字鐘系統(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液晶顯示模組的“+

20、”、 db07、“-”,主要用來(lái)向液晶模組傳送命令和數(shù)據(jù);iob6接ep,iob5接r/w,iob4接 ao,用來(lái)控制液晶的顯示和工作方式。 注意電源的正負(fù)極不要接反;db0連接ioa8,db7連 接ioa15,也不要接反。 圖 6 電路連接圖 第三章第三章 系統(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

21、 電源模塊電源模塊 spce061a 板采用 3 節(jié) 5 號(hào)電池進(jìn)行供電,由 j10 接入,其中前后兩組電容用來(lái)去耦濾波, 使其供給芯片的電源更加干凈平滑。為了獲得標(biāo)準(zhǔn)的 3.3 伏電壓,在電路上加入 spy0029 三端穩(wěn) 壓器和兩個(gè)二極管,是為了防止誤將電源接反造成不必要損失而設(shè)置的。在操作過(guò)程中千萬(wàn)不要 將電源接反,因?yàn)榉聪螂妷撼^(guò)一定值,二極管將會(huì)被損壞,達(dá)不到保護(hù)的目的。后面的零電 阻及其電源分成不同的幾路是為了減少電磁干擾設(shè)置的。圖 8 是電源部分的電路,4.5v 直流電 壓經(jīng)過(guò) spy0029 后產(chǎn)生 3.3v 給整個(gè)系統(tǒng)供電。 spy0029 是凌陽(yáng)公司設(shè)計(jì)的電壓調(diào)整 ic,采

22、 用 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 鎖相環(huán)電源,接 spce061a 的 7 腳;vdd 和 vdda 分別為數(shù)字電源與 模擬電源,分別接 spce061a 的 15 腳和 36 腳;avss1 是模擬地,接 spce061a 的 24 腳; vss 是數(shù)字地,接 spce061a 的 38 腳; avss2 接音頻輸出電路的 avss2。 61板電源模塊電路如圖8,s

23、pce061a的內(nèi)核供電為3.3v,而i/o端口可接3.3v5v,所以在 電源模塊(61板上)中有一個(gè)端口電平選擇跳線,如圖中的j5。本系統(tǒng)需要的端口高電平為 3.3v,所以圖8中的j5跳線需要跳到2和3上。 圖 8 電源模塊 3.33.3 音頻輸出模塊音頻輸出模塊 音頻輸出(d/a)部分的原理圖如圖9所示,可以直接聽(tīng)喇叭輸出的聲音。圖中的spy0030 也是凌陽(yáng)公司的產(chǎn)品。它的詳細(xì)說(shuō)明可以參見(jiàn)spy0030 data sheet。和lm386相比,spy0030還 具有下述優(yōu)勢(shì),比如lm386工作電壓需在4v以上, spy0030僅需2.4v即可工作(兩顆電池即可工 作);lm386輸出功率

24、100mw以下, spy0030約700mw。芯片將聲音處理后輸出(j2),經(jīng) spy0030音頻放大輸出(j3)通過(guò)揚(yáng)聲器還原為聲音。spy0030a是凌陽(yáng)公司開(kāi)發(fā)的專門(mén)用于語(yǔ) 音放大的芯片。spy0030的輸入電壓的范圍是2.46.0伏,該電路中采用的電壓是3.3伏。 spce061a內(nèi)置2路10位dac,只需要外接功放電路即可完成語(yǔ)音的播放。 圖 9 音頻輸出電路圖 3.43.4 液晶顯示模塊液晶顯示模塊 3.4.1 顯示 ram 區(qū)映射情況 splc501a液晶模組為12864點(diǎn)陣模式,面板采用stn(super twisted nematic)超扭曲相 列技術(shù)制成,非常容易通過(guò)接口被

25、訪問(wèn)。模組上的液晶顯示器采用凌陽(yáng)科技的splc501芯片作 為lcd驅(qū)動(dòng)和控制器,為128x64點(diǎn)陣圖形液晶顯示器。 表1 splc501液晶顯示模組的基本參數(shù) 顯示模式 黃色模式stn液晶 顯示格式 128x64點(diǎn)陣地圖形液晶 顯示 輸入數(shù)據(jù) 兼容68/80系列mpu數(shù)據(jù) 輸入 背光 黃綠色led 模塊尺寸 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 注意事項(xiàng) splc501液晶顯示模組中,接口引腳:“+”、“v3”分別為電源輸入端和高電平 引針(供時(shí)序選擇跳線用),而“-”、“gnd”都是接地引

26、腳。 表2 接口引腳名 接口引腳名 說(shuō)明 cs1 片選,低有效 res 復(fù)位腳 a0 數(shù)據(jù)命令選擇腳 對(duì)于6800系列mpu的讀/寫(xiě)信 號(hào)(r/w) r/w 對(duì)于8080系列mpu的寫(xiě)信號(hào) (w/r) 對(duì)于6800系列mpu的時(shí)鐘信號(hào) 使能腳(ep) ep 對(duì)于8080系列mpu的讀信號(hào) (rd) db0 db1 db2 db3 db4 8位數(shù)據(jù)總線 db5 db6 db7 vr 端口輸出電壓 c86 c86=h 選擇6800mpu系列 c86=l 選擇8080mpu系列 ps 串、并行時(shí)序選擇 3.4.2 splc501 驅(qū)動(dòng)控制器芯片 splc501液晶顯示模組采用的驅(qū)動(dòng)控制芯片為凌陽(yáng)科技

27、的splc501a芯片,splc501a為液 晶顯示控制驅(qū)動(dòng)器,集行、列驅(qū)動(dòng)器和控制器于一體,廣泛應(yīng)用于小規(guī)模液晶顯示模塊。 splc501a單芯片液晶驅(qū)動(dòng),可以直接與其他微控制器接口總線相連。微控制器可以將顯 示數(shù)據(jù)通過(guò)8位數(shù)據(jù)總線或者串行接口寫(xiě)到splc501a的顯存中。下列是splc501a的特點(diǎn): 內(nèi)置8580位顯示ram。ram中的一位數(shù)據(jù)控制液晶屏上的一個(gè)象素點(diǎn)的亮、暗狀態(tài)?!?” 亮“0”暗; 具有65行驅(qū)動(dòng)輸出和132列驅(qū)動(dòng)輸出(注:模組中的液晶顯示面板僅為64行、128列); 可以直接與80系列和68系列微處理器相連; 內(nèi)置晶振電路,也可以外接晶振; 工作溫度范圍為40攝氏度

28、85攝氏度。 其電路原理圖如圖 10所示: 圖 10 液晶模組電路 splc501a液晶顯示模組提供了8080和6800的并行操作時(shí)序,也提供了串行的操作時(shí)序, 用戶可以通過(guò)對(duì)ps、c86引腳接不同的電平來(lái)選擇操作的時(shí)序(8080操作時(shí)序接線圖:(ps接 vdd,c86接vss) ,6800操作時(shí)序接線圖:(ps接vdd,c86接vdd) ,行操作時(shí)序接線圖: (ps接vss,c86接vss或vdd都可) )。splc501液晶顯示模組中,設(shè)置了ps和c86的跳線,供 用戶選擇操作時(shí)序。 第四章第四章 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì) 4.14.1 軟件的結(jié)構(gòu)軟件的結(jié)構(gòu) 下圖中可以看出各文件之間的調(diào)用

29、關(guān)系。 圖 11 軟件結(jié)構(gòu) 數(shù)字鐘主要還是軟件實(shí)現(xiàn)的,數(shù)字鐘的軟件設(shè)計(jì)由以下程序構(gòu)成: 1、main.c:實(shí)現(xiàn)系統(tǒng)的初始化、顯示開(kāi)機(jī)畫(huà)面、鍵盤(pán)掃描和語(yǔ)音播報(bào); 2、system.c:包含工程中大部分的功能函數(shù),包括各種界面的顯示、時(shí)間和日期的調(diào)整、秒 表的調(diào)整、鬧鐘的時(shí)間設(shè)定、鬧鐘的鈴聲選擇等; 3、key.c:鍵盤(pán)掃描文件,文件中定義了鍵盤(pán)掃描函數(shù)、延時(shí)函數(shù)、用來(lái)實(shí)現(xiàn)對(duì)鍵盤(pán)的掃描 等功能、鍵盤(pán)掃描采用查詢方式; 4、isr.asm:中斷服務(wù)函數(shù)文件,實(shí)現(xiàn)語(yǔ)音解碼、秒表以及時(shí)間、日期的修改; 5、speak.c:語(yǔ)音播報(bào)函數(shù),實(shí)現(xiàn)語(yǔ)音播報(bào)日期、時(shí)間以及鬧鐘。 4.24.2 各模塊程序的說(shuō)明各模

30、塊程序的說(shuō)明 4.2.1 概述 由于凌陽(yáng) spcea061a,使得外圍電路變的更簡(jiǎn)單。制作好系統(tǒng)的硬件電路后,整個(gè)系統(tǒng) 的主體任務(wù)主要落在了程序的編寫(xiě)上。spce061a 是凌陽(yáng)科技研發(fā)生產(chǎn)的性價(jià)比很高的一款十 六位單片機(jī),具有易學(xué)易用且效率較高的一套指令系統(tǒng)和集成開(kāi)發(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ǔ)音錄放,為軟件開(kāi)發(fā)提供了方便的條件。 此次系統(tǒng)采用了模塊程序結(jié)構(gòu),模塊程序結(jié)構(gòu)包括了初始化,系統(tǒng)主程序模塊,語(yǔ)音播放模塊, 顯示模塊。c 語(yǔ)言屬于高級(jí)語(yǔ)言,有著匯編

31、語(yǔ)言無(wú)法比擬的優(yōu)點(diǎn),而 spce061a 開(kāi)發(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è)工程中用到的變量,初始化了液晶顯 示 模塊。開(kāi)2hz中斷實(shí)現(xiàn)計(jì)時(shí)。在主程序中調(diào)用了鍵盤(pán)掃描程序,對(duì)ioa口的低三位進(jìn)行掃描,如 果有鍵按下,就把相應(yīng)的鍵值存入到一個(gè)變量中,通過(guò)主程序來(lái)判斷是哪個(gè)鍵按下,并執(zhí)行相 應(yīng)的功能:若是key1鍵按下,則會(huì)進(jìn)入功能選擇菜單,此時(shí)key1就會(huì)為確定鍵,key

32、2為下翻鍵, key3為上翻鍵;若是key2鍵按下,播報(bào)時(shí)間;若是key3鍵按下,播報(bào)當(dāng)前的日期;key2、key3 鍵同時(shí)按下控制鬧鐘的開(kāi)/關(guān)。 圖 12 主程序流程圖 4.2.3 中斷服務(wù)程序 中斷服務(wù)程序有三個(gè):一個(gè)是2hz中斷服務(wù)程序,用來(lái)計(jì)時(shí);一個(gè)是1khz中斷服務(wù)程序, 用于秒表計(jì)時(shí);另外一個(gè)是fiq中斷服務(wù)程序,用來(lái)播放語(yǔ)音。程序的流程分別如圖13、圖 14、圖15。 圖 13 irq5時(shí)基中斷流程圖 另外一個(gè)是fiq中斷服務(wù)程序,用來(lái)播放語(yǔ)音。 圖 14 irq4時(shí)基中斷流程圖 圖 15 fiq中斷程序 4.2.4 時(shí)間日期模塊 時(shí)間日期程序模塊的流程圖如圖16所示,該模塊用到

33、了2hz的時(shí)基中斷,用來(lái)實(shí)現(xiàn)計(jì)時(shí),同 時(shí)實(shí)現(xiàn)了日期的更新,其中農(nóng)歷是使用查表的方法來(lái)實(shí)現(xiàn)的。 圖 16 時(shí)間日期模塊流程圖 4.2.5 splc501 液晶顯示模組顯示漢字 利用splc501 液晶顯示模組顯示漢字比顯示英文字符稍微復(fù)雜一點(diǎn),因?yàn)橛⑽淖址?ascii 碼中都有對(duì)應(yīng)字符,而splc501 液晶顯示模組顯示的都是ascii 碼,漢字卻不能與 ascii 碼對(duì)應(yīng),所以要先用字模提取工具把漢字提取成字模數(shù)據(jù),才能顯示。 利用splc501 液晶顯示模組顯示漢字需要圖17的操作過(guò)程。新建一個(gè)工程;利用字模提取 工具提取字模數(shù)據(jù);把字模數(shù)據(jù)文件保存在工程文件夾,以方便工程調(diào)用;添加字模數(shù)

34、據(jù)文件 到工程,程序可以直接使用這些字模數(shù)據(jù);拷貝并添加驅(qū)動(dòng)程序文件;編寫(xiě)程序;運(yùn)行顯示。 利用splc501 液晶顯示模組顯示漢字的過(guò)程見(jiàn)圖17,和顯示英文字符的方法類似,所不同的是 顯示漢字的api 函數(shù)為lcd501_bitmap(unsigned int x,unsigned int y,unsigned int *word)。 圖 17 利用splc501液晶顯示模組顯示漢字需要的操作過(guò)程。 為了使用戶能夠方便快速地使用splc501液晶顯示模組,凌陽(yáng)大學(xué)計(jì)劃提供了基于 spce061a單片機(jī)的splc501液晶顯示模組的驅(qū)動(dòng)程序,包括文本顯示、幾何圖形繪制和位圖顯 示等功能函數(shù),s

35、plc501液晶顯示模組的驅(qū)動(dòng)程序架構(gòu)如圖所示: 圖 18 驅(qū)動(dòng)程序架構(gòu) 驅(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ì)使用到的寄存器(如端口 控制寄存器等)進(jìn)行定義,還對(duì)spce061a與splc501液晶顯示模組的接口進(jìn)行配置;用戶可以根 據(jù)自已的需求來(lái)配置此文件,但要使端口的分配符合實(shí)際硬件的接線。 s

36、plc501driver_io.asm:該文件為底層驅(qū)動(dòng)程序,負(fù)責(zé)與splc501液晶顯示模組進(jìn)行數(shù)據(jù) 傳輸?shù)娜蝿?wù),主要包括端口初始化、寫(xiě)控制指令、寫(xiě)數(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中的函數(shù)作了外部聲明,用戶需要 使用lcd的api功能函數(shù)時(shí),需要把該文件包含在用戶的c文件中,好可調(diào)用。 splc501user.c:文件中定義了針對(duì)lcd顯示的各種api功能函數(shù)

37、。 dataosforlcd.asm:該文件中提供了一些供api功能函數(shù)調(diào)用的數(shù)據(jù)處理子程序,主要完 成顯示效果的疊加、畫(huà)圓偏差量的計(jì)算等。 4.2.6 常用功能函數(shù)介紹(用戶 api) splc501user.c文件中定義了常用的顯示函數(shù),包括:液晶顯示控制函數(shù)、文本顯示、圖形 顯示等;下面介紹部分常用功能函數(shù): 液晶顯示控制類: 1,lcd501_init 液晶初始化 程序:lcd501_init(unsigned int initialdata) 描述:液晶顯示初始化函數(shù) 參數(shù):unsigned int initialdata 初始化顯示的字,低八位有效 返回:無(wú) 注意:在使用lcd前,

38、首先應(yīng)執(zhí)行該函數(shù),使lcd處于可以正常顯示的狀態(tài) 2,lcd501_clrscreen 清屏 程序:lcd501_clrscreen(unsigned int mode) 描述:液晶整屏清屏函數(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) 描述:屏幕反色顯示。每執(zhí)行一次該函數(shù),屏幕顏色翻轉(zhuǎn)一次 5,lcd501_getpaintmode 獲取當(dāng)前顯示模式 程序:unsigned int lcd501_getpai

39、ntmode(void) 描述:設(shè)置圖形顯示模式 參數(shù):無(wú) 返回:modecode - 圖形顯示模式,可以是下列數(shù)值之一: 0 paint_cover: 1 paint_set: 2 paint_clr: 3 paint_rev: 4 paint_reco: 注意:無(wú) 文本顯示類函數(shù): 1,lcd501_fontset 設(shè)置文本字體 程序:void lcd501_fontset(unsinged int font) 8x16 6x8 描述::選擇顯示字符的大小類型 參數(shù):font 字符的類型選擇 1 8x16 0 6x8 返回:無(wú) 注意:只針對(duì)顯示驅(qū)動(dòng)中包含的ascii碼顯示 2,lcd501

40、_fontget 獲取當(dāng)前文本字體 程序:unsigned int lcd501_fontget(void) 8x16 6x8 描述:獲取當(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 6x8 描述:顯時(shí)8x16、6x8的自帶ascii字符,任意行定位 參數(shù):x 顯示字符的起始列(0128) y 顯示字符的起始行(063) a ascii碼 返回:無(wú) 注意:無(wú) 4,l

41、cd501_putstring 顯示字符串 程序:void lcd501_putstring(int x,int y,unsigned int a) 8x16 6x8 描述:顯時(shí)8x16、6x8的自帶ascii字符,任意行定位 參數(shù):x 顯示字符的起始列(0128) y 顯示字符的起始行(063) a ascii碼 返回:無(wú) 注意:無(wú) 5,lcd501_bitmap 位圖顯示/ /漢字顯示 程序:void lcd501_bitmap(unsigned int x,unsigned int y,unsigned int *word) 描述:dm tool取的漢字字模、位圖字模顯示函數(shù) 參數(shù):x

42、顯示字符的起始列(0128) y 要顯示的字模的起始行(064-y_whide) *word 要顯示的漢字字模的數(shù)據(jù)首地址 返回:無(wú) 注意:只顯示用dm tool取字模軟件所取的漢字字模數(shù)據(jù);該函數(shù)可以在指定位置顯示位 圖。參數(shù)x和y是位圖的左上角坐標(biāo)。word是“位圖數(shù)據(jù)”的起始地址。“位圖數(shù)據(jù)”的第一個(gè) word聲明了位圖的大小,低8位代表位圖寬度,高8位代表位圖高度。如0 x172b表示位圖的寬為 43像素,高為23像素。從第二個(gè)word開(kāi)始描述位圖每個(gè)點(diǎn)的顏色(1-黑色,0-白色)。點(diǎn)對(duì)應(yīng) 每個(gè)數(shù)據(jù)位的情況為:從下到上,自左到右,以word(16bit)為存儲(chǔ)單位,不足16位的補(bǔ) 0。

43、可以利用凌陽(yáng)大學(xué)計(jì)劃提供的dm tool字模提取工具提取出漢字或bmp圖像的字模數(shù)據(jù),然 后直接引用由其生成的字模數(shù)組3splc5401液晶顯示模組控制流程 ,利用模組資料中提供的 splc501液晶顯示模組驅(qū)動(dòng)程序進(jìn)行l(wèi)cd顯示編程時(shí),一定要在調(diào)用文本顯示或圖形顯示函數(shù), 以及控制類函數(shù)前調(diào)用lcd的初始化函數(shù);在lcd初始化程序中,會(huì)進(jìn)行端口初始化、lcd初 始設(shè)置以及變量初始化等。 第五章第五章 操作步驟操作步驟 5.15.1 軟件的操作步驟軟件的操作步驟 5.1.1 lcd 漢字顯示操作步驟 1.dm tool 字模提取工具與顯示英文字符(ascii 碼)不同,漢字不能直接顯示在點(diǎn)陣的

44、 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 后,在開(kāi)始-程序-sunplus-dm tool打開(kāi)dm。 圖19 dm tool 界面 第二步:選擇filenews菜單項(xiàng),新建工程,如圖 20所示: 圖 20 新

45、建工程 選擇后,即新建了一個(gè)工程;如圖21所示。用戶可以選擇file菜單中的save菜單項(xiàng)來(lái) 保存工程,也可以直接對(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)陣圖。 第四步:進(jìn)行字模數(shù)據(jù)的提取。選擇菜單file中的export cchar file菜單項(xiàng),或者直 接用工具欄最右邊的“export”工具,打開(kāi)字模數(shù)據(jù)生成窗口。 第五步:在字模數(shù)據(jù)生成窗口中,選擇file菜單中的e

46、xport cchar file菜單項(xiàng),或工具欄 中的“export cchar file”工具,開(kāi)始生成數(shù)據(jù),即打開(kāi)了“export cchar file”對(duì)話框,如圖22 和圖23所示: 圖 22 選擇“export cchar file”選項(xiàng)打開(kāi)對(duì)話框 圖 23 “export cchar file”對(duì)話框 第六步:在對(duì)話框的“select”選項(xiàng)中,選擇“down to up,left to right”選項(xiàng);在“char .c file:” 輸入框的右邊的工具,可以選擇導(dǎo)出文件的路徑和文件名,這里保存在“我的文檔”中, 文件名為mychar”,如圖24所示;然后點(diǎn)擊“保存”返回“exp

47、ort cchar file”對(duì)話框;再在 “export ccharfile”中點(diǎn)擊“ok”,即可生成保存有字模數(shù)據(jù)的兩個(gè)文件:“mychar.c”和 “mychar.h”;如圖25所示: 圖 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 的使用方法可以參考dm tool 的用戶手冊(cè)。導(dǎo)出的字模數(shù) 據(jù)以數(shù)組的形式保存,可以直接包含到工程中進(jìn)行引用。 5.1

48、.2 程序燒入硬件操作步驟 步驟一:根據(jù)圖6數(shù)字鐘連接示意圖連接硬件,并連接好下載線。 步驟二:打開(kāi)電池盒電源。 步驟三:?jiǎn)?dòng)unsp ide。打開(kāi)數(shù)字鐘應(yīng)用實(shí)例程序(路徑:數(shù)字電子鐘禮包參考源代碼 monthdayclock monthdayclock.sp),編譯、鏈接確認(rèn)沒(méi)有錯(cuò)誤。如圖26所示: 圖 26 打開(kāi)數(shù)字鐘應(yīng)用實(shí)例程序 步驟四:下載程序代碼到61板上。 步驟五:下載成功后會(huì)有幾秒鐘的開(kāi)機(jī)畫(huà)面,隨后會(huì)進(jìn)入時(shí)間日期顯示界面,初始時(shí)間設(shè) 定為: 00:00:00,日期為2006年8月1日。 按key1鍵:進(jìn)入功能選擇界面。 按key2鍵:播報(bào)當(dāng)前的時(shí)間。 按key3鍵:播報(bào)當(dāng)前的日

49、期。 key2、key3鍵同時(shí)按下:控制鬧鐘的開(kāi)與關(guān)。 具體操作流程圖如圖27: 圖 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)書(shū)范例代碼 exampleintexaex4_recognise_lcd 路徑可以找到。 3. 拷貝語(yǔ)音識(shí)別頭文件bsrsd.h、bsrsd.inc到ex4_recognise_lcd 工程

50、文件夾。 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液晶顯示 dataosforlcd.asm、splc501driver_io.asm、splc501driver_io.inc、splc501user.c 和 splc501user.h 五個(gè)驅(qū)動(dòng)程序(提供在實(shí)驗(yàn)儀指導(dǎo)書(shū)范例代碼 exa

51、mplemodel_exadriversplc501driver)到ex4_recognise_lcd 工程文件夾。 7. 在ide 集成開(kāi)發(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、hardware.h、hardware.inc、splc501driv

52、er_io.inc、s plc501user.h 八個(gè)頭文件到“head files”。 8. 拷貝語(yǔ)音資源, 并加載到工程當(dāng)中; 語(yǔ)音資源可以從實(shí)驗(yàn)儀指導(dǎo)書(shū)范例代碼 exampleintexaex4_recognise_lcdvoice 路徑下可以找到。 9. 提取bmp 圖片的字模數(shù)據(jù),并將數(shù)據(jù)加載到工程中,圖片的資源可以在實(shí)驗(yàn)儀指導(dǎo)書(shū) 范例代碼exampleintexaex4_recognise_lcdpic 路徑下可以找到。 10. 按照程序流程圖編寫(xiě)程序。 11. rebuild all。 12. 按照硬件連接圖連接硬件。 13. 下載程序,運(yùn)行。 5.25.2 操作界面操作界面 1

53、. 時(shí)間顯示界面如圖28所示 ,此時(shí)按key1鍵會(huì)進(jìn)入功能選擇菜單,按key2鍵播放當(dāng)前 的時(shí)間,按key3鍵播放當(dāng)前的日期,key2和key3同時(shí)按下,切換鬧鐘的開(kāi)與關(guān),當(dāng)鬧鐘響時(shí), 按下三個(gè)鍵中的任何一個(gè)都可以關(guān)閉鬧鐘。 圖28 時(shí)間顯示界面 2.功能選擇菜單界面如圖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í)間日期顯示界面 4.鬧鐘設(shè)置界面如圖31所示,此

54、時(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è)置界面。 圖32 鬧鐘時(shí)間設(shè)置界面 6.鬧鐘鈴聲設(shè)置界面如圖33所示,此時(shí)key1為確定鍵,key2為選擇鍵,key3為播放當(dāng)前 選擇的鈴聲鍵。 圖 33 鬧鐘鈴聲選擇界面 7.秒表功能界面如圖34所示,此時(shí)key1為退出鍵,key2為開(kāi)始/暫停鍵,key3為清零鍵, 只有當(dāng)秒表停止運(yùn)行時(shí)key3才有效。 圖 34 秒表功能界面 第六章第六章 結(jié)

55、論結(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è)龅揭恍﹩?wèn)題,在參閱了許多資料結(jié)合 實(shí)際條件選擇了一種全面和簡(jiǎn)單的數(shù)字鐘系統(tǒng),其次在焊接中和元器件的購(gòu)買(mǎi)都是在胡老師的指 導(dǎo)下購(gòu)買(mǎi)的。在這次畢業(yè)設(shè)計(jì)中鍛煉了我的分析能力、解決問(wèn)題和動(dòng)手能力。 顯然,這是一個(gè)比較簡(jiǎn)單的數(shù)字鐘,在這個(gè)基礎(chǔ)上,稍微改動(dòng),或者擴(kuò)展其他模塊可以

56、設(shè) 計(jì)出一個(gè)更加完善的數(shù)字鐘系統(tǒng)。比如,擴(kuò)展外部存儲(chǔ)器可以增加鈴聲的數(shù)目、可以改變鈴聲 的播放格式使鈴聲更加動(dòng)聽(tīng)、增加掉電保護(hù)功能等等,以此來(lái)提高同學(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í)物照片 參考文獻(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,北京:北京航空航天大

57、學(xué)出版社,2006.11. 4 李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ)m,北京:北京航空航天大學(xué)出版社,2001.7. 5 趙曙光,郭萬(wàn)有,楊頌華.可編程邏輯器件原理開(kāi)發(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 歐偉明,周春臨,瞿遂春.電子信息

58、系統(tǒng)設(shè)計(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)品說(shuō)明書(shū)z.凌陽(yáng)大學(xué)計(jì)劃網(wǎng)站(). 14 雷思孝.凌陽(yáng)單片機(jī)原理及實(shí)用技術(shù)m,西安電子科技大學(xué),2004. 致致 謝謝 本論文是在導(dǎo)師教授胡敏的悉心指導(dǎo)下完成的。導(dǎo)師淵博的專業(yè)知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度, 精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律己、寬以待人的崇高風(fēng)范,樸實(shí)無(wú)華、平 易近人的人格魅力對(duì)我影響深遠(yuǎn)。不僅使我樹(shù)了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本

59、的研究方法,還 使我明白了許多待人接物與為人處世的道理。本論文從選題到完成,每一步都是在導(dǎo)師的指導(dǎo) 下完成的,傾注了導(dǎo)師大量的心血。在此,謹(jǐn)向?qū)煴硎境绺叩木匆夂椭孕牡母兄x! 羅江波 2008年5月于合肥學(xué)院 附錄一附錄一 軟件編寫(xiě)程序軟件編寫(xiě)程序 工程名稱: monthdayclock.spj /功能描述: 萬(wàn)年歷,農(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

60、/speak.c/irq.asm/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í)按下控制鬧鐘的開(kāi)關(guān) /= #include spce061a.h #include splc501user.h #include model.h #define r

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論