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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

4、歐姆電阻與一個(gè)6位8段LED數(shù)碼顯示管相連。從P0口輸出LED數(shù)碼管的字形碼,從P2口輸出LED數(shù)碼管的位選碼,高電平有效。4個(gè)功能按鍵和P1口相連,中間通過(guò)10K的電阻與+5V電源相連,按鍵另一端接地,P1口低電平時(shí)表示按鍵被按下。報(bào)警電路則與P3.0口相連,當(dāng)P3.0口輸出高電平時(shí),蜂鳴器響。2晶振電路設(shè)計(jì) 由于單片機(jī)內(nèi)部振蕩方式電路簡(jiǎn)單,時(shí)鐘信號(hào)比較穩(wěn)定,是獨(dú)立的單片機(jī)應(yīng)用系統(tǒng)的首選,故本設(shè)計(jì)采用內(nèi)部振蕩方式,采用12MHZ的晶振。數(shù)字定時(shí)系統(tǒng)電路的晶振電路圖如下圖所示。3定時(shí)中斷 本設(shè)計(jì)電路采用定時(shí)器T0產(chǎn)生定時(shí)中斷,由于本設(shè)計(jì)需要0.1s的基本時(shí)間,故選擇其工作在

5、定時(shí)方式1下。這時(shí)定時(shí)器T0是一個(gè)16位的計(jì)時(shí)器,由它產(chǎn)生50ms的基本定時(shí)中斷,兩次中斷后將得到0.1s的時(shí)間。4鍵盤(pán)電路 鍵盤(pán)電路有獨(dú)立式鍵盤(pán)和矩陣式兩種。獨(dú)立式鍵盤(pán)占用I/O口線較多,適用于按鍵較少的情況。矩陣式鍵盤(pán)占用的I/O口相對(duì)較少,適用于按鍵很多的情況。共設(shè)置4個(gè)按鍵,每個(gè)按鍵分別完成復(fù)位、開(kāi)始/暫停、設(shè)置、調(diào)整的功能。其電路連接圖如下圖所示。5 報(bào)警電路 報(bào)警電路將采用p3.0口驅(qū)動(dòng),當(dāng)數(shù)碼管顯示00.00.0時(shí)p3.0口輸出高電平,驅(qū)動(dòng)蜂鳴器達(dá)到報(bào)警的目的,只有當(dāng)復(fù)位鍵按下后,蜂鳴器才會(huì)停止報(bào)警。其電路連接圖如下圖所示6顯示電路 對(duì)于顯

6、示電路,本設(shè)計(jì)采用6位8段共陰極LED數(shù)碼管顯示。上電顯示最大倒計(jì)時(shí)時(shí)間99.00.00-。其中“-”位為系統(tǒng)狀態(tài)標(biāo)志位,當(dāng)顯示“-”時(shí),表示系統(tǒng)處于等待狀態(tài),按下開(kāi)始鍵后將開(kāi)始計(jì)數(shù),開(kāi)始計(jì)數(shù)后此數(shù)碼管將關(guān)閉顯示,以達(dá)到省電的目的 ,當(dāng)顯示“E”時(shí),表示系統(tǒng)正處于調(diào)時(shí)狀態(tài),此時(shí)只用兩個(gè)調(diào)時(shí)鍵有用,按下開(kāi)始鍵或復(fù)位鍵將沒(méi)有用。其顯示電路圖如下圖所示。系統(tǒng)的調(diào)試與結(jié)果測(cè)試電后LED數(shù)碼管顯示最大倒計(jì)時(shí)值99.00.0-,程序處于等待狀態(tài)此時(shí),主程序不斷調(diào)用顯示子程序以及掃描鍵盤(pán)按鍵情況,當(dāng)檢測(cè)到有鍵按下后,轉(zhuǎn)到相應(yīng)的程序執(zhí)行。 1.開(kāi)始/暫停鍵按下后程序開(kāi)始減1計(jì)數(shù)直到0,同時(shí)

