單片機(jī)課程設(shè)計(jì)報(bào)告定時(shí)鬧鐘設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告定時(shí)鬧鐘設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告定時(shí)鬧鐘設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告定時(shí)鬧鐘設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告定時(shí)鬧鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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、燕山 大學(xué)單片機(jī)課程設(shè)計(jì)報(bào)告定時(shí)鬧鐘設(shè)計(jì)姓 名:學(xué) 號(hào):專業(yè)班級(jí):指導(dǎo)老師:所在學(xué)院:電氣工程與自動(dòng)化學(xué)院2010年12月15日摘要本設(shè)計(jì)是定時(shí)鬧鐘的設(shè)計(jì),由單片機(jī)AT89C51芯片和LED數(shù)碼管為核心,輔 以必要的電路,構(gòu)成的一個(gè)單片機(jī)電子定時(shí)鬧鐘。 電子鐘設(shè)計(jì)可采用數(shù)字電路實(shí) 現(xiàn),也可以采用單片機(jī)來(lái)完成。數(shù)字電子鐘是用數(shù)字集成電路構(gòu)成的,用數(shù)碼管顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì)時(shí)裝置。若用數(shù)字電路完成,所設(shè)計(jì)的電路相當(dāng)復(fù)雜,大概需要十幾片數(shù)字集成塊,其功能也主要依賴于數(shù)字電路的各功 能模塊的組合來(lái)實(shí)現(xiàn),焊接的過(guò)程比較復(fù)雜,成本也非常高。若用單片機(jī)來(lái)設(shè)計(jì)制 作完成,由于其功能的實(shí)現(xiàn)主要通過(guò)

2、軟件編程來(lái)完成,那么就降低了硬件電路的 復(fù)雜性,而且其成本也有所降低,所以在該設(shè)計(jì)中采用單片機(jī)利用 AT89C51它是 低功耗、高性能的CMO型 8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在 系統(tǒng)內(nèi)改寫或用編程器編程。另外,AT89C51的指令系統(tǒng)和引腳與8051完全兼 容,片內(nèi)有128B的RAM 32條I/O 口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、 一個(gè)全雙工串行口等。AT89C51單片機(jī)結(jié)合七段顯示器設(shè)計(jì)的簡(jiǎn)易定時(shí)鬧鈴時(shí) 鐘,可以設(shè)置現(xiàn)在的時(shí)間及顯示鬧鈴設(shè)置時(shí)間,若時(shí)間到則發(fā)出一陣聲響,進(jìn)一步可以擴(kuò)充控制電器的啟停。設(shè)計(jì)內(nèi)容包括了秒信號(hào)發(fā)生器、 時(shí)間顯示電路、按鍵電路、供電電源

3、以及鬧 鈴指示電路等幾部分的設(shè)計(jì)。采用四個(gè)開關(guān)來(lái)控制定時(shí)鬧鐘的工作狀態(tài),分別為: K1、設(shè)置時(shí)間和鬧鐘的小時(shí);K2、設(shè)置小時(shí)以及設(shè)置鬧鐘的開關(guān);K3設(shè)置分鐘 和鬧鐘的分鐘;K4設(shè)置完成退出。課設(shè)準(zhǔn)備中我根據(jù)具體的要求,查找資料,然后按要求根據(jù)已學(xué)過(guò)的時(shí)鐘程 序編寫定時(shí)鬧鐘的程序,依據(jù)程序利用proteus軟件進(jìn)行了仿真試驗(yàn),對(duì)出現(xiàn)的 問(wèn)題進(jìn)行分析和反復(fù)修改源程序,最終得到正確并符合要求的結(jié)果。設(shè)計(jì)完成的定時(shí)鬧鐘達(dá)到課程設(shè)計(jì)的要求,在到達(dá)定時(shí)的時(shí)間便立即發(fā)出蜂 鳴聲音,持續(xù)一分鐘。顯示采用的六位數(shù)碼管電路,如果亮度感覺不夠,可以通 過(guò)提升電阻來(lái)調(diào)節(jié),控制程序中延遲時(shí)間的長(zhǎng)短,可以獲得不同的效果。

