數(shù)字定時器設(shè)計_第1頁
數(shù)字定時器設(shè)計_第2頁
數(shù)字定時器設(shè)計_第3頁
數(shù)字定時器設(shè)計_第4頁
數(shù)字定時器設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、設(shè)計任務(wù)設(shè)計一個數(shù)字定時器設(shè)計要求1,定時1-99分鐘,開機上電并且默認10分鐘。2,顯示時間自選,不一定使用數(shù)碼管。3,定時時間可調(diào),調(diào)試方式為兩種,一是步進,二是直接輸入。4,有負載,220V/A,要求開機上電的時候,負載關(guān)閉。5,有相關(guān)的提示信息,一旦時間設(shè)定之后,會給出時間設(shè)定的提示信息。6,定時時間到,關(guān)閉電暈啊,切斷負載電源,關(guān)閉電源。7,系統(tǒng)工作電源Vin=+12V設(shè)計基本理論本設(shè)計將采用89C51單片機,89C51單片機是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能C

2、MOS8位微處理器,俗稱單片機。單片機自帶5個中斷,兩個16位定時器32個I/O口,可擦除只讀存儲器可以反復(fù)擦除多次,功能相當強大。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C51是一種高效微控制器。89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。主體模塊設(shè)計數(shù)字定時器系統(tǒng)的基本組成如下圖所示數(shù)字定時系統(tǒng)電路的原理框圖 根據(jù)設(shè)計任務(wù)與要求,可初步將系統(tǒng)分為五大功能模塊:主電路、按鍵電路、顯示電路、繼電器電路。進一步細說,主電路選用AT89C51作為中央處

3、理器,系統(tǒng)采用12MHZ的晶振;按鍵控制電路由兩個個按鍵(啟動鍵(start)、時間設(shè)定鍵 (set))組成,采用三個獨立開關(guān),按鍵按下產(chǎn)生一個脈沖信號;顯示電路由二位8段共陰極數(shù)碼管和一個9位100歐姆上拉排阻組成,位選,個位和十位由P0輸出,段選由P1輸出;繼電器電路由一個繼電器和一個用電器(燈泡)組成,通過電路與P3.0相連。當P3.0輸出高電平時,繼電器不吸合,燈亮。各部件具體設(shè)計1單片機最小系統(tǒng)的設(shè)計模塊硬件連接說明:本系統(tǒng)以AT89C51單片機為核心。單片機采用內(nèi)部振蕩的方式。通過200歐姆電阻與一個6位8段LED數(shù)碼顯示管相連。從P0口輸出LED數(shù)碼管的字形碼,從P2口輸出LED

4、數(shù)碼管的位選碼,高電平有效。4個功能按鍵和P1口相連,中間通過10K的電阻與+5V電源相連,按鍵另一端接地,P1口低電平時表示按鍵被按下。報警電路則與P3.0口相連,當P3.0口輸出高電平時,蜂鳴器響。2晶振電路設(shè)計由于單片機內(nèi)部振蕩方式電路簡單,時鐘信號比較穩(wěn)定,是獨立的單片機應(yīng)用系統(tǒng)的首選,故本設(shè)計采用內(nèi)部振蕩方式,采用12MHZ的晶振。數(shù)字定時系統(tǒng)電路的晶振電路圖如下圖所示。3定時中斷本設(shè)計電路采用定時器T0產(chǎn)生定時中斷,由于本設(shè)計需要0.1s的基本時間,故選擇其工作在定時方式1下。這時定時器T0是一個16位的計時器,由它產(chǎn)生50ms的基本定時中斷,兩次中斷后將得到0.1s的時間。4鍵盤

5、電路鍵盤電路有獨立式鍵盤和矩陣式兩種。獨立式鍵盤占用I/O口線較多,適用于按鍵較少的情況。矩陣式鍵盤占用的I/O口相對較少,適用于按鍵很多的情況。共設(shè)置4個按鍵,每個按鍵分別完成復(fù)位、開始/暫停、設(shè)置、調(diào)整的功能。其電路連接圖如下圖所示。5報警電路報警電路將采用p3.0口驅(qū)動,當數(shù)碼管顯示00.00.0時p3.0口輸出高電平,驅(qū)動蜂鳴器達到報警的目的,只有當復(fù)位鍵按下后,蜂鳴器才會停止報警。其電路連接圖如下圖所示6顯示電路對于顯示電路,本設(shè)計采用6位8段共陰極LED數(shù)碼管顯示。上電顯示最大倒計時時間99.00.00-。其中“-”位為系統(tǒng)狀態(tài)標志位,當顯示“-”時,表示系統(tǒng)處于等待狀態(tài),按下開始