7、狀態(tài)顯示管熄滅,計(jì)數(shù)值到0后報(bào)警器響。若中途遇到開(kāi)始/暫停鍵按下則,暫停倒計(jì)時(shí)。2.若中途遇到復(fù)位鍵按下則將倒計(jì)時(shí)器的倒計(jì)時(shí)值設(shè)置為最大值,并處于等待狀態(tài)。3.復(fù)位鍵按下后,程序復(fù)位,系統(tǒng)處于等待狀態(tài),狀態(tài)顯示管顯示“-”。  4.當(dāng)設(shè)置鍵被按下后,程序進(jìn)入調(diào)時(shí)設(shè)置狀態(tài),同時(shí)狀態(tài)顯示管顯示“E”。設(shè)置狀態(tài)的初始值位00.00.0E,按下+1調(diào)整鍵,可以將當(dāng)前的計(jì)數(shù)單位值加1,再次按下設(shè)置鍵后,即進(jìn)入了下個(gè)計(jì)數(shù)單位的調(diào)時(shí)狀態(tài),當(dāng)按下5次設(shè)置鍵后將退出調(diào)時(shí)狀態(tài),若分鐘十位被設(shè)置為6并再次按下設(shè)置鍵后程序直接退出調(diào)時(shí)狀態(tài)。設(shè)置狀態(tài)時(shí)開(kāi)始/暫停鍵和復(fù)位鍵無(wú)效,等退出調(diào)時(shí)狀態(tài)后,設(shè)置

8、狀態(tài)時(shí)開(kāi)始/暫停鍵和復(fù)位鍵恢復(fù)功能結(jié)果分析本設(shè)計(jì)是一個(gè)采用了由內(nèi)部振蕩的時(shí)鐘方式、程控掃描方式的獨(dú)立式鍵盤(pán)、動(dòng)態(tài)顯示LED數(shù)碼管和蜂鳴器式報(bào)警器組成的系統(tǒng)。因此該系統(tǒng)使用的電子器件少、外圍電路簡(jiǎn)單,定時(shí)精準(zhǔn),使用的I/O少,系統(tǒng)消耗的功耗小,剩余的I/O口多便于擴(kuò)展其他功能。但是另一方面,本系統(tǒng)由于使用了程控式的鍵盤(pán)和動(dòng)態(tài)顯示的LED數(shù)碼管,所以對(duì)CPU的使用率相對(duì)較高。 開(kāi)始在主程序的循環(huán)中沒(méi)有添加調(diào)用顯示子程序的語(yǔ)句,導(dǎo)致在沒(méi)有按鍵按下的情況下LED數(shù)碼管沒(méi)有顯示。當(dāng)在主程序循環(huán)檢測(cè)按鍵的過(guò)程中添加了調(diào)用顯示子程序的語(yǔ)句后就解決了這一問(wèn)題。由于鍵盤(pán)需要消抖延時(shí)和等待按鍵釋放,所以

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

10、度不大,但是由于是第一次運(yùn)用單片機(jī)設(shè)計(jì),在設(shè)計(jì)過(guò)程中又遇到了種種困難,又感覺(jué)到要完成此次設(shè)計(jì)還需要花費(fèi)很大的時(shí)間和精力。但是經(jīng)過(guò)不斷的努力,運(yùn)用科學(xué)的分析方法,最終完成了本次計(jì)算機(jī)課程設(shè)計(jì)。 經(jīng)過(guò)三個(gè)星期的課設(shè),過(guò)程曲折可謂一語(yǔ)難盡。在此期間我也失落過(guò),也曾一度熱情高漲。從開(kāi)始時(shí)滿富盛激情到最后汗水背后的復(fù)雜心情,點(diǎn)點(diǎn)滴滴無(wú)不令我回味無(wú)長(zhǎng)。 生活也是這樣,汗水預(yù)示著結(jié)果也見(jiàn)證著收獲。勞動(dòng)是人類(lèi)生存生活永恒不變的話題。通過(guò)這次課設(shè),我才真正領(lǐng)略到“艱苦奮斗”這一詞的真正含義,只有親自動(dòng)手才能體會(huì)其中的內(nèi)涵。我想說(shuō),設(shè)計(jì)確實(shí)有些辛苦,但苦中也有樂(lè)。每當(dāng)遇到困難的時(shí)候,老師和同學(xué)