4、也可以 改蜂鳴器為繼電器,通過(guò)控制繼電器從而進(jìn)一步擴(kuò)展的來(lái)控制一些家電開關(guān)。目錄1概述 42系統(tǒng)總體方案及硬件設(shè)計(jì) 52.1總體設(shè)計(jì) 52.2系統(tǒng)時(shí)鐘電路設(shè)計(jì) 52.3系統(tǒng)復(fù)位電路的設(shè)計(jì) 52.4 鬧鐘指示電路設(shè)計(jì) 62.5電子鬧鐘的顯示電路設(shè)計(jì) 63軟件設(shè)計(jì) 73.1概述 73.2主模塊的設(shè)計(jì) 73.3基本顯示模塊設(shè)計(jì) 83.4時(shí)間設(shè)定模塊設(shè)計(jì) 83.5鬧鈴功能的實(shí)現(xiàn) 94.PR0TEU軟件仿真 125課程設(shè)計(jì)體會(huì) 14參考文獻(xiàn) 15附1:源程序代碼 16附2:系統(tǒng)原理圖 261概述本設(shè)計(jì)是定時(shí)鬧鐘的設(shè)計(jì),由單片機(jī)AT89C51芯片和LED數(shù)碼管為核心, 輔以必要的電路,構(gòu)成的一個(gè)單片機(jī)電子

5、定時(shí)鬧鐘。定時(shí)鬧鐘設(shè)計(jì)可采用數(shù)字電路實(shí)現(xiàn),也可以采用單片機(jī)來(lái)完成。定時(shí)鬧 鐘是用數(shù)字集成電路構(gòu)成的,用數(shù)碼管顯示“時(shí)”,“分”,“秒”的現(xiàn)代計(jì) 時(shí)裝置。單片機(jī)具有集成度高、功能強(qiáng)、通用性好、特別是它能耗低、價(jià)格 便宜、可靠性高、抗干擾能力強(qiáng)和使用方便等獨(dú)特的優(yōu)點(diǎn),所以單片機(jī)現(xiàn)在 廣泛的應(yīng)用到家用電器、機(jī)電產(chǎn)品、兒童玩具、機(jī)器人、辦公自動(dòng)化產(chǎn)品等 領(lǐng)域。所以在該設(shè)計(jì)中采用單片機(jī)利用 AT89C51 它是低功耗、高性能的CMOS 型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫或用編程 器編程。另外,AT89C51的指令系統(tǒng)和引腳與8051完全兼容,片內(nèi)有128B的 RAM 32

6、條I/O 口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)中斷源、一個(gè)全雙工串行 口等。AT89C51單片機(jī)結(jié)合七段顯示器設(shè)計(jì)的簡(jiǎn)易定時(shí)鬧鈴時(shí)鐘,可以設(shè)置 現(xiàn)在的時(shí)間及顯示鬧鈴設(shè)置時(shí)間,若時(shí)間到則發(fā)出一陣聲響,進(jìn)一步可以擴(kuò) 充控制電器的啟停。設(shè)計(jì)內(nèi)容包括了秒信號(hào)發(fā)生器、時(shí)間顯示電路、按鍵電路、供電電源以 及鬧鈴指示電路等幾部分的設(shè)計(jì)。采用四個(gè)開關(guān)來(lái)控制定時(shí)鬧鐘的工作狀態(tài), 分別為:K1、設(shè)置時(shí)間和鬧鐘的小時(shí);K2、設(shè)置小時(shí)以及設(shè)置鬧鐘的開關(guān); K3、設(shè)置分鐘和鬧鐘的分鐘;K4、設(shè)置完成退出。課設(shè)準(zhǔn)備中根據(jù)具體的要求,查找資料,然后按要求根據(jù)已學(xué)過(guò)的時(shí)鐘 程序編寫定時(shí)鬧鐘的程序,依據(jù)程序利用proteus軟件進(jìn)

7、行了仿真試驗(yàn),對(duì)出現(xiàn)的問(wèn)題進(jìn)行分析和反復(fù)修改源程序,最終得到正確并符合要求的結(jié)果。設(shè)計(jì)完成的定時(shí)鬧鐘達(dá)到課程設(shè)計(jì)的要求,在到達(dá)定時(shí)的時(shí)間便立即發(fā) 出蜂鳴聲音,持續(xù)一分鐘。顯示采用的六位數(shù)碼管電路,如果亮度感覺不夠, 可以通過(guò)提升電阻來(lái)調(diào)節(jié),控制程序中延遲時(shí)間的長(zhǎng)短,可以獲得不同的效 果。也可以改蜂鳴器為繼電器,通過(guò)控制繼電器從而進(jìn)一步擴(kuò)展的來(lái)控制一 些家電開關(guān)。2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1總體設(shè)計(jì)電子鬧鐘應(yīng)包括秒信號(hào)發(fā)生器、 時(shí)間顯示電路、按鍵電路、供電電源以及鬧 鈴指示電路等幾部分。按鍵功能說(shuō)明:K1,設(shè)置時(shí)間和鬧鐘的小時(shí);K2,設(shè)置小時(shí)以及設(shè)置鬧鐘的 開關(guān);K3,設(shè)置分鐘和鬧鐘的分鐘;K

