1200秒倒計(jì)時(shí)報(bào)警器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)技術(shù)學(xué)習(xí)_第1頁
1200秒倒計(jì)時(shí)報(bào)警器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)技術(shù)學(xué)習(xí)_第2頁
1200秒倒計(jì)時(shí)報(bào)警器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)技術(shù)學(xué)習(xí)_第3頁
1200秒倒計(jì)時(shí)報(bào)警器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)技術(shù)學(xué)習(xí)_第4頁
1200秒倒計(jì)時(shí)報(bào)警器設(shè)計(jì)單片機(jī)課程設(shè)計(jì)技術(shù)學(xué)習(xí)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 課程設(shè)計(jì)說明書目錄第一章 系統(tǒng)概述1.1 設(shè)計(jì)目的 .11.2 設(shè)計(jì)內(nèi)容.11.3 設(shè)計(jì)要求.1第二章 系統(tǒng)方案 .22.1 總體方案. .22.2 方案組成.2第三章 軟件設(shè)計(jì).3 3.1 主程序設(shè)計(jì).3 3.1.1 倒計(jì)時(shí)模塊.4 3.1.2 鍵盤掃描模塊.4 3.1.3顯示程序模塊.5 3.1.4 實(shí)施結(jié)果.6第四章 總結(jié)體會.64.1設(shè)計(jì)心得及體會.64.2 參考文獻(xiàn).7附錄程序清單. .8第一章 系統(tǒng)概述1.1 設(shè)計(jì)目的此次設(shè)計(jì)是我們更進(jìn)一步了解基本電路的設(shè)計(jì)流程,提高自己的設(shè)計(jì)理念,豐富自己的理論知識,鞏固所學(xué)知識,使自己的動(dòng)手動(dòng)腦能力有更進(jìn)一步提高,為自己今后的學(xué)習(xí)和工作打好基

2、礎(chǔ),為自己的專業(yè)技能打好基礎(chǔ)。通過解決實(shí)際問題,鞏固和加深“單片微型計(jì)算機(jī)原理與接口技術(shù)”課程中所學(xué)的理論知識和實(shí)驗(yàn)?zāi)芰Γ菊莆諉纹瑱C(jī)應(yīng)用電路的一般設(shè)計(jì)方法,學(xué)習(xí)定時(shí)器的使用方法、獨(dú)立按鍵程序編寫、多位數(shù)碼管擴(kuò)展方法,提高實(shí)驗(yàn)?zāi)芰?,加深對單片機(jī)軟硬知識的理解,獲得初步的應(yīng)用經(jīng)驗(yàn),為以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。本次設(shè)計(jì)注重對單片機(jī)工作原理以及鍵盤控制及顯示原理的理解,提高自己的動(dòng)手能力和設(shè)計(jì)能力,培養(yǎng)創(chuàng)新能力,豐富自己的理論知識,做到理論和實(shí)踐相結(jié)合。本次設(shè)計(jì)的重要意義還在于對單片機(jī)的內(nèi)部結(jié)構(gòu)和工作狀態(tài)做更進(jìn)一步的了解,同時(shí)還對單片機(jī)的接口技術(shù),中斷技術(shù),存儲方式和控制方式作更深層次

3、的了解。1.2設(shè)計(jì)內(nèi)容(1)設(shè)計(jì)一個(gè)1-200秒倒計(jì)時(shí)報(bào)警器,報(bào)警時(shí)間可調(diào),用數(shù)碼管顯示報(bào)警時(shí)間,用兩個(gè)按鍵可調(diào)節(jié)報(bào)警范圍,一個(gè)按鍵啟動(dòng),一個(gè)按鍵設(shè)置/修改。 (2)畫出程序流程圖并編寫程序?qū)崿F(xiàn)上述功能。1.3 設(shè)計(jì)要求1、能夠?qū)崿F(xiàn)秒的倒計(jì)時(shí)功能;2、倒計(jì)時(shí)結(jié)束,報(bào)警提示;3、通過按鍵能夠設(shè)置倒計(jì)時(shí)報(bào)警器的初始值; 第二章 系統(tǒng)方案2.1 總體方案 設(shè)計(jì)時(shí)可采用模塊化程序設(shè)計(jì)方法。模塊劃分時(shí)應(yīng)遵循下述原則:(1)每個(gè)模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生一個(gè)明確的結(jié)果。(2)模塊之間的控制參數(shù)應(yīng)盡量簡單,數(shù)據(jù)參數(shù)應(yīng)盡量少。(3)根據(jù)模塊的劃分原則,將該程序劃分成5個(gè)模塊,如圖2-2所示。 重 設(shè) 倒 計(jì)

