課程設(shè)計(jì)是自動(dòng)化專業(yè)集中實(shí)踐環(huán)節(jié)的主要內(nèi)容之一。訓(xùn)練正確地應(yīng)用單片機(jī),培養(yǎng)解決工業(yè)控制、工業(yè)檢測(cè)等領(lǐng)域具體問題的能力。學(xué)生通過所做課題,熟悉單片機(jī)應(yīng)用系統(tǒng)開發(fā)研制的過程,軟硬件設(shè)計(jì)的工作方法、內(nèi)容及步驟,對(duì)學(xué)生進(jìn)行基本技能訓(xùn)練。例如組成系統(tǒng)、編程、調(diào)試、繪圖等。使學(xué)生理論聯(lián)系實(shí)際,提高動(dòng)手能力和分析問題、解決問題的能力。
通過本課程設(shè)計(jì),主要達(dá)到以下目的:
1.使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解。
2.使學(xué)生掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,如定時(shí)器/計(jì)數(shù)器、中斷、片內(nèi)外存貯器、I/O口、串行口通訊等。
3.使學(xué)生了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟/硬件設(shè)計(jì)過程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)和實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。
二、課程設(shè)計(jì)的要求
1.學(xué)生需認(rèn)真閱讀課程設(shè)計(jì)任務(wù)書,熟悉有關(guān)設(shè)計(jì)資料及參考資料,熟悉各種設(shè)計(jì)規(guī)范的有關(guān)內(nèi)容,認(rèn)真完成任務(wù)書規(guī)定的設(shè)計(jì)內(nèi)容。
2.課程設(shè)計(jì)的成果為“課程設(shè)計(jì)報(bào)告”。課程設(shè)計(jì)報(bào)告內(nèi)容要正確,概念要清楚,完成任務(wù)書所規(guī)定的內(nèi)容,附有原理圖及程序流程圖,程序清單,文字要通順,書寫要工整,設(shè)計(jì)圖紙必須符合規(guī)范。
3.課程設(shè)計(jì)報(bào)告應(yīng)在2000字以上(含相關(guān)圖紙和計(jì)劃書等),用A4紙打印。
三、課程設(shè)計(jì)的選題參考(可另自行擬題或參考教材和實(shí)驗(yàn)指導(dǎo)書)
1.交通燈系統(tǒng)設(shè)計(jì) 2.計(jì)時(shí)器系統(tǒng)設(shè)計(jì) 3.出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)
4.頻率計(jì)系統(tǒng)設(shè)計(jì) 5.溫度控制系統(tǒng)設(shè)計(jì) 6.音樂播放系統(tǒng)設(shè)計(jì)
四、時(shí)間安排及成績(jī)?cè)u(píng)定
課程設(shè)計(jì)時(shí)間:6月21日(16周周四)下午布置課程設(shè)計(jì),6月25日(17周周一)下午4:30在信息行政樓八層自動(dòng)化系會(huì)議室輔導(dǎo)課程設(shè)計(jì),6月27日全天(自動(dòng)化1、2班),6月28日全天(自動(dòng)化3、4班),6月29日全天(交控1班、創(chuàng)新2班)在信息實(shí)驗(yàn)樓2層計(jì)算機(jī)實(shí)驗(yàn)室上機(jī)調(diào)試電路及程序,7月2日上午各班長(zhǎng)收齊設(shè)計(jì)報(bào)告交給輔導(dǎo)老師。輔導(dǎo)老師根據(jù)學(xué)生的設(shè)計(jì)表現(xiàn),設(shè)計(jì)報(bào)告書、圖紙等進(jìn)行評(píng)定。課程設(shè)計(jì)成績(jī)按百分制分評(píng)定。






此處晶振為12MHz,提供單片機(jī)的時(shí)鐘頻率。晶振頻率越高,單片機(jī)運(yùn)行速度越快。
(7)總體電路