8、4;設(shè)置完成退出。電子鬧鐘的系統(tǒng)框圖如下所示:圖1電子鬧鐘的主電路指的是圖1中虛線框內(nèi)部分, 主要涉及到CPU電路和按鍵 按鈕電路。主機(jī)的設(shè)計(jì)具體地說(shuō)有:1)系統(tǒng)時(shí)鐘電路設(shè)計(jì);2)系統(tǒng)復(fù)位電路設(shè) 計(jì);3)按鍵與按鈕電路設(shè)計(jì);4)鬧鈴聲指示電路設(shè)計(jì)。2.2系統(tǒng)時(shí)鐘電路設(shè)計(jì)對(duì)于時(shí)間要求不是很高的系統(tǒng),只要按圖進(jìn)行設(shè)計(jì)就能使系統(tǒng)可靠起振并穩(wěn) 定運(yùn)行。但由于原理圖中的 C1、C2電容起著系統(tǒng)時(shí)鐘頻率微調(diào)和穩(wěn)定的作用, 因此,在本鬧鐘系統(tǒng)的實(shí)際應(yīng)用中一定要注意正確選擇參數(shù)(30 10 PF),并保證對(duì)稱性(盡可能匹配),選用正牌廠家生產(chǎn)的瓷片或云母電容,如果可能的 話,溫度系數(shù)要盡可能低。實(shí)驗(yàn)表明,這2

9、個(gè)電容元件對(duì)鬧鐘的走時(shí)誤差有較大 關(guān)系。2.3系統(tǒng)復(fù)位電路的設(shè)計(jì)智能系統(tǒng)一般應(yīng)有手動(dòng)或上電復(fù)位電路。復(fù)位電路的實(shí)現(xiàn)通常有兩種方式:1) RC復(fù)位電路;2)專用yP監(jiān)控電路。前者實(shí)現(xiàn)簡(jiǎn)單,成本低,但復(fù)位可靠 性相對(duì)較低;后者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位。對(duì)于復(fù)位要求高、并對(duì)電源電壓進(jìn)行監(jiān)視的場(chǎng)合,大多采用這種方式。本次課程設(shè)計(jì)采用了上電按鈕電平復(fù)位電路。2.4 鬧鐘指示電路設(shè)計(jì)鬧鈴指示可以有聲或光兩種形式。本系統(tǒng)采用聲音指示。關(guān)鍵元件是蜂鳴器。蜂鳴器有無(wú)源和有源兩種,前者需要輸入聲音頻率信號(hào)才能正常發(fā)聲,后者則只需外加適當(dāng)直流電源電壓即可, 元件內(nèi)部已封裝了音頻振蕩電路,在得電

10、狀 態(tài)下即起振發(fā)聲。市場(chǎng)上的有源蜂鳴器分為 3V、5V、6V等系列,以適應(yīng)不同 的應(yīng)用需要。鬧鐘電路是用比較器來(lái)比較計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài),如果計(jì)時(shí)系統(tǒng)和定時(shí)系統(tǒng)的輸出狀態(tài)相同,則發(fā)出一個(gè)脈沖信號(hào),再和一個(gè)高頻信號(hào) 混合,送到放大電路驅(qū)動(dòng)揚(yáng)聲器發(fā)聲, 從而實(shí)現(xiàn)定時(shí)鬧響的功能。其電路設(shè)計(jì)參 見系統(tǒng)原理圖。2.5電子鬧鐘的顯示電路設(shè)計(jì)本次課程設(shè)計(jì)采用了 6位數(shù)碼管顯示電路。在6位LED顯示時(shí),為了簡(jiǎn)化電 路,降低成本,采用動(dòng)態(tài)顯示的方式,6個(gè)LED顯示器共用一個(gè)8位的I/O, 6位 LED數(shù)碼管的位選線分別由相應(yīng)的 P2. 0P2. 5控制,而將其相應(yīng)的段選線并聯(lián) 在一起,由一個(gè)8位的I/O

