單片機(jī)課程設(shè)計倒計時秒表_第1頁
單片機(jī)課程設(shè)計倒計時秒表_第2頁
單片機(jī)課程設(shè)計倒計時秒表_第3頁
單片機(jī)課程設(shè)計倒計時秒表_第4頁
單片機(jī)課程設(shè)計倒計時秒表_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、一、設(shè)計目的此次設(shè)計是我們更進(jìn)一步了解基本電路的設(shè)計流程,提高自己的設(shè)計理念,豐富自己的理論知識,鞏固所學(xué)知識,使自己的動手動腦能力有更進(jìn)一步提高,為自己今后的學(xué)習(xí)和工作打好基礎(chǔ), 為自己的專業(yè)技能打好基礎(chǔ)。 通過解決實際問題, 鞏固和加深“單片機(jī)原理與應(yīng)用”課程中所學(xué)的理論知識和實驗?zāi)芰Γ?基本掌握單片機(jī)應(yīng)用電路的一般設(shè)計方法提高電子電路的設(shè)計和實驗?zāi)芰Γ?加深對單片機(jī)軟硬知識的理解, 獲得初步的應(yīng)用經(jīng)驗以后從事生產(chǎn)和科研工作打下一定的基礎(chǔ)。 本次設(shè)計注重對單片機(jī)工作原理以及鍵盤控制及顯示原理的理解, 以便今后自己在單片機(jī)領(lǐng)域的學(xué)習(xí)和開發(fā)打下基礎(chǔ),提高自己的動手能力和設(shè)計能力,培養(yǎng)創(chuàng)新能力,

2、豐富自己的理論知識,做到理論和實踐相結(jié)合。本次設(shè)計的重要意義還在于對單片機(jī)的內(nèi)部結(jié)構(gòu)和工作狀態(tài)做更進(jìn)一步的了解, 同時還對單片機(jī)的接口技術(shù), 中斷技術(shù), 存儲方式和控制方式作更深層次的了解。 掌握單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計過程、 方法及實現(xiàn), 強(qiáng)化單片機(jī)應(yīng)用電路的設(shè)計與分析能力。提高學(xué)生在單片機(jī)應(yīng)用方面的實踐技能和科學(xué)作風(fēng); 培育學(xué)生綜合運(yùn)用理論知識解決問題的能力, 實現(xiàn)理論結(jié)合實際, 學(xué)以至用的原則。 用所學(xué)的知識和自身課外的拓展學(xué)習(xí)加深對專業(yè)課的理解和學(xué)習(xí); 鍛煉綜合運(yùn)用電路設(shè)計及相關(guān)電子儀器、 單片機(jī)軟硬件結(jié)合的理論, 結(jié)合生產(chǎn)實際分析和解決工作工程實際問題的能力,加固、加深和擴(kuò)展有關(guān)電

3、子類,匯編語言,相關(guān)電子電路和仿真軟件方面的知識和能力。通過本次課程設(shè)計,應(yīng)加強(qiáng)培養(yǎng)如下能力:(1) 加強(qiáng)自身獨(dú)立的動手能力和思考解決問題的能力,提高創(chuàng)造能力;(2) 學(xué)會使用軟件Proteus 畫原理圖和仿真調(diào)試。(3) 學(xué)會基本焊接電路板的技能通過本次課程設(shè)計加深對單片機(jī)課程的全面認(rèn)識復(fù)習(xí)和掌握,對單片機(jī)課程的應(yīng)用進(jìn)一步的了解。二、設(shè)計要求1、可以以實現(xiàn)正常秒表的所有功能,包括啟動、暫停、復(fù)位等;2、可以自由設(shè)定倒計時時間(10s、20s、30s ),并進(jìn)行倒計時;3、顯示方式自選;4、任選一款51 單片機(jī);5、擴(kuò)展功能:在秒表的基礎(chǔ)上增加時鐘功能,倒計時完成時加入報警單元,如聲音、燈光等

4、。三、總體設(shè)計3.1 總體框圖本硬件設(shè)計總共包括五部分電路:顯示電路、振蕩電路、復(fù)位電路、報警電 路、按鍵電路。除了單片機(jī)工作必須的振蕩電路,復(fù)位電路外,該設(shè)計增加了報 警電路用來提示倒計時完成,顯示電路用來顯示倒計時,按鍵電路用來設(shè)定倒計 時間以及控制開始暫停??傮w設(shè)計框圖如圖 3.1所示。圖1總體框圖3.2 工作原理?以AT89S51單片機(jī)為核心元件,利用兩位7段共陽極數(shù)碼管作為顯示器件。 在此設(shè)計中共接入2個兩位一體7段共陽LED數(shù)碼管,來顯示實時數(shù)字,其中1 個用于顯示十位,1個用于顯示個位,通過查表指令分別動態(tài)顯示個位和十位。2個LE躁碼管顯示范圍可達(dá)到 O-99。按下開始鍵開始計時