4、 時(shí)主程序數(shù)碼管動(dòng)態(tài)掃描模塊當(dāng)前時(shí)間倒計(jì)時(shí)模塊輸入倒計(jì)時(shí)時(shí)間模塊指示燈顯示模塊圖2-2 倒計(jì)時(shí)器設(shè)計(jì)框圖2.2 方案組成硬件部分由重設(shè)按鈕、啟動(dòng)按鈕、at89c51單片機(jī)、一個(gè)6位共陰極led顯示器等組成。軟件部分主程序主要由系統(tǒng)初始化段、鍵盤識別、鍵值處理,以及6位共陰極led顯示器掃描顯示子程序,t1中斷。第三章 軟件設(shè)計(jì)3.1 主程序設(shè)計(jì)所以主程序的設(shè)計(jì)一般包括:主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。(1)程序的起始地址mcs-51系列單片機(jī)復(fù)位后,(pc)=0000h,而0003h002bh分別為個(gè)中斷源的入口地址。所以,編程也應(yīng)

5、在0000h處寫一跳轉(zhuǎn)指令。當(dāng)cpu接受到中斷請求信號并予以響應(yīng)后,cpu把當(dāng)前的pc內(nèi)容壓入棧中進(jìn)行保護(hù),然后轉(zhuǎn)入響應(yīng)的中斷服務(wù)程序入口處執(zhí)行。一般在響應(yīng)的中斷服務(wù)程序入口處寫一條跳轉(zhuǎn)指令,并以跳轉(zhuǎn)指令的目標(biāo)地址作為中斷服務(wù)程序的其始地址進(jìn)行編程。(2)主程序的初始化內(nèi)容所謂初始化,是對用到的單片機(jī)內(nèi)部部件或拓展芯片進(jìn)行初始工作狀態(tài)設(shè)定。在本例中,使用了兩個(gè)中斷,即t1。其中:1.t1中斷:采用t1定時(shí)中斷工作方式,完成倒計(jì)時(shí)。主程序設(shè)置各中斷服務(wù)程序的入口地址相關(guān)寄存器清零設(shè)置數(shù)碼管顯示初始狀態(tài)按鍵掃描顯示按下的數(shù)字進(jìn)行倒計(jì)時(shí)時(shí)間是否超出指示燈亮滅yn(3)主程序流程圖 在這里介紹幾個(gè)主要

6、的模塊:3.1.1 倒計(jì)時(shí)模塊設(shè)計(jì)(1)定時(shí)器t1計(jì)數(shù)初值t1計(jì)數(shù)初值為:th1=(65536-700)/256;tl1=(65536-700)mod 256工作方式tmod=00000001h=01h開始倒計(jì)時(shí)寄存器清零設(shè)置定時(shí)器1工作方式判斷按鍵次數(shù)n啟動(dòng)定時(shí)器1關(guān)閉定時(shí)器1等待中斷通過set設(shè)置指示燈亮滅(2)流程圖如圖4-2所示3.1.2 鍵盤掃描模塊掃描按鍵情況,并顯示在數(shù)碼管的分?jǐn)?shù)值位。按鍵去抖動(dòng)的處理。由于機(jī)械觸點(diǎn)的彈性作用,在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),抖動(dòng)時(shí)間長短由按鍵的機(jī)械特性決定,一般為510ms。而按鍵穩(wěn)定閉合時(shí)間的長短則是由操作人員的按鍵動(dòng)作決定的,一般為零