6、鍵后將開始計數(shù),開始計數(shù)后此數(shù)碼管將關(guān)閉顯示,以達到省電的目的,當顯示“E”時,表示系統(tǒng)正處于調(diào)時狀態(tài),此時只用兩個調(diào)時鍵有用,按下開始鍵或復(fù)位鍵將沒有用。其顯示電路圖如下圖所示。系統(tǒng)的調(diào)試與結(jié)果測試電后LED數(shù)碼管顯示最大倒計時值99.00.0-,程序處于等待狀態(tài)此時,主程序不斷調(diào)用顯示子程序以及掃描鍵盤按鍵情況,當檢測到有鍵按下后,轉(zhuǎn)到相應(yīng)的程序執(zhí)行。1.開始/暫停鍵按下后程序開始減1計數(shù)直到0,同時狀態(tài)顯示管熄滅,計數(shù)值到0后報警器響。若中途遇到開始/暫停鍵按下則,暫停倒計時。2.若中途遇到復(fù)位鍵按下則將倒計時器的倒計時值設(shè)置為最大值,并處于等待狀態(tài)。3.復(fù)位鍵按下后,程序復(fù)位,系統(tǒng)處于

7、等待狀態(tài),狀態(tài)顯示管顯示“-”。4.當設(shè)置鍵被按下后,程序進入調(diào)時設(shè)置狀態(tài),同時狀態(tài)顯示管顯示“E”。設(shè)置狀態(tài)的初始值位00.00.0E,按下+1調(diào)整鍵,可以將當前的計數(shù)單位值加1,再次按下設(shè)置鍵后,即進入了下個計數(shù)單位的調(diào)時狀態(tài),當按下5次設(shè)置鍵后將退出調(diào)時狀態(tài),若分鐘十位被設(shè)置為6并再次按下設(shè)置鍵后程序直接退出調(diào)時狀態(tài)。設(shè)置狀態(tài)時開始/暫停鍵和復(fù)位鍵無效,等退出調(diào)時狀態(tài)后,設(shè)置狀態(tài)時開始/暫停鍵和復(fù)位鍵恢復(fù)功能結(jié)果分析本設(shè)計是一個采用了由內(nèi)部振蕩的時鐘方式、程控掃描方式的獨立式鍵盤、動態(tài)顯示LED數(shù)碼管和蜂鳴器式報警器組成的系統(tǒng)。因此該系統(tǒng)使用的電子器件少、外圍電路簡單,定時精準,使用的I

8、/O少,系統(tǒng)消耗的功耗小,剩余的I/O口多便于擴展其他功能。但是另一方面,本系統(tǒng)由于使用了程控式的鍵盤和動態(tài)顯示的LED數(shù)碼管,所以對CPU的使用率相對較高。開始在主程序的循環(huán)中沒有添加調(diào)用顯示子程序的語句,導(dǎo)致在沒有按鍵按下的情況下LED數(shù)碼管沒有顯示。當在主程序循環(huán)檢測按鍵的過程中添加了調(diào)用顯示子程序的語句后就解決了這一問題。由于鍵盤需要消抖延時和等待按鍵釋放,所以相似的情況又出現(xiàn)了按下按鍵后有一段時間LED數(shù)碼管斷續(xù)顯示或者按下按鍵后不釋放按鍵時LED數(shù)碼管沒有顯示。仔細分析后發(fā)現(xiàn),問題出現(xiàn)的原因還是一樣的,由于本設(shè)計的LED數(shù)碼管采用了動態(tài)顯示,故需要不斷調(diào)用顯示子程序,否則會導(dǎo)致LE

9、D數(shù)碼管沒有顯示。所以最終做了以下改進:1.按鍵的消抖延時選擇調(diào)用兩次顯示子程序(每次顯示子程序大約用時5ms,兩次即為10ms左右)來取代原來的10ms軟件延時。2.在等待按鍵釋放時,使用循環(huán)調(diào)用顯示子程序來替代原來的循環(huán)等待。經(jīng)過上述兩點的改進后,LED數(shù)碼管無顯示或者斷續(xù)顯示的問題就得到了徹底的解決。心得體會初次看到本次的課程設(shè)計的題目時,感覺設(shè)計的難度不大,但是由于是第一次運用單片機設(shè)計,在設(shè)計過程中又遇到了種種困難,又感覺到要完成此次設(shè)計還需要花費很大的時間和精力。但是經(jīng)過不斷的努力,運用科學(xué)的分析方法,最終完成了本次計算機課程設(shè)計。經(jīng)過三個星期的課設(shè),過程曲折可謂一語難盡。在此期間