11、給了我很大的幫助,讓我學(xué)到了很多東西。在此,我對(duì)幫助過(guò)我的同學(xué)及老師深表感謝。我感覺(jué)通過(guò)課設(shè)我和同學(xué)們之間的距離更加近了;我想說(shuō),設(shè)計(jì)確實(shí)很累,但當(dāng)我們的設(shè)計(jì)出現(xiàn)成果時(shí),心中也不免產(chǎn)生喜悅,正所謂“三百六十行,行行出狀元”我認(rèn)為無(wú)論干什么,只要人生活的有意義就可以。 另外,課堂上也有部分知識(shí)不太清楚,于是我又不得不邊學(xué)邊用,時(shí)刻鞏固所學(xué)知識(shí),通過(guò)課設(shè)把以前不了解的東西能夠?qū)W習(xí)一下,更深的體會(huì)其中的含義,使我收獲頗多。整個(gè)設(shè)計(jì)我基本上還滿意,由于水平有限,難免會(huì)有錯(cuò)誤,所以還請(qǐng)老師批評(píng)指正。附錄:所使用的VB程序ORG 0000H    

12、;  AJMP MAIN ORG 000BH          T0中斷程序入口地址      AJMP T0ZD      ORG 00100H MAIN:CLR TR0          

13、;  主程序開(kāi)始      CLR P3.0           關(guān)閉蜂鳴器 SETB 20H.1         使顯示管狀態(tài)標(biāo)志位有效CLR 20H.0          開(kāi)始

14、/暫停標(biāo)志位,使程序處于等待開(kāi)始      MOV 40H,#00H       0.1S位查表碼      MOV 41H,#00H       秒鐘個(gè)位位查表碼MOV 42H,#00H       秒鐘十位位查表碼  

15、;    MOV 43H,#00H       分鐘個(gè)位位查表碼      MOV 44H,#06H       分鐘十位位查表碼      MOV 45H,#00H       狀態(tài)顯示管查表碼&#

16、160;     MOV 46H,#02H       定時(shí)器定時(shí)次數(shù)      SETB EA         開(kāi)總中斷      SETB ET0       

17、60;開(kāi)定時(shí)器T0中斷      MOV TMOD,#01H      定時(shí)器工作方式0      MOV TL0,#0B0H   定時(shí)初值,采用50MS時(shí)      MOV TH0,#3CH   JPJC:LCALL XSCX   

18、60;顯示倒計(jì)時(shí)初值60.00.0(XSCX),進(jìn)入鍵盤(pán)檢測(cè)程    MOV P1,#0FFH       判斷復(fù)位鍵是否按下      JB P1.0,JC12 LCALL XDYS         調(diào)用消抖延時(shí)程序(XDYS)      

19、;JB P1.0,JC12 PP10:JNB P1.0,DP10      等待按鍵按下 AJMP MAIN          復(fù)位鍵按下后轉(zhuǎn)到主程序(MAIN)重新開(kāi)始 JC12:MOV P1,#0FFH       判斷設(shè)置鍵是否按下     &

20、#160;JB P1.2,JC11      LCALL XDYS      JB P1.2,JC11 PP12:JNB P1.2,DP12      調(diào)整設(shè)置鍵按下后轉(zhuǎn)到調(diào)時(shí)子程(TSCX)      ACALL TSCX  JC11:MOV P1,#0FFH

21、0;      判斷開(kāi)始/暫停鍵是否按下      JB P1.1,JPJC      LCALL XDYS      JB P1.1,JPJC PP11:JNB P1.1,DP11 CPL 20H.0       &#

22、160;  將標(biāo)志位取反 JB 20H.0,KSJS      開(kāi)始/暫停標(biāo)志為1則開(kāi)始計(jì)(KSJS)      CLR TR0SETB 20H.1 AJMP JPJC ;繼續(xù)檢測(cè)鍵盤(pán)按鍵情況(JPJC) DP10:LCALL XSCX ;等待按鍵按下時(shí),調(diào)用顯示程序,防止顯示管沒(méi)顯示 AJMP PP10 DP11:LCALL XSCX AJMP PP11 DP12:LCALL XSCX AJMP PP12 KSJS:CLR