5、,按下倒計時鍵開 始設(shè)定倒計時時間,再按開始鍵開始倒計時。利用中斷實現(xiàn)記錄,利用單片機(jī)的外部中斷 0和外部中斷1來實現(xiàn)記錄和顯 示,把記錄處理和顯示處理做成分別做成外部中斷0和外部中斷1的中斷服務(wù)程序,通過中斷服務(wù)程序處理不同的動作。利用T0做一個1秒的中斷,從而實現(xiàn)倒計時。另外通過數(shù)據(jù)區(qū)來記錄記錄值。 通過顯示子程序來顯示當(dāng)前倒計時和記 錄值。3.3 主程序框圖開始圖2主程序流程圖本程序采用定時器T0產(chǎn)生1秒定時來實現(xiàn)秒表的倒計時,采用外部中斷 0 來記錄不同的記錄值,通過外部中斷1來顯示已經(jīng)記錄的記錄值。在主程序中初 始化各個數(shù)值并且僅僅循環(huán)執(zhí)行顯示程序, 有中斷來時才轉(zhuǎn)去做相應(yīng)的中斷服務(wù)

6、 程序。(1)主程序ORG 00HAJMP MAINORG 0BHAJMP T0INTORG 30HMAIN: MOV SP,#60HMOV DPTR,#TABMOV TMOD,#01H ;T0g 時方式 1SETB EASETB ET0MOV TH0,#3CH ;50m虻時常數(shù)MOV TL0,#0B0HMOV R0,#20 ;20x50mS=1S( 2) 定時中斷程序T0INT: MOV TH0,#03CH; ; 定時中斷子程序。重裝定時常數(shù)MOV TL0,#0B0H;DJNZ R0,T0INTR ;50msX20=1S未滿20次,跳出中斷子程序MOV R0,#20JNB 7FH,T0INT

7、00 ; 時間未到轉(zhuǎn)T0INT00DJNZ R3,T0INTR ; 未到 3 S 跳出中斷子程序CLR 7FH;3 S 時間到,清計時時間到標(biāo)志CLR TR0 ; 關(guān)定時器AJMP T0INTR ; 跳出中斷T0INT00: JNB 7EH,T0INT0 ;7EH 為倒計時標(biāo)志, 1 為倒計時DEC R4 ; =1,R41CJNE R4,#0,T0INTRCLR 7EHSETB 7FH ; 時間到標(biāo)志AJMP T0INTRT0INT0: INC R4CJNE R4,#99,T0INTRSETB 7FH ; 時間到標(biāo)志T0INTR:RETI四、各部分電路設(shè)計2.1 復(fù)位電路AT89S-51單片機(jī)

8、的復(fù)位是靠外部電路實現(xiàn)的。MCS-5彈片機(jī)工作之后,只要在他的RST引線上加載10ms以上的高點(diǎn)平,單片機(jī)就能有效地復(fù)位。MCS-52單片機(jī)通常采用上電自動復(fù)位和按鍵復(fù)位兩種方式。 最簡單的按鍵復(fù)位電路如下 圖:圖 3 復(fù)位電路按鍵按下瞬間,RC電路充電,RST引線出現(xiàn)正月沖,只要 RST保才I 10ms以上的 高電平,就能使單片機(jī)有效的復(fù)位。2.2 振蕩電路在AT89S-51單片機(jī)一般常用內(nèi)部時鐘方式,也就是在XTAL1和XTAL2之間連接晶體震蕩器與電容構(gòu)成穩(wěn)定的自激震蕩器,本模塊用了一個12MHz勺晶振外加兩個 30pf 的電容圖 4 振蕩電路2.3 按鍵電路 由六個相同按鍵組成,分別作

9、為開始,暫停,清零,倒計時,十位加一,個位加一,電路圖如下:圖 5 按鍵電路2.4 兩位數(shù)碼顯示電路由兩位共陽極LED數(shù)碼管和1k歐排阻構(gòu)成。數(shù)碼管的位由p2.1和p2.0 口決定,段選由 P0 口決定。如下圖:圖 6 顯示電路2.5 . 報警電路報警電路由小揚(yáng)聲器組成,計時完成后,利用顯示子程序延時約2ms求反,產(chǎn)生 250H的方波,從而揚(yáng)聲器發(fā)聲,電路如下圖 7 報警電路五、整體電路圖圖 8 整體電路圖六 、 仿真及調(diào)試圖 9 Proteus 仿真圖調(diào)試問題及解決方法開始在主程序的循環(huán)中沒有添加調(diào)用顯示子程序的語句導(dǎo)致在沒有按鍵按下的情況下LED數(shù)碼管沒有顯示。當(dāng)在主程序循環(huán)檢測按鍵的過程