3.3程序編制說明
設(shè)計(jì)電子時(shí)鐘使用單片機(jī)資源的情況如下:
P0口輸出數(shù)碼管段選信號(hào),P2口輸出數(shù)碼管位選信號(hào)
調(diào)整功能選擇鍵kgnxz:P3.0口,通過其選擇調(diào)整時(shí)鐘還是調(diào)整鬧鐘
調(diào)整秒 ksec:P3.1口,按一次使秒加1
調(diào)整分kmin:P3.2;按一次使分加1
調(diào)整小時(shí)khour:P3.3口,按一次使時(shí)加1
12與24小時(shí)制的轉(zhuǎn)換鍵kzh:P3.4,默認(rèn)24小時(shí)制,按一次鍵之后轉(zhuǎn)換為12小時(shí)制。
具體如下:
(1)實(shí)現(xiàn)基本的走時(shí)間和顯示時(shí)間的時(shí)、分、秒,上電自動(dòng)顯示初始時(shí)間00-00-00。
(2)當(dāng)?shù)谝淮伟聪碌谝粋(gè)按鍵時(shí)進(jìn)入時(shí)間的調(diào)節(jié)狀態(tài),按下第二個(gè)按鍵時(shí)實(shí)現(xiàn)秒的加一調(diào)節(jié),按下第三個(gè)按鍵時(shí)實(shí)現(xiàn)分的加一調(diào) 節(jié),按下第四個(gè)按鍵時(shí)實(shí)現(xiàn)小時(shí)的加一調(diào)節(jié)。
(3)當(dāng)?shù)诙伟聪碌谝粋(gè)按鍵時(shí)進(jìn)入鬧鐘的調(diào)節(jié)狀態(tài)(鬧鐘初始值設(shè)定為01-00-30),按下第二個(gè)按鍵時(shí)實(shí)現(xiàn)秒的加一調(diào)節(jié),按下第三個(gè)按鍵時(shí)實(shí)現(xiàn)分的加一調(diào)節(jié),按下第四個(gè)按鍵時(shí)實(shí)現(xiàn)小時(shí)的加一調(diào)節(jié)。
(4)當(dāng)?shù)谌伟聪碌谝粋(gè)按鍵時(shí)進(jìn)入原顯示時(shí)間的狀態(tài)。
(5)按下第五個(gè)按鍵時(shí)實(shí)現(xiàn)24到12小時(shí)制的轉(zhuǎn)換。
(6)當(dāng)?shù)谖宕伟聪碌谝粋(gè)按鍵時(shí)返回正常的顯示時(shí)間走時(shí)狀態(tài)。
軟件系統(tǒng)的各個(gè)模塊:
時(shí)鐘系統(tǒng)的軟件設(shè)計(jì)主要采用以下基本模塊來實(shí)現(xiàn),主程序、定時(shí)中斷服務(wù)程序、鍵盤掃描程序模塊、時(shí)鐘顯示模塊、鬧鐘顯示模塊、轉(zhuǎn)換模塊、延時(shí)模塊和蜂鳴器模塊。
主程序:對(duì)中斷程序初值進(jìn)行設(shè)定,在各種情況下對(duì)子函數(shù)的調(diào)用,保證整個(gè)程序的順序執(zhí)行。
定時(shí)中斷服務(wù)程序:用于電子時(shí)鐘的準(zhǔn)確運(yùn)行。
鍵盤掃描程序模塊:用于確定按鍵并在按鍵按下時(shí)調(diào)用相應(yīng)的程序進(jìn)行顯示。
時(shí)鐘顯示模塊:用于顯示正常走表的時(shí)間。
鬧鐘顯示模塊:用于顯示設(shè)定鬧鐘的時(shí)間。
轉(zhuǎn)換模塊:用于將默認(rèn)的24小時(shí)制轉(zhuǎn)換為12小時(shí)制。
延時(shí)模塊:程序中調(diào)用延時(shí)子程序,用于按鍵消抖動(dòng),數(shù)碼管消影等。
蜂鳴器模塊:用于在設(shè)定的鬧鐘時(shí)間與走表的時(shí)間相等時(shí),鬧鐘響起。
軟件系統(tǒng)程序流程圖及程序清單附于報(bào)告后
4.上機(jī)調(diào)試及修改,優(yōu)化過程過程
4.1上機(jī)調(diào)試過程
本次課程設(shè)計(jì)于6月28日進(jìn)行了上機(jī)調(diào)試,在上級(jí)調(diào)試之前,我認(rèn)真思考了設(shè)計(jì)內(nèi)容和要求,認(rèn)為自己理論課學(xué)的還差不多,認(rèn)為困難不是很大,各部分的程序可以分別完成。然后按照自己的思路開始了自己的程序編寫,但是在上機(jī)調(diào)試過程中,發(fā)現(xiàn)自己認(rèn)為邏輯合理的程序根本運(yùn)行不起來,只好從頭開始一步步將程序分解找錯(cuò),然后對(duì)程序進(jìn)行完善,經(jīng)過了大半天的努力,終于做到實(shí)現(xiàn)了大部分的功能,而且在調(diào)試過程中發(fā)現(xiàn)當(dāng)初寫選題報(bào)告時(shí)有很多設(shè)想和實(shí)際調(diào)試中不太相符,比如接口的分配,部分功能的實(shí)現(xiàn),在選題說明中設(shè)想的秒表功能因?yàn)閭(gè)人能力原因沒有實(shí)現(xiàn),為了代替這部分功能,我在程序設(shè)計(jì)中增加了鬧鐘功能來彌補(bǔ)程序的不足,通過這個(gè)問題我也了解了實(shí)踐檢驗(yàn)的重要性,只靠天馬行空的想像是不可能將工作目標(biāo)完成的。
4.2 上機(jī)調(diào)試過程中的問題、解決辦法及分析
在本次上機(jī)調(diào)試過程中,還沒有在單片機(jī)上運(yùn)行程序,我就遇到了一個(gè)大問題,在軟件中運(yùn)行程序時(shí),程序出現(xiàn)了錯(cuò)誤報(bào)告,在上網(wǎng)查詢后也沒能解決問題,只好在后來更換電腦,才進(jìn)行了程序調(diào)試。
在程序調(diào)試中還遇到了一些問題比如按下按鍵卻沒有對(duì)應(yīng)的功能運(yùn)行,經(jīng)過尋找我發(fā)現(xiàn)忘記編寫子程序調(diào)用語(yǔ)句導(dǎo)致子程序沒有運(yùn)行,添加了語(yǔ)句果然運(yùn)行了,還有在單片機(jī)上接線時(shí),將段選與位選的端口接反,鍵盤防抖動(dòng),數(shù)碼管顯示延時(shí)時(shí)間不合適等,還有定時(shí)計(jì)數(shù)器中斷忘記開啟等問題,均通過自己調(diào)試或者詢問同學(xué)將問題解決,完成了這次上機(jī)調(diào)試。
5.設(shè)計(jì)總結(jié)
5.1設(shè)計(jì)結(jié)果
本次課程設(shè)計(jì)我設(shè)計(jì)了基于51單片機(jī)的數(shù)字電子時(shí)鐘,可以顯示時(shí)間并對(duì)時(shí)間進(jìn)行手動(dòng)調(diào)節(jié)以及復(fù)位,擴(kuò)展了鬧鐘功能,可以設(shè)置鬧鐘時(shí)間并在時(shí)間到達(dá)后使蜂鳴器響起。