23、20H.1 ;清除狀態(tài)顯示管 SETB P2.5 JB P3.0,JPJC ;若蜂鳴器響,則不啟動(dòng)計(jì)時(shí)器 SETB TR0 ;啟動(dòng)計(jì)時(shí)器TO (KSJS) AJMP JPJC ; 顯示子程序 XSCX:MOV DPTR,#TAB ;顯示子程序(XSCX) MOV A,40H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. 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 ;輸

24、出秒鐘個(gè)位的顯示碼.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,43H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出分鐘個(gè)位的顯示段碼. CLR P2.3 ;P2.3=0 ACALL XSYS MOV DPTR,#TAB MOV A,44H MOVC A,A+DPTR

25、MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出分鐘十位的顯示段碼. CLR P2.4 ;P2.4=0 ACALL XSYS JNB 20H.1,ZBTC ;20H.1為1則顯示計(jì)時(shí)器狀態(tài) MOV DPTR,#TAB2 MOV A,45H MOVC A,A+DPTR MOV P2, #0FFH ;關(guān)閉顯示. MOV P0, A ;輸出段碼. CLR P2.5 ;P2.5=0 ACALL XSYS ZBTC:RETTSCX:CLR TR0     調(diào)時(shí)子程序(TSCX)    

26、  CLR 20H.0       使時(shí)間調(diào)整時(shí)處于暫停狀態(tài)      MOV 40H,#00H      MOV 41H,#00H      MOV 42H,#00H      MOV 43H,#00H &#

27、160;   MOV 44H,#00H SETB 20H.1           使?fàn)顟B(tài)顯示管的位選碼有效     MOV 45H,#01H        將狀態(tài)顯示碼更改為E(調(diào)時(shí)狀態(tài))     MOV R0,#44H 

28、;JCTZ:ACALL XSCX          先調(diào)用顯示程序,掃描時(shí)間調(diào)整鍵     MOV P1,#0FFH JB P1.3,NEXT        +1鍵盤(pán)沒(méi)有按下     ACALL XDYS     

29、60;    鍵盤(pán)按下,消抖延時(shí)    JB P1.3,NEXT DEN0:JNB P1.3,DEN1       等待按鍵釋放 AJMP JYCX           +1鍵按下后,跳轉(zhuǎn)到+1程序 NEXT:MOV P1,#0FFH   

30、  JB P1.2,JCTZ ACALL XDYS          鍵盤(pán)按下,消抖延時(shí)     JB P1.2,JCTZ DEN2:JNB P1.2,DEN3       等待按鍵釋放     MOV A,44H CJNE

31、60;A,#06H,DEC4     設(shè)置鍵再次按下,將調(diào)整指針指向下一位     AJMP TCTS DEC4:DEC R0 CJNE R0,#3FH,JCTZ     若R0為3FH則退出調(diào)時(shí)程序   AJMP TCTS         若R0不為#06H,但R0為

32、#3FH,則跳出調(diào)時(shí)程序   JYCX:CJNE R0,#44H,XIA1     加1調(diào)時(shí)部分CJNE R0,#06H,INCR    調(diào)整分鐘十位      AJMP SET0 XIA1:CJNE R0,#43H,XIA2 AJMP TZ09        

33、0;    調(diào)整分鐘個(gè)位 XIA2:CJNE R0,#42H,XIA3 CJNE R0,#05H,INCR    調(diào)整秒鐘十位      AJMP SET0 XIA3:CJNE R0,#41H,XIA4 AJMP TZ09            &#

34、160;調(diào)整秒鐘個(gè)位 XIA4:CJNE R0,#40H,TCTS TZ09:CJNE R0,#09H,INCR      調(diào)整0.1秒位SET0:MOV R0,#00H     AJMP JCTZ INCR:INC R0     AJMP JCTZ DEN1:ACALL XSCX    

35、 AJMP DEN0 DEN3:ACALL XSCX     AJMP DEN2   TCTS:MOV TH0,#3CH            退出調(diào)時(shí)程序      MOV TL0,#0B0H MOV 45H,#00H  

36、60;         將狀態(tài)顯示碼更改為D(等待狀態(tài))      RET      T0中斷子程序   T0ZD:CLR EA                 T0中斷子程序,關(guān)中斷 (T0ZD)      CLR&#

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論