10、中添加了調(diào)用 顯示子程序的語句后就解決了這一問題。 由于鍵盤需要消抖延時和等待按鍵釋放所以相似的情況又出現(xiàn)了按下按鍵后有一段時間 LED 數(shù)碼管斷續(xù)顯示或者按下按鍵后不釋放按鍵時LED數(shù)碼管沒有顯示。仔細(xì)分析后發(fā)現(xiàn)問題出現(xiàn)的原因 還是一樣的,由于本設(shè)計的LED數(shù)碼管采用了動態(tài)顯示,故需要不斷調(diào)用顯示子 程序,否則會導(dǎo)致LED數(shù)碼管沒有顯示。所以最終做了以下改進(jìn) 1.按鍵的消抖 延時選擇調(diào)用兩次顯示子程序每次顯示子程序大約用時5m§兩次即為10ms左右來取代原來的10ms軟件延時。在等待按鍵釋放時使用循環(huán)調(diào)用顯示子程序來 替代原來的循環(huán)等待。經(jīng)過上述兩點(diǎn)的改進(jìn)后LED數(shù)碼管無顯示或者斷

11、續(xù)顯示的 問題就得到了徹底的解決。七 、 設(shè)計總結(jié)剛接到課程設(shè)計的時候完全沒有思路, 不知該如何下手, 好像自己學(xué)到的東西一點(diǎn)都用不上, 后來經(jīng)過翻閱資料從最基本的著手, 開始對倒計時秒表有了一 點(diǎn)認(rèn)識,從單元電路到整體電路按部就班。在整個課程設(shè)計完后,總的感覺是:很累,很有壓力,但是很有收獲。在這個過程中,我的確學(xué)得到很多在書本上學(xué)不到的東西,如:如何將學(xué)過的單片機(jī)知識加以運(yùn)用,如何查找資料,如何利用計算機(jī)來畫圖以及如何利用 proteus 進(jìn)行單片機(jī)仿真等等。 通過查閱資料、 接口設(shè)計、程序設(shè)計、安裝調(diào)試等環(huán)節(jié),完成 AT89S-51單片機(jī)多種資源應(yīng)用并具有 綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計與

12、編程應(yīng)用。 讓我不僅能夠?qū)⒄n堂上學(xué)到的理論 知識與實際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐?、電子元器件、印制電路板等?面的知識進(jìn)一步加深認(rèn)識,同時在軟件編程、排錯調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè) 備的使用技能等方面得到較全面的鍛煉和提高,增進(jìn)對單片機(jī)的感性認(rèn)識,加深對單片機(jī)理論方面的理解,掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,如定時器/計數(shù)器、中斷、I/O 口等。更重要的是,團(tuán)結(jié)精神,合作精神在這次課程設(shè)計中得到 了很好地體現(xiàn),僅憑我個人的力量是無法完成任務(wù)的。但現(xiàn)在回過頭來看,還是挺有成就感的,畢竟這是大學(xué)里第一次進(jìn)行實物課程設(shè)計,第一次真正的將理論轉(zhuǎn)化為實際,第一次實際接觸電路板。這是一筆無法估量的財富

13、。對單片機(jī)有了 更深刻的認(rèn)識和掌握,我感到很欣慰,付出的中就會有收獲!。但是由于理論和實際存在差距,我們成功進(jìn)行了仿真,但是在制作電路板時始終有部分功能不能 實現(xiàn),盡管我們不停地調(diào)試但是終究沒有效果,我們的倒計時秒表能實現(xiàn)自由設(shè)定時間,倒計時,報警。最令我高興的是我們設(shè)計的倒計時秒表不僅能倒計時也 能正計時,這是在要求之外的。由于時間有限,只有一個星期,我相信,我們還 可以實現(xiàn)更多的功能,雖然課程設(shè)計結(jié)束了,但是在課余時間,我還會繼續(xù)進(jìn)行 實踐,從實踐中學(xué)習(xí)知識掌握單片機(jī)!八、參考文獻(xiàn)1張毅剛單片機(jī)原理及應(yīng)用高等教育出版社2003年2張毅剛 單片微機(jī)原理及應(yīng)用西安電子科技大學(xué)出版社1994年3