11、 口控制,即P0 口。譯碼顯示電路將“時(shí)”、“分”、“秒”計(jì)數(shù)器的輸出狀態(tài)菁七段顯示譯碼器譯碼,通過(guò)6位LED七段顯示器顯示 出來(lái)。到達(dá)定時(shí)電路時(shí)根據(jù)計(jì)時(shí)系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號(hào), 然后去觸發(fā)一 音頻發(fā)生器實(shí)現(xiàn)鬧鈴。校時(shí)電路時(shí)用來(lái)對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行 校對(duì)調(diào)整的。3軟件設(shè)計(jì)3.1概述軟件設(shè)計(jì)的重點(diǎn)在于秒脈沖信號(hào)的產(chǎn)生、 顯示的實(shí)現(xiàn)、以及按鍵的處理等方 面?;谲浖拿朊}沖信號(hào)通常有延時(shí)法和定時(shí)中斷法。延時(shí)法一般采用查詢方式,在延時(shí)子程序前后必然需要查詢和處理的程序,導(dǎo)致誤差的產(chǎn)生,因此其秒脈沖的精度不高;中斷法的原理是,禾U用單片機(jī)內(nèi)部的定時(shí)器溢出中斷來(lái)實(shí)現(xiàn)。 例如,設(shè)定某

12、定時(shí)器每100ms中斷1次,則10次的周期為1s。本系統(tǒng)中所使用 的晶振頻率為12MHZ3.2主模塊的設(shè)計(jì)主模塊是系統(tǒng)軟件的主框架。結(jié)構(gòu)化程序設(shè)計(jì)一般有“自上而下”和“自下 而上”兩種方式,“自上而下”法的核心就是主框架的構(gòu)建。它的合理與否關(guān)系 到程序最終的功能的多少和性能的好壞。本系統(tǒng)的主模塊的程序框圖如下圖2所示:3.3基本顯示模塊設(shè)計(jì)基本顯示模塊設(shè)計(jì)的重點(diǎn)是由顯示代碼取得相應(yīng)的段碼,顯示段碼數(shù)據(jù)的并行發(fā)送,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要 經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計(jì)時(shí)時(shí), 譯碼代替

13、機(jī)械式傳動(dòng),用LED顯示 器代替顯示器代替指針顯示進(jìn)而顯示時(shí)間, 減小了計(jì)時(shí)誤差,這種表具有時(shí),分, 秒顯示時(shí)間的功能,還可以進(jìn)行時(shí)和分的校對(duì),片選的靈活性好。程序流程如圖3所示。將16進(jìn)制時(shí)分秒數(shù)據(jù)轉(zhuǎn)化為BCD顯示代碼關(guān)顯示以免顯示抖動(dòng)通過(guò)串口將時(shí)分秒數(shù)據(jù)傳入數(shù)碼管打開顯示圖33.4時(shí)間設(shè)定模塊設(shè)計(jì)時(shí)間設(shè)定模塊的設(shè)計(jì)要點(diǎn)是按鍵的去抖處理與“一鍵多態(tài)”的處理。即只涉及4個(gè)鍵完成了 6位時(shí)間參數(shù)的設(shè)定。軟件法去抖動(dòng)的實(shí)質(zhì)是軟件延時(shí),即檢測(cè) 到某一鍵狀態(tài)變化后延時(shí)一段時(shí)間,再檢測(cè)該按鍵的狀態(tài)是否還保持著,如是則 作為按鍵處理,否則,視為抖動(dòng),不予理睬。去抖中的延時(shí)時(shí)間一般參考資料多 描述為10ms