5.2收獲與體會(huì)
通過這次課程設(shè)計(jì),我感覺到自己從課本上學(xué)到的理論知識(shí)和實(shí)踐仍有很大的差距。學(xué)習(xí)理論課時(shí)也是有實(shí)驗(yàn)課的,但當(dāng)時(shí)自己只是追求明白課本例題的程序,也沒深入想過課本上那些小的程序之間的聯(lián)系應(yīng)用。所以學(xué)習(xí)知識(shí)不能局限于理論,要與實(shí)踐結(jié)合。學(xué)會(huì)了單片機(jī)的一般設(shè)計(jì)過程,通常都要進(jìn)行系統(tǒng)擴(kuò)展,因此,要完成一個(gè)單片機(jī)的設(shè)計(jì)工作,必須依次做到硬件電路的設(shè)計(jì)、組裝與調(diào)試,軟件的編寫、調(diào)試,完整軟件的調(diào)試和下載運(yùn)行。
而在進(jìn)行硬件系統(tǒng)設(shè)計(jì)時(shí)應(yīng)當(dāng)盡量做到盡可能的選擇典型電路,并符合單片機(jī)的常規(guī)使用,硬件結(jié)構(gòu)設(shè)計(jì)應(yīng)與軟件設(shè)計(jì)方案一同考慮。因?yàn)榛A(chǔ)知識(shí)學(xué)的也并不是很牢固,程序若有不完善之處還請(qǐng)老師見諒。
通過這次課程設(shè)計(jì),我對(duì)單片機(jī)有了更深入的了解,同時(shí)也培養(yǎng)了我的動(dòng)手實(shí)踐能力,使我獲益良多。
附:軟件系統(tǒng)程序流程圖
主程序:

顯示程序:

中斷程序:

圖文.doc
(8.42 MB, 下載次數(shù): 92)
| 歡迎光臨 (http://www.denmoz.com/bbs/) | Powered by Discuz! X3.1 |