14、李全利遲榮強(qiáng)單片機(jī)原理及接口技術(shù)北京高等教育出版社2004年4樓然笛 單片機(jī)課程設(shè)計實例指導(dǎo)北京航空航天大學(xué)出版社 2004年 5何立民單片機(jī)應(yīng)用技術(shù)選編 北京航空航天大學(xué)出版社1993年 6梁宗善 電子技術(shù)基礎(chǔ)課程設(shè)計華中科技大學(xué)出版社2009年7李廣弟單片機(jī)基礎(chǔ)讀北京航空航天大學(xué)出版社讀2001年附錄 源程序代碼:STRT EQU P2.2P_S EQU P2.3CLRR EQU P2.4CDWN EQU P2.5ADJH EQU P2.6ADJL EQU P2.7ORG 00HAJMP MAINORG 0BHAJMP T0INTORG 30HMAIN:MOV SP,#60HMOV DPT

15、R,#TABMOV TMOD,#01H ;T箱時方式 1SETB EASETB ET0MOV TH0,#3CH ;50m史時常數(shù)MOV TL0,#0B0HMOV R0,#20 ;20x50mS=1SMAIN1:ACALL ALARM ;調(diào)用報警子程序k1:; 按鍵檢測子程序開始鍵LCALL DISPJB STRT,K2ACALL DISPJNB STRT,$-2AJMP STARTk2:; 暫停鍵JB P_S,K3LCALL DISPJNB P_S,$-3AJMP PAUSEK3:; 清零鍵JB CLRR,K4LCALL DISPJNB CLRR,$-3AJMP CLEARK4:; 倒計時鍵J

16、B CDWN,K5ACALL DISPJNB CDWN,$-2AJMP CDOWNK5:; 倒計時設(shè)定十位JB 7EH,K51AJMP MAIN1K51:JB ADJH,K6ACALL DISPJNB ADJH,$-2AJMP SHINCK6:; 倒計時設(shè)定個位JB 7EH,K61AJMP MAIN1K61:JB ADJL,MAIN1ACALL DISPJNB ADJL,$-2AJMP SLINCSTART:SETB TR0CLR 7DH ; 開始后此標(biāo)志清0 ,跳過顯示子程序的設(shè)定部分MOV R3,#3 ; 蜂鳴 3SAJMP K1PAUSE:CLR TR0AJMP K2CLEAR:CLR

17、TR0MOV R4,#0AJMP K3CDOWN:SETB 7EH ; 倒計標(biāo)志,作倒計減1 計數(shù)用SETB 7DH ; 倒計標(biāo)志,作倒計設(shè)定顯示用AJMP K4SHINC:INC 23H ;23H 為設(shè)定值十位緩存MOV A,23HCJNE A,#10,K5MOV 23H,#0AJMP K5SLINC:INC 22H ;22H 為設(shè)定值個位緩存MOV A,22HCJNE A,#10,K6MOV 22H,#0AJMP K5ALARM:JB 7FH,ALARM0 ;7FH 為時間到標(biāo)志,RAMfi存2FH的D7位AJMP ALARMRT ; 時間未到,跳出報警ALARM0:CPL P1.0ACA

18、LL DISP ;利用顯示子程序延時約2ms求反,產(chǎn)生250H的方波。AJMP ALARMALARMRT:RETT0INT:MOV TH0,#03CH; ;定時中斷子程序。重裝定時常數(shù)MOV TL0,#0B0H;DJNZ R0,T0INTR ;50msX20=1S未滿20次,跳出中斷子程序MOV R0,#20JNB 7FH,T0INT00 ; 時間未到轉(zhuǎn)T0INT00DJNZ R3,T0INTR ; 未到 3 S 跳出中斷子程序CLR 7FH;3 S 時間到,清計時時間到標(biāo)志CLR TR0 ; 關(guān)定時器AJMP T0INTR ; 跳出中斷T0INT00:JNB 7EH,T0INT0 ;7EH 為倒計時標(biāo)志, 1 為倒計時DEC R4 ; =1,R41CJNE R4,#0,T0INTRCLR 7EHSETB 7FH ; 時間到標(biāo)志AJMP T0INTRT0INT0:INC R4CJNE R4,#99,T0INTRSETB 7FH ; 時間到標(biāo)志T0INTR:RETIDISP:JNB 7DH,DISP1MOV 20H,22H 22H存設(shè)定個位MOV 21H,23H 23H存設(shè)定十位MOV A,23H MOV B,#10 MUL AB ADD A,22H MOV R4,A DISP1:MOV A,R4MOV B,#10 DIV ABMOV 20H,A

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論