14、左右,實(shí)際應(yīng)用中,應(yīng)大于20ms否則,會(huì)導(dǎo)致按一次作多次處理, 影響程序正常執(zhí)行?!耙绘I多態(tài)”即多功能鍵的實(shí)現(xiàn)思想是,根據(jù)按鍵時(shí)刻的系 統(tǒng)狀態(tài),決定按鍵采取何種動(dòng)作,即何種功能。其流程圖如下圖4所示:圖43.5鬧鈴功能的實(shí)現(xiàn)鬧鈴功能的實(shí)現(xiàn)涉及到兩個(gè)方面:鬧鈴時(shí)間設(shè)定和是否鬧鈴判別與相應(yīng)處 理。鬧鈴時(shí)間設(shè)定模塊的設(shè)計(jì)可參照時(shí)間設(shè)定模塊, 這里著重闡述鬧鈴判別與處 理模塊的設(shè)計(jì)問(wèn)題。鬧鈴判別與鬧鈴處理的關(guān)鍵在于判別何時(shí)要進(jìn)行鬧鈴。當(dāng)時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位中任一位發(fā)生改變(進(jìn)位)時(shí),就必須進(jìn)行鬧鈴 判別。譯碼顯示電路將“時(shí)”、“分”、“秒”計(jì)數(shù)器的輸出送到七段顯示譯碼 驅(qū)動(dòng)器譯碼驅(qū)動(dòng),通過(guò)六

15、個(gè)七段LED顯示器顯示出來(lái)。鬧鈴電路根據(jù)計(jì)時(shí)系統(tǒng)的 輸出狀態(tài)產(chǎn)生一脈沖信號(hào),然后加上一個(gè)高頻或低頻信號(hào)送到放大電路驅(qū)動(dòng)蜂鳴 器發(fā)聲實(shí)現(xiàn)報(bào)時(shí)。校時(shí)電路是直接加一個(gè)脈沖信號(hào)到時(shí)計(jì)數(shù)器或者分計(jì)數(shù)器或者 秒計(jì)數(shù)器來(lái)對(duì)“時(shí)”、“分”、“秒”顯示數(shù)字進(jìn)行校對(duì)調(diào)整。其流程圖如下所示:鬧鈴判別處理1F時(shí)十位、個(gè)位,分十位、個(gè)位改變了是否設(shè)置了鬧鈴彳中斷返回YY1r判當(dāng)前時(shí)間是設(shè)定時(shí)間一;N1設(shè)置鬧鈴標(biāo)志清除鬧鈴標(biāo)志1 r中斷返回1 r圖5.1圖5.2考慮到實(shí)用性,在該電子鐘的設(shè)計(jì)中修改定時(shí)或調(diào)整時(shí)間時(shí)采用了閃爍,而且以定時(shí)20組鬧鐘。在編程上,首先進(jìn)行了初始化定義了程序的入口地址以及中 斷的入口地址,在主程序

16、的開始定義了一組固定單元用來(lái)存儲(chǔ)計(jì)數(shù)的秒 ,分,時(shí)以 及定時(shí)時(shí)間的序號(hào)等。在顯示程序段中主要進(jìn)行了閃爍的處理,采用定時(shí)器中斷置標(biāo)志位,再與位 選相互結(jié)合的方法來(lái)控制調(diào)時(shí)或定時(shí)中的閃爍。 時(shí),分,秒顯示則是用了軟件譯碼 (查表)的方式,再用了一段固定的程序段進(jìn)行進(jìn)制轉(zhuǎn)化。初始化之后,用中斷方式 對(duì)其計(jì)數(shù),計(jì)數(shù)的同時(shí)采用了定時(shí)器比較的方法,比較當(dāng)前計(jì)數(shù)時(shí)間與定時(shí)時(shí)間 是否相等,若相等則將鬧鈴標(biāo)志位置數(shù)。由于定義了定時(shí)鬧鐘組,在這里采用中斷 組次,每中斷一次比較一組鬧鐘,避免了一次比較中斷時(shí)間過(guò)長(zhǎng),影響下次中斷時(shí) 間。顯示之后查詢鬧鈴標(biāo)志位是否與前面所置數(shù)相等 ,若相等則響鈴。為了避免響鈴影響顯示,

17、采用了每顯示幾屏以后在顯示程序中出現(xiàn)脈沖 ,驅(qū) 動(dòng)喇叭,不會(huì)影響顯示。之后用查詢方式對(duì)按鍵進(jìn)行判斷 ,若有鍵按下,則進(jìn)行軟 件延時(shí)消抖,避免了抖動(dòng)引起的干擾,執(zhí)行相應(yīng)的定時(shí),選時(shí)或調(diào)時(shí)程序段。對(duì)當(dāng) 前時(shí)間或定時(shí)時(shí)間修改后又返回到最初的顯示程序段 ,如此循環(huán)下去。4.Proteus軟件仿真本次課程設(shè)計(jì)所采用的程序調(diào)試軟件為wave6000集成調(diào)試軟件,所采用的仿真軟件為protus 6 professional 軟件。本次試驗(yàn)的效果圖如下所示:RP19T5-RE SPACK-8C2X1CRYSTAL0D0 1 2 3 4 5 6U1AT89C51AAAAAAAAPPPPPPPP0 1 2 3 4

