![多功能數(shù)字鐘課程設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b87/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b871.gif)
![多功能數(shù)字鐘課程設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b87/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b872.gif)
![多功能數(shù)字鐘課程設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b87/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b873.gif)
![多功能數(shù)字鐘課程設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b87/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b874.gif)
![多功能數(shù)字鐘課程設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/4/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b87/c5f2b3e9-2fb4-4417-86e5-99a8de8a4b875.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、沈陽航空工業(yè)學(xué)院課 程 設(shè) 計(論文)題目 多功能數(shù)字鐘的設(shè)計班 級 學(xué) 號 學(xué) 生 姓 名 指 導(dǎo) 教 師 目 錄0. 前言31. 總體方案設(shè)計32. 硬件電路的設(shè)計42.1單片機主機系統(tǒng)電路的設(shè)計2.2汽車信號燈模擬系統(tǒng)電路的設(shè)計2.2.1輸入口電路的設(shè)計2.2.2輸出口電路的設(shè)計2.3汽車?yán)锍瘫砟M系統(tǒng)電路的設(shè)計3. 軟件編程93.1 T1計數(shù)子程序的設(shè)計93.2 外部中斷0子程序的設(shè)計93.3 外部中斷1子程序的設(shè)計93.4 里程數(shù)處理及顯示子程序的設(shè)計94. 系統(tǒng)調(diào)試和分析144.1 軟件調(diào)試94.2 軟硬聯(lián)調(diào)94.3 調(diào)試問題及原因分析95. 結(jié)論及進一步設(shè)想16參考文獻17課設(shè)體
2、會19附錄 元件清單18附錄 總體電路圖18附錄 源程序18小五字,宋體,為題目名稱多功能數(shù)字鐘的設(shè)計摘要:本文設(shè)計的是基于單片機的多功能數(shù)字鐘的設(shè)計,本系統(tǒng)設(shè)計以AT89C51單片機為核心,分成四個模塊,一是顯示系統(tǒng):此系統(tǒng)采用8位LED顯示,實現(xiàn)時、分、秒的精確顯示;二是時鐘計算系統(tǒng):此系統(tǒng)主要實現(xiàn)對外部脈沖的計數(shù),并用LED數(shù)碼管將其結(jié)果動態(tài)顯示;三是鬧鐘定時系統(tǒng):該系統(tǒng)主要實現(xiàn)鬧鐘的定時與響鈴功能;四是12與24進制轉(zhuǎn)換系統(tǒng),此系統(tǒng)主要實現(xiàn)由12小時計時方式轉(zhuǎn)換為24小時計時方式。, LED數(shù)碼管的動態(tài)顯示可以及時準(zhǔn)確的將精確的時間顯示出來,在實際應(yīng)用中很方便。關(guān)鍵詞:AT89C51單
3、片機;按鍵;脈沖計數(shù);動態(tài)顯示 0. 前言20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 時間對人們來說總是那么寶貴,工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時間。忘記了要做的事情,當(dāng)事情不是很重要的時候,這種遺忘無傷大雅。但是,一旦重要事情,一時的耽誤可能釀成大禍。目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方面發(fā)展。下面是單片機的主要發(fā)展趨勢。單片機
4、應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須由模擬電路或數(shù)字電路實現(xiàn)的大部分功能,現(xiàn)在已能用單片機通過軟件方法來實現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機模塊中最常見的是數(shù)字鐘,數(shù)字鐘是一種用數(shù)字電路技術(shù)實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,
5、使得數(shù)字鐘的精度,遠遠超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴大其應(yīng)用,有著非?,F(xiàn)實的意義。在單片機技術(shù)日趨成熟的今天,其靈活的硬件電路的設(shè)計和軟件的設(shè)計,讓單片機得到了廣泛的應(yīng)用,幾乎是從小的電子產(chǎn)品,到大的工業(yè)控制,單片機都起到了舉足輕重的作用。單片機小的系統(tǒng)結(jié)構(gòu)幾乎是所有具有可編程硬件的一個縮影,可謂是“麻雀雖小,肝膽俱全”,單片機的學(xué)習(xí)和研究是對
6、微機系統(tǒng)學(xué)習(xí)和研究的簡捷途徑。1.總體方案設(shè)計單 片 機按鍵開關(guān)LED顯示圖1 多功能數(shù)字鐘單片機模擬系統(tǒng)基本組成框圖單的系統(tǒng)從而達到強化課本知識并靈活運用的目的。電子數(shù)字鐘是日常生活鐘隨處可見的簡單系統(tǒng)。對電子數(shù)字鐘的設(shè)計比較容易聯(lián)系實際并進行拓展, 在設(shè)計中我將力求盡可能跳出課本的樣板,從現(xiàn)實生活中尋找設(shè)計原型和設(shè)計思路,爭取有所突破電子時鐘主要由顯示模塊,校時模塊,時鐘運算模塊和12與24進制轉(zhuǎn)換模塊四大部分組成。其中校時模塊和時鐘運算模塊要對時、分、秒的數(shù)值進行操作,并且秒計算到60時,要自己清零并向分進1;分計算到60時,要自己清零并向時進1;時計算到24時,要清零。這樣,才能循環(huán)記
7、時。89C51是8位CPU,具有片內(nèi)振蕩器和時鐘電路,2個16位的定時器/計數(shù)器,5個中斷源,兩個中斷優(yōu)先級。89C51單片機的時鐘信號通常用內(nèi)部振蕩方式得到:在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖.電容器Col,C02起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般在5-30pF。晶振頻率的典型值為12MHZ校時模塊主要功能是修改時、分、秒內(nèi)存單元的數(shù)值。每按一次鍵,對應(yīng)的顯示值便加1。分、 秒加到59后變?yōu)?0;小時加到23后再按鍵即變?yōu)?0.再調(diào)校時均不
8、向上一單位進位(例如分加到59后變?yōu)?0;但小時不發(fā)生改變)。注意:在主程序中對時間進行調(diào)校前應(yīng)關(guān)閉中斷,以防在調(diào)校過程中定時中斷服務(wù)程序也對時間進行修改而造成混淆。數(shù)字鐘的設(shè)計首先要保證其走時盡可能準(zhǔn)確,其次再根據(jù)人們?nèi)粘5氖褂昧?xí)慣來設(shè)定其附加功能。在設(shè)計中利用單片機定時計數(shù)器來完成走時并用兩組輸出口控制數(shù)碼管來顯示;通過編程向某一輸出口輸出方波實現(xiàn)報時及鬧鈴;利用輸入端口外接各種開關(guān)來完成對走時及顯示的控制(如預(yù)置時間等)。在設(shè)計中需要用到許多技巧。以下為我在學(xué)習(xí)單片機課程中總結(jié)的一些設(shè)計思想或方法:l 占空比概念在設(shè)計中的運用 圖2 占空比如圖所示的一串方波序列,導(dǎo)通時間同周期的比值即占
9、空比。在用單片機控制對多個數(shù)碼管的掃描顯示中,數(shù)碼管接收到的電壓可以看成是一串方波序列,占空比控制了數(shù)碼管的亮度。實際上對顯示延時時間的調(diào)節(jié)就是調(diào)節(jié)數(shù)碼管電壓的占空比,當(dāng)占空比大于一定數(shù)值的時候數(shù)碼管可以顯示,實驗證明占空比在0.1時仍可以使數(shù)碼管清晰顯示。利用這個概念可以比較直觀地理解顯示延時的調(diào)節(jié)。l CPU的分時復(fù)用單片機只有一個CPU,因此在一個時間內(nèi)只能執(zhí)行一條語句,要使單片機同時控制多個外部元件(比如揚聲器和數(shù)碼管)就必須對單片機的CPU進行分時復(fù)用,讓單片機在一小段時間內(nèi)連續(xù)交替執(zhí)行控制多個器件的語句,從表面上看,單片機便用一個CPU控制了多個元件。本次課程設(shè)計中對整點報時和鬧鈴
10、功能的實現(xiàn)便用到了這個概念。l 單片機位尋址區(qū)的使用單片機內(nèi)部數(shù)據(jù)存儲器由20H到2FH共有16個字節(jié)的位尋址區(qū)可以被作為程序執(zhí)行過程中的狀態(tài)參數(shù),許多程序模塊至于兩個狀態(tài)(比如閃爍與正常顯示,報時與不報時等)用位尋址區(qū)中的某一位來記錄程序執(zhí)行狀態(tài),在需要對狀態(tài)進行判斷的時候十分方便并且節(jié)約空間,一個字節(jié)便可以判斷八個狀態(tài),而非位尋址區(qū)的地址記錄程序狀態(tài)時可能需要先進行變換,增加了執(zhí)行成本且容易出錯。l檢測開關(guān)時需要注意的問題對于用各種開關(guān)控制程序執(zhí)行狀態(tài)的程序設(shè)計中,需要注意實時地進行開關(guān)的檢測,以確保一旦有開關(guān)動作,程序狀態(tài)立即隨之改變。此外,在用多個開關(guān)控制不同執(zhí)行狀態(tài)時,應(yīng)注意設(shè)置開關(guān)
11、檢測的優(yōu)先級以防止多個開關(guān)同時按下時出現(xiàn)錯誤。l 系統(tǒng)資源分配與使用單片機有許多資源是有限的不能濫用,比如定時計數(shù)器T,外部中斷等,在設(shè)計一個多模塊程序時,要注意先做一個整體規(guī)劃,把稀缺資源用在最需要用的地方。此外在有多個模塊時,要注意模塊間的數(shù)據(jù)傳遞,比如累加器A和進位標(biāo)志C,在使用時要注意不能讓前一個模塊的數(shù)據(jù)對下一個模塊產(chǎn)生不希望有的影響。在模塊間的數(shù)據(jù)傳遞比較多時最好用固定的內(nèi)部數(shù)據(jù)存儲器,以避免沖突發(fā)生錯誤。2. 硬件電路設(shè)計由單片機硬件設(shè)計原理可知:(1)盡可能采用功能強的芯片,以簡化電路;(2)留有余地。在設(shè)計硬件電路時,要考慮到將來修改、擴展的方便。因此在AT89C51芯片本身
12、的最小系統(tǒng)需求外,還選擇了上拉電阻進行了簡單的擴展。2.1單片機主機系統(tǒng)電路的設(shè)計單片機主機系統(tǒng)原理圖如圖3所示。圖3 單片機主機系統(tǒng)原理圖由圖3可知,此系統(tǒng)有兩部分:時鐘電路和復(fù)位電路。時鐘電路:AT89C51內(nèi)部有一個用于構(gòu)成震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構(gòu)成一個自激振蕩器。外接晶體以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。(晶體可在1.2MHz12MHz之間任選,電容C1和C2的典型值在20pF100pF之間選擇)復(fù)位電路:本系統(tǒng)的復(fù)位電路是采用按鍵復(fù)位的電路,復(fù)位輸
13、入引腳RET為AT89C51提供了初始化的手段。當(dāng)89C51的ALE及PSEN兩引腳輸出高電平,RET引腳高電平到時,單片機復(fù)位。按下按鈕,則直接把+5V加到了RET端從而復(fù)位稱為手動復(fù)位。復(fù)位后,P0到P3并行I/O口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態(tài)不確定。2.2多功能數(shù)字鐘的時、分、秒的調(diào)制電路圖4多功能數(shù)字鐘的時、分、秒的調(diào)制電路分別設(shè)置了三個按鍵:set、up、down用于高低電平的輸入。LED燈組與單片機AT89C51相連接至P0口,用于輸出時間的狀態(tài)。沒有開關(guān)閉合時,時間處于正常顯示狀態(tài), LED燈顯示當(dāng)時的時間。開關(guān)set鍵按下時,如果按下一次,則可以對小時
14、進行調(diào)整,若小時加1,則繼續(xù)按up鍵,若需要小時減1,則需按down鍵;如果set鍵按下兩次,則可以對分進行調(diào)整,具體原理與小時的調(diào)整一樣;若果set鍵按下三次,則是對秒進行調(diào)整,具體原理 時、分相同。此系統(tǒng)減少了端口的使用,簡化了電路,方便了電路以后的使用和修改。2.3多功能數(shù)字鐘顯示系統(tǒng)的設(shè)置:函數(shù)信號發(fā)生器輸出脈沖作為輸入接至P3.5口,由單片機內(nèi)部計數(shù)器T1進行計數(shù),選用7段6位共陽極數(shù)碼管,與單片機的P0口相連,6個位選端分別與單片機的P2.0P2.5口相連組成顯示電路,實現(xiàn)時間的動態(tài)顯示。在多位LED顯示時,為了簡化電路,節(jié)省I/O口,降低成本,動態(tài)顯示方案具備一定的實用性,也是目
15、前單片機數(shù)碼管顯示較為常用的一種顯示方法。在本設(shè)計課題中采用的是7段6位共陽極LED數(shù)碼管,它的引腳圖如圖7所示。BITBTI4I5I6I7BIT8圖5 7段6位共陽極LED數(shù)碼管引腳圖7段LED數(shù)碼管是利用7個LED(發(fā)光二極管)外加一個小數(shù)點的LED組合而成的顯示設(shè)備,7段數(shù)碼管分共陰和共陽兩種顯示方式,本設(shè)計中采用共陽極顯示器。共陽極顯示器的發(fā)光二極管的陽極連接在一起,當(dāng)公共陽極接電源+5V時,當(dāng)某個發(fā)光二極管的陰極接低電平時,發(fā)光二極管被點亮,相應(yīng)的段被顯示。通常將控制發(fā)光二極管發(fā)光的8位字節(jié)數(shù)據(jù)編碼稱為LED顯示的段選碼,要構(gòu)成多位LED顯示時,除需要段選線外,還需要位選線,以確定段
16、選碼對應(yīng)的顯示位,位選線控制第幾個LED顯示。段選線控制顯示字形。8個陰極分別與8個限流電阻相連,在接到相應(yīng)的電路中(發(fā)光二極管的工作電流選取在10-20ma,限流電阻太大,數(shù)碼管會太亮),其連接圖如圖6所示。圖6 7段共陽極LED連接圖多功能數(shù)字鐘顯示系統(tǒng)電路如圖7所示,當(dāng)按鍵按下輸出脈沖時,內(nèi)部定時器T1開始計數(shù),脈沖數(shù)相當(dāng)于時間,脈沖數(shù)通過單片機內(nèi)部算法經(jīng)數(shù)碼管顯示結(jié)果。按鍵set為多功能數(shù)字鐘的調(diào)整鍵,模擬多功能數(shù)字鐘時,LED數(shù)碼管顯示當(dāng)前時間,并隨時根據(jù)調(diào)整的時間進行實時的顯示。圖7多功能數(shù)字鐘顯示系統(tǒng)電路3. 軟件編程在單片機系統(tǒng)的程序的設(shè)計開發(fā)中,單片機就如同整個系統(tǒng)的交通中樞
17、,而程序就是組成交通中樞的條條大道,各個部分的模塊化的程序就是整個系統(tǒng)的組成成份。軟件編寫的好壞,語句運用的是否簡潔直接關(guān)系單片機的工作效率。在各個模塊化的程序中盡量用最少的語句作最多的事情,不讓語句出現(xiàn)歧義,這樣就可以使整個程序可以在系統(tǒng)中更好的運行,使單片機工作效率大大的提高。本系統(tǒng)編程部分是利用C語言完成的,采用模塊化的設(shè)計方法,各子程序作為實現(xiàn)各部分功能和過程的入口,完成對燈的控制,脈沖計數(shù)和LED動態(tài)顯示等部分的設(shè)計。該課題的軟件設(shè)計采用了模塊化設(shè)計的思想即將程序劃分為若干個相對獨立的功能模塊,畫出每一個功能模塊的詳細流程圖,并根據(jù)流程圖編寫程序,最后按照軟件設(shè)計的總體結(jié)構(gòu)框圖,將各
18、模塊連接成一個完整的主程序。在主程序的設(shè)計中要合理地調(diào)用各模塊程序。模塊化設(shè)計的優(yōu)點是:無論是硬件還是軟件,每一個模塊都相對獨立,故能獨立地進行設(shè)計、研制、調(diào)試和修改,從而使復(fù)雜的工作得以簡化。模塊之間的相互獨立也有助于研制任務(wù)的分解和設(shè)計人員之間的分工合作,這樣可提高工作效率和儀表的研制速度。本系統(tǒng)設(shè)計以AT89C51單片機為核心,分成四個模塊,一是顯示系統(tǒng):此系統(tǒng)采用8位LED顯示,實現(xiàn)時、分、秒的精確顯示;二是時鐘計算系統(tǒng):此系統(tǒng)主要實現(xiàn)對外部脈沖的計數(shù),并用LED數(shù)碼管將其結(jié)果動態(tài)顯示;三是鬧鐘定時系統(tǒng):該系統(tǒng)主要實現(xiàn)鬧鐘的定時與響鈴功能;四是12與24進制轉(zhuǎn)換系統(tǒng),此系統(tǒng)主要實現(xiàn)由1
19、2小時計時方式轉(zhuǎn)換為24小時計時方式。, LED數(shù)碼管的動態(tài)顯示可以及時準(zhǔn)確的將精確的時間顯示出來,在實際應(yīng)用中很方便。下面就其主要部分分別分析。3.1主程序流程圖NN時鐘電路復(fù)位電路關(guān)中斷秒加1處理有鍵按 有鍵有鍵按下?調(diào)用鍵盤掃描子程序分鍵?分加1處理開中斷初始化(定時器,顯示區(qū)中斷系統(tǒng),計數(shù)單元等)N小時鍵?N中斷0子程序返回NY計數(shù)器停止計數(shù)Ka是否被按下返回調(diào)用顯示子程序開中斷秒鍵?小時加1處理圖6主程序流程圖3.2定時中斷流程圖定時器中斷處理NN重送初值保護現(xiàn)場計數(shù)單元加1到1秒?T秒加1B秒到60?T秒清0分加1B分到60?T分清0,小時加1B小時到24?T小時清0B3中斷返回I
20、B2TI恢復(fù)現(xiàn)場1 圖7 定時器中斷流程圖在單片機系統(tǒng)的程序的設(shè)計開發(fā)中,單片機就如同整個系統(tǒng)的交通中樞,而程序就是組成交通中樞的條條大道,各個部分的模塊化的程序就是整個系統(tǒng)的組成成份。軟件編寫的好壞,語句運用的是否簡潔直接關(guān)系單片機的工作效率。在各個模塊化的程序中盡量用最少的語句作最多的事情,不讓語句出現(xiàn)歧義,這樣就可以使整個程序可以在系統(tǒng)中更好的運行,使單片機工作效率大大的提高。本系統(tǒng)編程部分是利用C語言完成的,采用模塊化的設(shè)計方法,各子程序作為實現(xiàn)各部分功能和過程的入口,完成對時,分,秒以及鬧鈴和12進制與24進制轉(zhuǎn)換的控制,脈沖計數(shù)和LED動態(tài)顯示等部分的設(shè)計。在主程序的設(shè)計中要合理地
21、調(diào)用各模塊程序。模塊化設(shè)計的優(yōu)點是:無論是硬件還是軟件,每一個模塊都相對獨立,故能獨立地進行設(shè)計、研制、調(diào)試和修改,從而使復(fù)雜的工作得以簡化。模塊之間的相互獨立也有助于研制任務(wù)的分解和設(shè)計人員之間的分工合作,這樣可提高工作效率和儀表的研制速度。4.調(diào)試分析4.1 軟件調(diào)試本次設(shè)計采用的是keil仿真器進行軟件調(diào)試,此系統(tǒng)可以開發(fā)應(yīng)用軟件,以及對硬件電路進行診斷、調(diào)試等。它的具體功能是可以進行CPU仿真,可以單步、跟蹤、斷點和全速運行,而且,程序的編譯過程中,可以對設(shè)計軟件進行自診斷,并自動給出故障原因。同時用戶調(diào)試程序時,可以通過窗口觀察寄存器的工作狀況,以便及時發(fā)現(xiàn)和排除編程中可能出現(xiàn)的錯誤
22、。軟件的調(diào)試是利用keil軟件,模塊化調(diào)試,通過觀察存儲單元數(shù)據(jù)的變化,查找并解決程序的語法和邏輯錯誤,具體的調(diào)試步驟如下:1. 把系統(tǒng)的各個模塊在仿真軟件中逐個調(diào)試,如時間調(diào)整模塊、顯示模塊等。2. 對各個需要賦值模塊調(diào)試時,賦入初值,單步調(diào)試,觀察數(shù)據(jù)窗口,看輸出結(jié)果是否為設(shè)計時想要的結(jié)果。3. 把各個模塊組合起來,全速運行,看程序是否能流暢的,是否能實現(xiàn)設(shè)計的系統(tǒng)的所有功能。4.2 軟硬聯(lián)調(diào)本設(shè)計是采用Proteus軟件實現(xiàn)電路圖設(shè)計和仿真的,Proteus軟件與Keil軟件聯(lián)合使用,實現(xiàn)設(shè)計要求。在Keil軟件中創(chuàng)建新文件,輸入所編寫的c語言程序并保存,在編譯源程序無誤后,會產(chǎn)出相應(yīng)的
23、”.HEX”文件;將所生成的”.HEX”文件加載到已繪制好的Proteus原理圖中,使Proteus與Keil真正連接起來,實現(xiàn)聯(lián)合調(diào)試。調(diào)試結(jié)結(jié)果如圖8所示:BIT1BIT2BIT3BIT4BIT5BIT6BIT7BIT85結(jié)論及進一步設(shè)想(需說明的問題)該課題的主要任務(wù)是設(shè)計一個以89C51單片機為核心的多功能數(shù)字鐘系統(tǒng)。通過聯(lián)調(diào),實驗驗證了系統(tǒng)的可行,能滿足設(shè)計要求,達到設(shè)計的指標(biāo),最后實現(xiàn)了對多功能數(shù)字鐘的控制和時間的計算并用LED顯示的目的。這個開發(fā)過程主要包括了硬件電路仿真設(shè)計和軟件編程兩個部分。從確定課設(shè)題目,到查閱質(zhì)料確定總體方案設(shè)計,硬件電路仿真的設(shè)計,硬件電路的優(yōu)化,軟件的
24、設(shè)計,軟件的優(yōu)化,檢驗仿真電路,調(diào)試軟件程序,到最后的軟硬件聯(lián)調(diào),其中的每一個過程都是精心設(shè)計、仔細完成的。并且在這次設(shè)計中,我了解了單片機的各種問題以及單片機外圍電路的設(shè)計,對外圍電路所涉及的芯片也有了較深刻的理解。同時對單片機的優(yōu)點有了很好的認識。雖然本次設(shè)計的系統(tǒng)具有電路簡單、性能可靠、成本低,還有優(yōu)化的程序等特點,但是該設(shè)計還是不夠完善及人性化,比如加上AT24C02掉電存儲芯片就可以在電源斷開的時候,存儲當(dāng)前信息,再加上語音的提示功能,則可能更會有生命力??傊?,智能儀器被廣泛應(yīng)用于工程之中,而數(shù)字式儀表領(lǐng)域也被廣泛用于實際的應(yīng)用中,這也就是智能儀器的工程應(yīng)用價值。參考文獻1.張毅坤
25、陳善久 裘雪紅. 單片微型計算機原理及應(yīng)用. 西安電子科技大學(xué)出版社. 1998年9月第1版.2任為民. 電子技術(shù)基礎(chǔ)課程設(shè)計. 中央廣播電視大學(xué)出版社. 1997年5月第1版.3譚浩強. C程序設(shè)計(第二版). 清華大學(xué)出版社. 1999年12月第2版.。4 劉復(fù)華.單片機及其應(yīng)用系統(tǒng).北京:清華大學(xué)出版社,19925周堅. 單片機C語言輕松入門.北京:航空航天大學(xué)出版社,20066 侯玉寶,陳忠平. 基于Proteus51系列單片機設(shè)計與仿真. 北京:電子工業(yè)出版社,20087 戴佳,苗龍,陳斌. 51單片機應(yīng)用系統(tǒng)開發(fā)典型實例. 北京:中國電力出版社,20058. 張立科. 單片機典型模
26、塊設(shè)計實例導(dǎo)航.北京:中國郵電出版社,2006課設(shè)體會在本次課程設(shè)計開始時我就希望能通過這次課程設(shè)計學(xué)習(xí)到盡可能多的知識。因此我選擇了難度比較大的數(shù)字鐘。此前在學(xué)習(xí)數(shù)字電子技術(shù)課程的時候,課程設(shè)計的題目同樣也是數(shù)字鐘,但是由于使用的語言和硬件不同,設(shè)計過程需要考慮的問題也大不相同。數(shù)電課程設(shè)計的模塊劃分是由老師完成的,而這個工作鍛煉價值很大;同時,數(shù)電課設(shè)中不需要考慮CPU的時間復(fù)用問題,因此,因此本次課程設(shè)計的難度比較大。在課程設(shè)計的第一次調(diào)試過程中,出現(xiàn)了許多我無法解釋的問題,使我有些灰心,但是在認真重新讀完自己的程序以后,我發(fā)現(xiàn)原來出現(xiàn)問題的原因都是自己的粗心,在修改完這些問題以后,接下
27、來的調(diào)試就比較順暢了歸結(jié)原因主要還是我對流程圖的設(shè)計下了很多功夫,為調(diào)試打下了良好的基礎(chǔ)。我對程序設(shè)計課程的學(xué)習(xí)的目標(biāo)是在若干年以后能夠獨立設(shè)計一個復(fù)雜的系統(tǒng),包括硬件電路和軟件部分。所以,這次課程設(shè)計我付出了比別人跟多的努力,同樣也學(xué)習(xí)到了更多的知識。在我能夠獨立設(shè)計更復(fù)雜的實用系統(tǒng)的時候,回想現(xiàn)在我連設(shè)計一個簡單的數(shù)字鐘系統(tǒng)都沒有很好的把握時,我一定會為自己的成長感到喜悅。通過兩個月的學(xué)習(xí)和調(diào)試過程,終于完成了單片機模塊數(shù)字鐘的工作。并且使數(shù)字鐘夠順利運行,完成了預(yù)期的目標(biāo)。從單片機模塊數(shù)字鐘的設(shè)計過程中也找到了一些單片機開發(fā)的規(guī)律:先了解所有元件的具體內(nèi)容,從而畫出其電路圖,使數(shù)字鐘從簡
28、易變成多功能的方式,雖沒有做多功能數(shù)字鐘,卻知曉了其方法。從而讓我踏入了單片機應(yīng)用領(lǐng)域的第一步。然而在調(diào)試過程中有也有許多的不足之處:例如編寫調(diào)試程序有點不足。希望能夠在以后的不斷深入學(xué)習(xí)中能夠彌補自己的不足之處。同時更是朝著單片機應(yīng)用領(lǐng)域邁進。元器件清單元件名稱型號數(shù)量單片機AT89C511LED數(shù)碼管7SEG-MPX8-CA-BLUE1按鍵BUTTON3附錄I 電路原理圖 附錄2 程序清單共有6種工作模式:正常計時、按鍵調(diào)時、按鍵調(diào)分、按鍵調(diào)秒、鬧鐘調(diào)時、 鬧鐘調(diào)秒,按設(shè)置鍵切換工作模式。 #include#includeDS18B20.H#define uint unsigned int
29、#define uchar unsigned charuchar code segcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xc6;/0,1,2,3,4,5,6,7,8,9,-,Cuchar code dispbit=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/數(shù)碼管位選碼uchar buffer=0,0,0,0,0,0,0,0;uint hour,min,sec;uint ringhour,ringmin;uint status,T;sbit beep=P10;/鬧鐘bit
30、ringoff;bit flag;void keyprocess(unsigned char);/*延時函數(shù)*/ void delayMS(uint t) / 晶振頻率12M uint i; while(t-)for(i=0;i125;i+); void delay() /鬧鈴的延時 uint m,n; for(m=0;m20;m+) for(n=0;n20;n+);/*數(shù)碼管顯示函數(shù)*/void display() uchar i; if (status=4|status=5) /鬧鐘調(diào)時、調(diào)分狀態(tài) buffer0=ringhour/10;buffer1=ringhour%10;buffer
31、3=ringmin/10; / 顯示分的十位buffer4=ringmin%10; / 顯示分的個位 for(i=0;i8;i+) P0=segcodebufferi; P2=dispbiti; delayMS(1); /防止數(shù)碼管顯示的時候閃動 P2=0x0; else /正常計時顯示 buffer0=hour/10; / 顯示時的十位 buffer1=hour%10; / 顯示時的個位 buffer2=10; / 顯示- buffer3=min/10; / 顯示分的十位 buffer4=min%10; / 顯示分的個位 buffer5=10; buffer6=sec/10; / 顯示秒的十
32、位 buffer7=sec%10; / 顯示秒的個位 for(i=0;i=1000) / 定時 1S 到,以下為時鐘的正常走鐘邏輯 count=0; sec+; if(sec= 60) sec=0; min+; if(min= 60) min=0; hour+; if(hour= 24) hour=0; if(sec=15|sec=35|sec=55) flag=1; else if(sec=20|sec=40|sec=0) flag=0; /*按鍵處理函數(shù)*/ void keyprocess(unsigned char key) /鍵值處理,6種狀態(tài),正常計時,設(shè)置時分秒,設(shè)置鬧鈴時分 sw
33、itch (key) case 0xe0:status+; /按下設(shè)置鍵 if (status=6) status = 0; break; case 0xd0:switch(status) /按下加1鍵,5種模式下加1 case 0x01:if(hour23) hour+; else hour=0; break; case 0x02:if(min59) min+; else min=0; break; case 0x03:if(sec59) sec+; else sec=0; break; case 0x04:if(ringhour23) ringhour+; else ringhour=0;
34、 break; case 0x05:if(ringmin0) hour-; else hour=23; break; case 0x02:if(min0) min-; else min=59; break; case 0x03:if(sec0) sec-; else sec=59; break; case 0x04:if(ringhour0) ringhour-; else ringhour=23; break; case 0x05:if(ringmin0) ringmin-; else ringmin=59; break; break; case 0x70: ringoff=ringoff;
35、 /鬧鐘的開和關(guān) break; default:break; Y定時器中斷處理NN重送初值保護現(xiàn)場到1秒?秒加14. 系統(tǒng)調(diào)試與分析系統(tǒng)的硬件、軟件獨調(diào)和系統(tǒng)調(diào)試是系統(tǒng)最后的步驟也是系統(tǒng)特別重要的環(huán)節(jié),因為設(shè)計和開發(fā)出的系統(tǒng)是否成功,功能是否完善只有在這里才能顯現(xiàn)出來。所以為了保證設(shè)計系統(tǒng)能夠正常工作,必須對軟件和硬件部分的每一個部分進行調(diào)試和分析。本章詳細的介紹了軟件調(diào)試和軟硬聯(lián)調(diào)的過程,并對調(diào)試結(jié)果進行了介紹和分析。圖15 調(diào)試結(jié)果圖5. 結(jié)論及進一步設(shè)想課設(shè)體會在老師的精心指導(dǎo)下三周的課程設(shè)計結(jié)束了,通過此次課程設(shè)計的訓(xùn)練,我深刻的體會到單片機技術(shù)是一門工程特點和實踐性很強的學(xué)科。剛剛拿
36、到題目時我覺得很盲目,根本無從下手,但是經(jīng)過老師的指導(dǎo)以及多方面查詢資料,我終于得出了方案,完成了這次課程設(shè)計。這次課程設(shè)計給我們提供了一個應(yīng)用自己所學(xué)知識的機會,從到圖書館查找資料到對儀器的設(shè)計、調(diào)試,再到最后的成型,都對我所學(xué)的知識進行了檢驗。不僅使學(xué)過的知識得到了鞏固與復(fù)習(xí),同時也鍛煉了我們使用儀器和計算機輔助軟件的技能。但更重要的是把理論知識與實際聯(lián)系在了一起,加強了思考問題的的完整性和可行性,鍛煉了我的思考能力和動手能力。使學(xué)習(xí)變成了一種樂趣,使知識形象具體地被掌握。同時也為作好畢業(yè)設(shè)計做好準(zhǔn)備工作。三周的課程設(shè)計,向我的指導(dǎo)老師胡立夫老師致以深深的謝意。為了讓我們更好的做課程設(shè)計,他給我們提供了做課設(shè)的專用實驗室和實驗設(shè)備,在這樣良好的學(xué)習(xí)環(huán)境中我們互相探討問題,學(xué)習(xí)氛圍很濃。在這段課設(shè)時期里,胡老師淵博的知識、嚴(yán)謹?shù)闹螌W(xué)作風(fēng)深深感染著我。當(dāng)我的課設(shè)進度慢下
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人抵押貸款合同規(guī)范文本
- 2025年辦公軟件使用授權(quán)合同
- 2025年醫(yī)院聘用注冊護士合同模板
- 2025年徐州資格證模擬考試
- 2025年養(yǎng)殖基地飼料供應(yīng)協(xié)議范本
- 2025年住宅小區(qū)前期物業(yè)清潔衛(wèi)生協(xié)議
- 2025年農(nóng)作物種子采購銷售合同格式
- 2025年鞍山貨運從業(yè)資格證模擬考試下載什么軟件
- 2025年山東貨運從業(yè)資格證年
- 2025年來賓道路運輸從業(yè)人員資格考試內(nèi)容有哪些
- 化學(xué)選修4《化學(xué)反應(yīng)原理》(人教版)全部完整PP課件
- 《煤礦安全規(guī)程》專家解讀(詳細版)
- 招聘面試流程sop
- 建筑公司工程財務(wù)報銷制度(精選7篇)
- 工程設(shè)計方案定案表
- 最新2022年減肥食品市場現(xiàn)狀與發(fā)展趨勢預(yù)測
- 第一章-天氣圖基本分析方法課件
- 暖氣管道安裝施工計劃
- 體育實習(xí)周記20篇
- 初二物理彈力知識要點及練習(xí)
- 復(fù)合材料成型工藝及特點
評論
0/150
提交評論