10、我也失落過,也曾一度熱情高漲。從開始時滿富盛激情到最后汗水背后的復(fù)雜心情,點點滴滴無不令我回味無長。生活也是這樣,汗水預(yù)示著結(jié)果也見證著收獲。勞動是人類生存生活永恒不變的話題。通過這次課設(shè),我才真正領(lǐng)略到“艱苦奮斗”這一詞的真正含義,只有親自動手才能體會其中的內(nèi)涵。我想說,設(shè)計確實有些辛苦,但苦中也有樂。每當遇到困難的時候,老師和同學(xué)給了我很大的幫助,讓我學(xué)到了很多東西。在此,我對幫助過我的同學(xué)及老師深表感謝。我感覺通過課設(shè)我和同學(xué)們之間的距離更加近了;我想說,設(shè)計確實很累,但當我們的設(shè)計出現(xiàn)成果時,心中也不免產(chǎn)生喜悅,正所謂“三百六十行,行行出狀元”我認為無論干什么,只要人生活的有意義就可以

11、。另外,課堂上也有部分知識不太清楚,于是我又不得不邊學(xué)邊用,時刻鞏固所學(xué)知識,通過課設(shè)把以前不了解的東西能夠?qū)W習(xí)一下,更深的體會其中的含義,使我收獲頗多。整個設(shè)計我基本上還滿意,由于水平有限,難免會有錯誤,所以還請老師批評指正。附錄:所使用的VB程序ORG0000HAJMPMAINORG000BH;T0中斷程序入口地址AJMPT0ZDORG00100HMAIN:CLRTR0;主程序開始CLRP3.0;關(guān)閉蜂鳴器SETB20H.1;使顯示管狀態(tài)標志位有效CLR20H.0;開始/暫停標志位,使程序處于等待開始MOV40H,#00H;0.1S位查表碼MOV41H,#00H;秒鐘個位位查表碼MOV42

12、H,#00H;秒鐘十位位查表碼MOV43H,#00H;分鐘個位位查表碼MOV44H,#06H;分鐘十位位查表碼MOV45H,#00H;狀態(tài)顯示管查表碼MOV46H,#02H;定時器定時次數(shù)SETBEA;開總中斷SETBET0;開定時器T0中斷MOVTMOD,#01H;定時器工作方式0MOVTL0,#0B0H ;定時初值,采用50MS時MOVTH0,#3CHJPJC:LCALLXSCX;顯示倒計時初值60.00.0(XSCX),進入鍵盤檢測程MOVP1,#0FFH;判斷復(fù)位鍵是否按下JBP1.0,JC12LCALLXDYS;調(diào)用消抖延時程序(XDYS)JBP1.0,JC12PP10:JNBP1.

13、0,DP10;等待按鍵按下AJMPMAIN;復(fù)位鍵按下后轉(zhuǎn)到主程序(MAIN)重新開始JC12:MOVP1,#0FFH;判斷設(shè)置鍵是否按下JBP1.2,JC11LCALLXDYSJBP1.2,JC11PP12:JNBP1.2,DP12;調(diào)整設(shè)置鍵按下后轉(zhuǎn)到調(diào)時子程(TSCX)ACALLTSCXJC11:MOVP1,#0FFH;判斷開始/暫停鍵是否按下JBP1.1,JPJCLCALLXDYSJBP1.1,JPJCPP11:JNBP1.1,DP11CPL20H.0;將標志位取反JB20H.0,KSJS;開始/暫停標志為1則開始計(KSJS)CLRTR0SETB 20H.1 AJMP JPJC ;繼

14、續(xù)檢測鍵盤按鍵情況(JPJC) DP10:LCALL XSCX ;等待按鍵按下時,調(diào)用顯示程序,防止顯示管沒顯示 AJMP PP10 DP11:LCALL XSCX AJMP PP11 DP12:LCALL XSCX AJMP PP12 KSJS:CLR 20H.1 ;清除狀態(tài)顯示管 SETB P2.5 JB P3.0,JPJC ;若蜂鳴器響,則不啟動計時器 SETB TR0 ;啟動計時器TO (KSJS) AJMP JPJC ; 顯示子程序 XSCX:MOV DPTR,#TAB ;顯示子程序(XSCX) MOV A,40H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示.