18、 5 6 7 1 1111111 P P P P P P P PC3Mb45pK4K3性能及誤差分析該電子鐘有三個(gè)按鍵:K1, K2和K3鍵。按K1鍵進(jìn)行校時(shí),可以分別對(duì)時(shí)及 分進(jìn)行單獨(dú)校時(shí),使其校正到標(biāo)準(zhǔn)時(shí)間,校時(shí)時(shí)需要校正哪一位哪一位就閃爍。按 K2鍵是對(duì)閃爍位進(jìn)行加一或返回的操作。按K3鍵調(diào)整定時(shí)時(shí)間和定時(shí)組數(shù),需要調(diào)整哪一位哪一位就閃爍,該電子鐘最多可定時(shí)20組鬧鐘。經(jīng)測(cè)試該電子鐘在 一天的累計(jì)誤差約為0. 1秒。該電子鐘的誤差主要由晶振自身的誤差所造成,晶振的誤差約為0. 00010. 000001。在軟件的編程過(guò)程中所產(chǎn)生的誤差比較 小,在重裝初值的過(guò)程中大概需要約 8個(gè)機(jī)器周期,

19、但在程序開始對(duì)定時(shí)器賦初 值時(shí),多加了 8個(gè)機(jī)器周期,減小了這方面的誤差。另外在中斷的過(guò)程中,只會(huì)在 第一次計(jì)時(shí)時(shí)產(chǎn)生時(shí)間的偏移,而它所產(chǎn)生累計(jì)誤差很小,可以忽略。結(jié)構(gòu)化軟件程序的調(diào)試一般可以將重點(diǎn)放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一 環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器, 可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課設(shè),采用 wave6000集成調(diào)試軟件來(lái)調(diào)試程序,通過(guò)各個(gè)模塊程序的單步或跟蹤調(diào)試,使 程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 6 professional軟件,此軟件功能強(qiáng)大且操作較為簡(jiǎn) 單,可以很容易的實(shí)現(xiàn)各種系統(tǒng)的仿

20、真。首先打開protus 6 professional軟件,在元件庫(kù)中找到要選用的所有元件,然 后進(jìn)行原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運(yùn)行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課設(shè)的要求再修改程序,再運(yùn)行查, 直到滿足要求。5課程設(shè)計(jì)體會(huì)單片機(jī)是一門應(yīng)用性很強(qiáng)的學(xué)科,課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)我們實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。雖然在做課程設(shè)計(jì)以前已經(jīng)系統(tǒng)的把單片機(jī)課本 認(rèn)真的學(xué)習(xí)了一下,但是在剛拿到設(shè)計(jì)任務(wù)書時(shí)還是有點(diǎn)一頭霧水, 不知道該從 哪里下手。令人欣慰的是經(jīng)過(guò)一周的學(xué)習(xí),雖然

21、過(guò)程很艱辛,但是總算實(shí)現(xiàn)了定 時(shí)鬧鐘的功能,所有的努力都很值得。這一周的大部分時(shí)間都在研究程序怎么處 理,在這個(gè)過(guò)程中加深了我對(duì)匯編語(yǔ)言命令的應(yīng)用, 而且也更加了解到軟硬件配 套的重要性。通過(guò)這次課程設(shè)計(jì),使我對(duì)這們功課有了更深刻的認(rèn)識(shí)和了解。 首先對(duì)于硬 件電路的工作原理有了進(jìn)一步系統(tǒng)的學(xué)習(xí),同樣就有了進(jìn)一步的認(rèn)識(shí),使我懂得 了理論與實(shí)際相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論 知識(shí)與實(shí)踐相結(jié)合起來(lái),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 其次 軟件在這次設(shè)計(jì)中也有不足之處,比如音樂的響聲不連續(xù),但又不知道從哪個(gè)地 方入手解決這個(gè)問(wèn)題,這要求在以后的學(xué)習(xí)中,拓寬自己的