7、點(diǎn)幾秒至數(shù)秒。鍵抖動(dòng)會引起一次按鍵被誤讀多次,為了確保cpu對鍵的一次閉合僅做一次處理,鍵抖動(dòng)可用硬件和軟件兩種方法消除。本設(shè)計(jì)采用軟件方法。3.1.3 顯示程序模塊由于該系統(tǒng)使用的是六位led顯示器顯示倒計(jì)時(shí),因此顯示采用動(dòng)態(tài)掃描顯示方法,即由顯示器掃描顯示子程序控制顯示器逐個(gè)循環(huán)從左至右依次點(diǎn)亮各個(gè)顯示器。這樣雖然在任一時(shí)刻只要一個(gè)顯示器點(diǎn)亮,但是由于人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮效果一樣。如下面的圖所示:從89c51的p1口送顯示器位碼讀相應(yīng)位存儲單元數(shù)據(jù)由讀得數(shù)據(jù)查表確定段碼由89c51送相應(yīng)顯示器位結(jié)束開始3.1.4 實(shí)施結(jié)果(1)首先開始找到主程序入口地址,運(yùn)行程

8、序;(2)按a時(shí)間加,按b時(shí)間減,時(shí)間在1到200,按c開始倒計(jì)時(shí)。倒計(jì)時(shí)的時(shí)候可以隨時(shí)按a或者b更改時(shí)間。(3)倒計(jì)時(shí)的時(shí)候可以隨時(shí)按a或者b更改時(shí)間。 (4)倒計(jì)時(shí)結(jié)束二極管亮起,蜂鳴器響三秒結(jié)束后可以重新賦值。 第四章 總結(jié)體會4.1設(shè)計(jì)心得及體會該倒計(jì)時(shí)器是基于定時(shí)而設(shè)計(jì)的實(shí)現(xiàn)計(jì)時(shí)報(bào)警(指示燈亮)的裝置。由鍵盤掃描、動(dòng)態(tài)led顯示電路、指示燈亮三大部分構(gòu)成。裝置利用at89s51單片機(jī)構(gòu)成電路,以實(shí)現(xiàn)對計(jì)時(shí)時(shí)間的控制。同時(shí)裝置還用一個(gè)由電平控制的指示燈的亮滅裝置,用以實(shí)現(xiàn)倒計(jì)時(shí)時(shí)間到時(shí)提示,以及錯(cuò)出現(xiàn)時(shí)候的提示。本裝置的最大特點(diǎn)是實(shí)時(shí)性強(qiáng),可操作性好。因?yàn)椴捎昧司仃囀芥I盤控制,能夠隨時(shí)

9、改變倒計(jì)時(shí)時(shí)間,所以裝置能夠應(yīng)對不同的要求而做出相應(yīng)的調(diào)整,以適應(yīng)不同的環(huán)境。看事物要辯證的看。本裝置也存在一些缺點(diǎn)值得注意。如當(dāng)按鍵開關(guān)出現(xiàn)問題時(shí),系統(tǒng)會出現(xiàn)錯(cuò)誤,出現(xiàn)指示燈亮的狀態(tài)。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實(shí)踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運(yùn)用到實(shí)踐中去呢?我想做類似的課程設(shè)計(jì)就為我們提供了良好的實(shí)踐平臺。我在整個(gè)設(shè)計(jì)過程中懂得了許多東西,當(dāng)遇到一不了的問題,跟同伴一起商量、合作,或許能收到事半功倍的效果。不管學(xué)什么,一定要打好基礎(chǔ),并將其學(xué)好、學(xué)精,但空有知識也不一定就能說明什么,還得能為己所用;還有更重要的是培養(yǎng)了獨(dú)立思考和設(shè)計(jì)的能力,樹立了

10、對知識應(yīng)用的信心,相信會對今后的學(xué)習(xí)工作和生活有非常大的幫助,并且提高了自己的動(dòng)手實(shí)踐操作能力, 使自己充分體會到了在設(shè)計(jì)過程中的成功喜悅。雖然這個(gè)設(shè)計(jì)做的不是很完美,但是在設(shè)計(jì)過程中所學(xué)到的東西是這次課程設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益;最后,也是我感觸比較深的一點(diǎn),這次課程設(shè)計(jì)時(shí)為數(shù)不多的獨(dú)立完成的一次,雖然過程中遇到很多困難,讓自己犯愁過,彷徨過,急躁過,可當(dāng)自己很快調(diào)整好心態(tài),從跌倒的地方爬起來繼續(xù),最后取得成功,不止是成功后的喜悅,也是一次鍛煉!本次課程設(shè)計(jì)總的來說是比較成功的,但在設(shè)計(jì)及操作過程中也遇到了不少的問題。這個(gè)過程當(dāng)然也就少不了老師和同學(xué)的幫助,所以我們要感謝給予我們幫