15、 MOV P0, A ;輸出0.1S位的顯示段碼. CLR P2.0 ;P2.0=0 ACALL XSYS MOV DPTR,#TAB1 ; MOV A,41H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出秒鐘個位的顯示碼.CLR P2.1 ;P2.1=0 ACALL XSYS MOV DPTR,#TAB MOV A,42H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出秒鐘十位位的顯示段碼. CLR P2.2 ;P2.2=0 ACALL XSYS MOV DPTR,#TAB1 MOV A,4

16、3H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出分鐘個位的顯示段碼. CLR P2.3 ;P2.3=0 ACALL XSYS MOV DPTR,#TAB MOV A,44H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出分鐘十位的顯示段碼. CLR P2.4 ;P2.4=0 ACALL XSYS JNB 20H.1,ZBTC ;20H.1為1則顯示計時器狀態(tài) MOV DPTR,#TAB2 MOV A,45H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0,

17、 A ;輸出段碼. CLR P2.5 ;P2.5=0 ACALL XSYS ZBTC:RETTSCX:CLRTR0;調(diào)時子程序(TSCX)CLR20H.0;使時間調(diào)整時處于暫停狀態(tài)MOV40H,#00HMOV41H,#00HMOV42H,#00HMOV43H,#00HMOV44H,#00HSETB20H.1;使狀態(tài)顯示管的位選碼有效MOV45H,#01H;將狀態(tài)顯示碼更改為E(調(diào)時狀態(tài))MOVR0,#44HJCTZ:ACALLXSCX;先調(diào)用顯示程序,掃描時間調(diào)整鍵MOVP1,#0FFHJBP1.3,NEXT;+1鍵盤沒有按下ACALLXDYS;鍵盤按下,消抖延時JBP1.3,NEXTDEN0

18、:JNBP1.3,DEN1;等待按鍵釋放AJMPJYCX;+1鍵按下后,跳轉(zhuǎn)到+1程序NEXT:MOVP1,#0FFHJBP1.2,JCTZACALLXDYS;鍵盤按下,消抖延時JBP1.2,JCTZDEN2:JNBP1.2,DEN3;等待按鍵釋放MOVA,44HCJNEA,#06H,DEC4;設(shè)置鍵再次按下,將調(diào)整指針指向下一位AJMPTCTSDEC4:DECR0CJNER0,#3FH,JCTZ;若R0為3FH則退出調(diào)時程序AJMPTCTS;若R0不為#06H,但R0為#3FH,則跳出調(diào)時程序JYCX:CJNER0,#44H,XIA1;加1調(diào)時部分CJNER0,#06H,INCR;調(diào)整分鐘十

19、位AJMPSET0XIA1:CJNER0,#43H,XIA2AJMPTZ09;調(diào)整分鐘個位XIA2:CJNER0,#42H,XIA3CJNER0,#05H,INCR;調(diào)整秒鐘十位AJMPSET0XIA3:CJNER0,#41H,XIA4AJMPTZ09;調(diào)整秒鐘個位XIA4:CJNER0,#40H,TCTSTZ09:CJNER0,#09H,INCR;調(diào)整0.1秒位SET0:MOVR0,#00HAJMPJCTZINCR:INCR0AJMPJCTZDEN1:ACALLXSCXAJMPDEN0DEN3:ACALLXSCXAJMPDEN2TCTS:MOVTH0,#3CH;退出調(diào)時程序MOVTL0,#0

20、B0HMOV45H,#00H;將狀態(tài)顯示碼更改為D(等待狀態(tài))RET;T0中斷子程序T0ZD:CLREA;T0中斷子程序,關(guān)中斷(T0ZD)CLRET0CLRTR0DJNZ46H,TCZDMOV46H,#02H;當定時兩次后重新給計時次數(shù)賦值為2MOV R0,#40H ;減1計數(shù),R0為40H CJNE R0,#01H,R040 INC R0 ;R0為41H CJNE R0,#00H,DEC1 INC R0 ;R0為42H CJNE R0,#00H,DEC1 INC R0 ;R0為43H CJNE R0,#00H,DEC1 INC R0 ;R0為44H CJNE R0,#00H,DEC1 AJMP JYFH R040:CJNE R0,#00H,DEC1 ;R0為40H INC R0 ;R0為41H CJNE R0,#00H,R041 INC R0 ;R0為42H CJNE R0,#00H,R042 INC R0 ;R0為43H CJNE R0,#00H,R043 INC R0 ;R0為

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論