22、知識(shí)面,解決設(shè)計(jì)的 不足之處??傊?,通過(guò)這次課程設(shè)計(jì)不僅使我鞏固了本課程所學(xué)的基本知識(shí),還使我具有了撰寫科研報(bào)告的初步訓(xùn)練能力,我相信這些能力在我以后的工作或者是再學(xué) 習(xí)中一定會(huì)起到不小的作用,一切的辛苦和艱難都是值得的。參考文獻(xiàn)1 余發(fā)山 單片機(jī)原理及應(yīng)用技術(shù),徐州:中國(guó)礦業(yè)大學(xué)出版社,20032 楊剛,周群.電子系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)出版社.2004:18-23 341-347 118-1223 何立民.單片機(jī)高級(jí)教程(應(yīng)用與設(shè)計(jì)).北京:北京航空航天大學(xué)出版社, 2000年.53984 涂時(shí)亮,張友德.單片微機(jī)控制技術(shù).清華大學(xué)出版社.1994:86-87 146-147 融會(huì)貫通 P

23、rotel99 電路設(shè)計(jì)弘道工作室 北京 人民交通出版設(shè),2000. 單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)朱定華 北京 北方交通大學(xué)出版社2002.11附1:源程序代碼K1 EQU P1.0 ;在程序開始前定義變量K2 EQU P1.1K3 EQU P1.2K4 EQU P1.3ORG 0000HLJMP MAINORG 000BHLJMP TIMEORG 0100HMAIN:MOV SP,#50HMOV 20H,#00H;時(shí)間BIN SECONDMOV 21H,#00H5BIN MINUTEMOV 22H,#00H5BIN HOURMOV 23H,#01H;鬧鈴BIN MINUTEMOV 24H,#01

24、H5BIN HOURMOV 25H,#00H;定義一個(gè)標(biāo)志位MOV 30H,#00H;時(shí)間BCD SECONDMOV 31H,#00H5MOV 32H,#00H5BCD MINUTEMOV 33H,#00H5MOV 34H,#00H5BCD HOURMOV 35H,#00H5MOV 36H,#01H;鬧鈴BCD MINUTEMOV 37H,#00H5MOV 38H,#01H5BCD HOURMOV 39H,#00H5MOV TMOD,#O1H;16位計(jì)數(shù)器TO,方式1MOV TH0,#03CH;賦初值MOV TL0,#0B0HMOV IE,#10000111B;開中斷T0,EA=1SETB T

25、R0;T0啟動(dòng)計(jì)數(shù)MOV R2,#14H;計(jì)數(shù)器MOV P2,#0FFHLOOP:LCALL TIMEPRO;調(diào)用現(xiàn)在時(shí)間與鬧鈴時(shí)間比較程序LCALL DISPLAY1;調(diào)用現(xiàn)在時(shí)間顯示子程序JB K1,M15判斷按鍵是否按下LCALL XIA0ZHEN1MOV C,25H.OJC A1A1:CLR 25H.0LCALL SETTIMELJMP LOOPM1:JB K2,M2LCALL XIAOZHEN2MOV C,25H.0JC A2A2:CLR 25H.0LCALL SETATIMELJMP LOOPM2:JB K4,M3A3:LCALL XIAOZHEN3MOV C,25H.0JC A4

26、A4:CLR 25H.0M3:LJMP LOOPSETTIME:L0:LCALL DISPLAY1JB K2,L1LCALL XIAOZHEN4MOV C,25H.0JC A5A5:CLR 25H.0INC 22HMOV A,22HCJNE A,#18H,GO12MOV 22H,#00HMOV 34H,#00HMOV 35H,#00HLJMP L0L1:JB K3,L2LCALL XIAOZHEN5MOV C,25H.0JC A6;調(diào)用消抖程序調(diào)用設(shè)置現(xiàn)在時(shí)間子程序調(diào)用設(shè)置鬧鐘的程序INC 21HMOV A,21HCJNE A,#3CH,GO11MOV 21H,#00HMOV 32H,#00H

27、MOV 33H,#00HLJMP L0GO11:MOV B,#0AHDIV ABMOV 32H,BMOV 33H,ALJMP L0GO12:MOV B,#0AHDIV ABMOV 34H,BMOV 35H,ALJMP L0L2:JB K4,L0LCALL XIAOZHEN3MOV C,25H.OJC AXAX:CLR 25H.0RETSETATIME:LCALL DISPLAY2;調(diào)用鬧鐘設(shè)置,鬧鈴響時(shí)的顯示程序N0:LCALL DISPLAY2JB K3,N1LCALL XIAOZHEN6MOV C,25H.0JC A7A7:CLR 25H.0INC 24HMOV A,24HCJNE A,#