11、助和支持的老師和同學(xué)。在設(shè)計(jì)過程中,我們始終得到他們的悉心教導(dǎo)和認(rèn)真指點(diǎn),使得我們在理論知識和動(dòng)手操作方面都有了很大的提高!通過這次課程設(shè)計(jì)使我們懂得了理論與實(shí)際結(jié)合是很重要的,只有理論知識是遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正服務(wù)于社會,從而提高自己的實(shí)際動(dòng)手和獨(dú)立思考的能力。同時(shí)在設(shè)計(jì)的過程中我們也發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。通過這次課程設(shè)計(jì)之后,也把以前所學(xué)過的知識重新進(jìn)行了溫故。它不僅鍛煉了我們的實(shí)際操作能力,還與我們的專業(yè)零距離接觸,更主要的是我們學(xué)到了書本上沒有的知識,尤其感到自身對于書本知識的掌握太

12、死板,并不能靈活運(yùn)用。這樣就使我們的理論知識更加實(shí)踐化了,讓我們對書本上的知識也更加重視了,不再像以前那樣盲目,同時(shí)通過這次設(shè)計(jì),對以后的畢業(yè)設(shè)計(jì)也奠定了一定的基礎(chǔ),更為重要的是對我們自己的將來有了更為明確的奮斗目標(biāo)。4.2參考文獻(xiàn) 1 張毅剛. 單片機(jī)原理及接口技術(shù)m .哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2010. 附錄程序:#include<reg51.h>sbit b_1 = p20;/數(shù)碼管引腳定義sbit b_2 = p21;/數(shù)碼管引腳定義sbit b_3 = p22;/數(shù)碼管引腳定義sbit b_4 = p23;/數(shù)碼管引腳定義sbit key_1 = p10;/累加sb

13、it key_2 = p11;/移位sbit key_3 = p12;/移位sbit beep = p17;int number = 0;int number_flag = 0;bit start = 1;unsigned char dis = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;/數(shù)碼管引腳定義 0123456789 -unsigned int count=0;/計(jì)數(shù)標(biāo)量unsigned char bit_1 = 0; /數(shù)碼管顯示的四位標(biāo)量unsigned char bit_2 = 0;/數(shù)碼管顯示的四位標(biāo)

14、量unsigned char bit_3 = 0;/數(shù)碼管顯示的四位標(biāo)量unsigned char bit_4 = 0;/數(shù)碼管顯示的四位標(biāo)量void delay10ms(char d) /誤差 0us unsigned char a,b,c; for(c=d;c>0;c-) for(b=38;b>0;b-) for(a=130;a>0;a-);char flag=0;void main() tmod = 0x01; /設(shè)置定時(shí)器t0 16位ea = 1; /打開中斷et0 = 1; /打開to定時(shí)器tr0 = 1; /關(guān)閉中斷th0 = (65536-5000)/256;t

15、l0 = (65536-5000)%256;beep = 0;start = 0;while(1) if(key_1=0) /標(biāo)量+while(key_1=0)number+;if(number>=200)number=200;delay10ms(10);/按鍵時(shí)間調(diào)整 if(key_2=0) /標(biāo)量-while(key_2=0)flag=3;number-;if(number<=0)number=0;delay10ms(10);/開始 暫停 if(key_3=0) /從0開始計(jì)時(shí)while(key_3=0);start=1; if(start=1)&&(numbe

16、r=0)beep = 1; /蜂鳴器響number = 0;delay10ms(100);delay10ms(100);delay10ms(100);beep = 0;start = 0;elsebeep = 0; /蜂鳴器不響delay10ms(10);/中斷函數(shù)void delay1s(void) interrupt 1 th0 = (65536-5000)/256; /5ms產(chǎn)生一次中斷 用于數(shù)碼管動(dòng)態(tài)掃描tl0 = (65536-5000)%256; /5ms產(chǎn)生一次中斷 用于數(shù)碼管動(dòng)態(tài)掃描count+;if(start=1)if(count>=200) count = 0; number-; if(number<=0) number=0;bit_1 = number/1000;bit_2 = (number%1000)/100;bit_3 = (number%100)/10;bit_4 = number%10;b_1 = b_2 = b_3 = b_4 =0;/消隱switch(

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論