28、24,GO22MOV 24H,#00HMOV 38H,#00HMOV 39H,#00HLJMP N0N1:JB K1,N2LCALL XIA0ZHEN7MOV C,25H.OJC A8A8:CLR 25H.0INC 23HMOV A,23HCJNE A,#60,GO21MOV 23H,#00HMOV 36H,#00HMOV 37H,#00HLJMP N0GO21:MOV B,#0AHDIV ABMOV 36H,BMOV 37H,ALJMP N0GO22:MOV B,#0AHDIV ABMOV 38H,BMOV 39H,ALJMP N0N2:JB K4,N0LCALL XIAOZHEN3MOV

29、C,25H.0JC A9A9:CLR 25H.0RETTIMEPRO:MOV A,21HMOV B,23HCJNE A,B,BKMOV A,22HMOV B,24HCJNE A,B,BKSETB 25H.0MOV C,25H.0JC XXXX:LCALL TIMEOUTBK:RETTIMEOUT:X1:LCALL BZLCALL DISPLAY2CLR 25H.0JB K4, X1RETBZ:CLR P3.7MOV R7,#250T2:MOV R6,#124T3:DJNZ R6,T3DJNZ R7,T2SETB P3.7JB K4,XYLCALL XIAOZHEN3MOV C,25H.0JC

30、XY1XY:RETXY1:LJMP LOOPXIAOZHEN1:LCALL DISPLAY1JB K1,XIAOZHEN1MOV C,K1JC XIAOZHEN1LCALL DELAYMOV C,K1JC XIAOZHEN1STOP1:MOV C,K1JNC STOP1LCALL DELAYMOV C,K1JNC STOP1SETB 25H.0RETXIAOZHEN2:LCALL DISPLAY2JB K2,XIAOZHEN2MOV C,K2JC XIAOZHEN2LCALL DELAYMOV C,K2JC XIAOZHEN2STOP2:MOV C,K2JNC STOP2LCALL DELAY

31、MOV C,K2JNC STOP2SETB 25H.0RETXIAOZHEN3:LCALL DISPLAY1JB K4,XIAOZHEN3MOV C,K4JC XIAOZHEN3LCALL DELAYMOV C,K4JC XIAOZHEN3STOP3:MOV C,K4JNC STOP3LCALL DELAYMOV C,K4JNC STOP3SETB 25H.0RETXIAOZHEN4:LCALL DISPLAY1JB K2,XIAOZHEN4MOV C,K2JC XIAOZHEN4LCALL DELAYMOV C,K2JC XIAOZHEN4STOP4:MOV C,K2JNC STOP4LCA

32、LL DELAYMOV C,K2JNC STOP4SETB 25H.0RETXIA0ZHEN5:LCALL DISPLAY1JB K3,XIAOZHEN5MOV C,K3JC XIAOZHEN5LCALL DELAYMOV C,K3JC XIAOZHEN5STOP5:MOV C,K3JNC STOP5LCALL DELAYMOV C,K3JNC STOP5SETB 25H.0RETXIAOZHEN6:LCALL DISPLAY2JB K3,XIAOZHEN6MOV C,K3JC XIAOZHEN6LCALL DELAYMOV C,K3JC XIAOZHEN6STOP6:MOV C,K3JNC

33、STOP6LCALL DELAYMOV C,K3JNC STOP6SETB 25H.0RETXIAOZHEN7:LCALL DISPLAY2JB K1,XIAOZHEN7MOV C,K1JC XIAOZHEN7LCALL DELAYJC XIA0ZHEN7ST0P7:M0V C,K1JNC ST0P7LCALL DELAYMOV C,K1JNC STOP7SETB 25H.0RETDELAY:MOV R4,#14HDLOO:MOV R5,#0FFHDL11:DJNZ R5,DL11DJNZ R4,DL00RETTIME:PUSH ACCPUSH PSWMOV TH0,#03CHMOV TL0,#0B0HDJNZ R2,RET0MOV R2,#14HMOV A,20HCLR CINC ACJNE A,#3CH,GO1MOV 20H,#0MOV 30H,#0MOV 31H,#0MOV A,21HINC ACJNE A,#3CH,GO2MOV 21H,#0HMOV 32H,#0MOV 33H,#0MOV A,22HINC ACJN

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論