基于單片機(jī)的數(shù)字秒表設(shè)計(jì)_第1頁
基于單片機(jī)的數(shù)字秒表設(shè)計(jì)_第2頁
基于單片機(jī)的數(shù)字秒表設(shè)計(jì)_第3頁
基于單片機(jī)的數(shù)字秒表設(shè)計(jì)_第4頁
基于單片機(jī)的數(shù)字秒表設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

-.z...單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)評(píng)語:考勤〔10〕守紀(jì)〔10〕過程〔40〕設(shè)計(jì)報(bào)告〔30〕辯論〔10〕總成績〔100〕專業(yè):自動(dòng)控制班級(jí):控1001班姓名:學(xué)號(hào):指導(dǎo)教師:**交通大學(xué)自動(dòng)化與電氣工程學(xué)院2013年3月7日摘要近年來隨著科技的飛速開展,單片機(jī)的應(yīng)用正在不斷的走向人類的日常生活。數(shù)字電子秒表就是其中的一個(gè)實(shí)例,它具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn)在計(jì)時(shí)中廣泛使用。本次設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求構(gòu)造簡單、精度高為目標(biāo),其硬件電路主要有主控制器、計(jì)時(shí)與顯示電路和回零、啟動(dòng)和停表電路等。主控制器采用單片機(jī)AT89C51,配合相應(yīng)的電路和軟件程序,實(shí)現(xiàn)秒表的計(jì)時(shí)、暫停、復(fù)位功能,其中顯示電路采用共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。關(guān)鍵詞:AT89S5;數(shù)字秒表;LED數(shù)碼管顯示AbstractWiththerapiddevelopmentofscienceandtechnologyinrecentyears,theapplicationofSCMiscontinuedtogotothedailylifeofhumanbeings.Digitalelectronicstopwatchisoneofthoseinstances,ithasanintuitivedisplay,easytoread,thewidespreaduseofhighprecisiontiming.Thedesignwithsinglechipdigitalelectronicstopwatch,andstrivesimplestructure,highprecisionforthetargethardwarecircuitmaincontroller,timinganddisplaycircuitandbacktozero,startandstopwatchcircuit.MaincontrollerusessinglechipmicroputerAT89C51withthecorrespondingcircuitandsoftwareprogram,stopwatchtiming,pause,resetfunction,whichdisplaycircuitmoncathodeLEDdigitaldisplaycountingtime.Keyword:AT89S51digitalstopwatchof;LEDdigitaltubedisplay基于單片機(jī)的數(shù)字秒表設(shè)計(jì)1引言設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器顯示電路和啟動(dòng)、暫停、回零電路等。主控制器采用單片機(jī)AT89C51顯示電路采用共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間設(shè)計(jì)一個(gè)秒表,具有計(jì)時(shí)功能,按鍵有啟動(dòng)計(jì)時(shí)、數(shù)據(jù)清零、停頓、時(shí)間顯示。2設(shè)計(jì)方案及原理數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本系統(tǒng)采用C51系列單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合硬件電路如電源電路晶振電路、復(fù)位電路、顯示電路以及一些按鍵電路等來設(shè)計(jì)計(jì)時(shí)器,將軟、硬件有機(jī)地結(jié)合起來。其中軟件系統(tǒng)采用匯編語言編寫程序,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來實(shí)現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。其中顯示電路采用3個(gè)LED數(shù)碼管顯示時(shí)間,計(jì)時(shí)*圍設(shè)置為0~99.9秒,即準(zhǔn)確到0.1秒,用按控制秒表的“開場〞、“暫停〞、“復(fù)位〞,按“開場〞按鍵,開場計(jì)時(shí);按“暫停〞按鍵,系統(tǒng)暫停計(jì)時(shí);再按“開場〞鍵,系統(tǒng)繼續(xù)計(jì)時(shí);數(shù)碼管顯示當(dāng)前計(jì)時(shí)值;按“復(fù)位〞按鍵,系統(tǒng)清零。設(shè)計(jì)原理圖如下:圖1設(shè)計(jì)原理圖3硬件設(shè)計(jì)本實(shí)驗(yàn)利用單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和計(jì)數(shù)的原理,通過采用Proteus仿真軟件來模擬實(shí)現(xiàn)。模擬AT89C51單片機(jī)、LED數(shù)碼管以及控件來控制秒表的計(jì)數(shù)以及計(jì)時(shí)的開啟、暫停、繼續(xù)、與復(fù)位。其中有三個(gè)數(shù)碼管來顯示數(shù)據(jù),兩個(gè)數(shù)碼管顯示秒〔兩位〕,另一個(gè)數(shù)碼管顯示十分之一秒,十分之一秒的數(shù)碼管計(jì)數(shù)從0~9,滿十進(jìn)一后顯示秒得數(shù)碼管的個(gè)位加一,并且十分之一秒顯示清零重新從零計(jì)數(shù)。同理當(dāng)個(gè)位滿十進(jìn)一后個(gè)位也清零重新計(jì)數(shù),當(dāng)計(jì)時(shí)超過*圍〔即超過99.9秒〕后,所有數(shù)碼管全部清零重新計(jì)數(shù)。3.1晶體振蕩和復(fù)位電路89C51單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,引線*TAL1和*TAL2分別為反相振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入和來自反相振蕩器的輸出,該反相放大器可以配置為片內(nèi)振蕩器。這里選用的晶振頻率為12MHZ,來構(gòu)本錢次設(shè)計(jì)的晶振電路,C2、C3起穩(wěn)定振蕩頻率、快速起振的作用。復(fù)位電路采用上電復(fù)位方式,當(dāng)程序出現(xiàn)錯(cuò)誤時(shí),可以隨時(shí)使電路復(fù)位。電路如下:圖2晶振復(fù)位電路3.3顯示電路采用3個(gè)LED數(shù)碼管,LED是七段顯示器,內(nèi)部有7個(gè)條形發(fā)光二極管和1個(gè)小圓點(diǎn)發(fā)光二極管,根據(jù)各管的亮暗組成字符。在用數(shù)碼管顯示時(shí),有靜態(tài)和動(dòng)態(tài)兩種選擇,這里采用LED動(dòng)態(tài)顯示,用P0、P1、P2口驅(qū)動(dòng)顯示,由于P0口沒有上拉電阻,因此P0口需要外接上拉電阻才能輸出高電平,這里使用8個(gè)4.7k的電阻作為上拉電阻。顯示電路如下:圖3顯示電路引腳控制:P0.0—P0.7、P2.0—P2.7、P1.0—P1.7對(duì)應(yīng)三個(gè)數(shù)碼管的a、b、c、d、e、f、g段和小數(shù)點(diǎn)位;P0控制數(shù)碼管十位的顯示,P2控制數(shù)碼管個(gè)位的實(shí)現(xiàn),P1控制小數(shù)點(diǎn)后一問的顯示,P3.2、P3.3、P3.4分別接開場、暫停、歸零按鍵。3.4按鍵電路當(dāng)按鍵被按下時(shí),相應(yīng)的引腳被拉低,經(jīng)掃描后,獲得鍵值,并執(zhí)行鍵功能程序,因此按下不同的按鍵,將執(zhí)行不同的功能程序。P3.2為開場鍵,P3.3為暫停鍵,P3.4為復(fù)位鍵。電路圖如下:圖4按鈕電路4軟件設(shè)計(jì)設(shè)計(jì)思想如下:本設(shè)計(jì)采用了模塊化設(shè)計(jì),系統(tǒng)程序主要由秒表的初始化、按鍵檢測以、顯示程序開場計(jì)時(shí)、暫停計(jì)時(shí)、秒表清零以及延時(shí)程序等。初始化方式為將I/O口P3全寫“1〞,為秒表的控制輸入做準(zhǔn)備,并將數(shù)碼管全部置零,將定時(shí)器0置于工作方式1,開總中斷允許和定時(shí)器0中斷允許,來完成秒表的初始化;按鍵檢測通過檢測計(jì)時(shí)鍵、暫停鍵、歸零鍵是否出現(xiàn)低電平,并調(diào)用延時(shí)子程序,完成延時(shí)后,假設(shè)發(fā)現(xiàn)低電平消失,則說明該鍵實(shí)際上未被按下,此時(shí)轉(zhuǎn)回按鍵檢測處繼續(xù)檢測,假設(shè)發(fā)現(xiàn)仍然是低電平則說明此鍵被按下。在程序編寫語言選用方面,采用了匯編語言編寫,大大的方便了軟件的調(diào)試與優(yōu)化,也方便了他人的閱讀。4.1程序流程程序流程圖如下:圖5主流程圖4.2程序設(shè)計(jì)程序的各個(gè)組成模塊及工作流程描述:(1)秒表的初始化:先進(jìn)展秒表的初始化,首先將I/O口P3全寫一,為秒表的控制輸入做好準(zhǔn)備,其次將數(shù)碼管全部置零,使其處于秒表計(jì)時(shí)的初始狀態(tài),然后將工作存放器R0~R2以及30H初始化,留待后面的計(jì)時(shí)程序備用,再將定時(shí)器0置于工作方式1,并為其裝入計(jì)時(shí)預(yù)置數(shù)D8FE,即將定時(shí)器定為每10ms溢出,最后開總中斷允許和定時(shí)器0中斷允許。初始化完成后,進(jìn)入按鍵掃描程序。(2)開場計(jì)時(shí):假設(shè)確認(rèn)“開場計(jì)時(shí)〞鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“RUN〞處,將定時(shí)器0計(jì)時(shí)允許控制位TR0置位,則定時(shí)器開場運(yùn)行。此動(dòng)作完成后,返回按鍵檢測程序,等待操作者的下一次指令。(3)暫停計(jì)時(shí):假設(shè)確認(rèn)“暫停計(jì)時(shí)〞鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“PAUSE〞處,將定時(shí)器0計(jì)時(shí)允許控制位TR0置零,則定時(shí)器暫停運(yùn)行。此動(dòng)作完成后,返回按鍵檢測程序,等待操作者的下一次指令。(4)秒表清零:假設(shè)確認(rèn)“秒表清零〞鍵被按下,則跳轉(zhuǎn)至程序標(biāo)號(hào)“STOP〞處,將TR0置零,關(guān)閉定時(shí)器0運(yùn)行。并且將數(shù)碼管、工作存放器、定時(shí)器0預(yù)置數(shù)全部重置,使其處于秒表計(jì)時(shí)的初始狀態(tài)。此動(dòng)作完成后,返回按鍵檢測程序,等待操作者的下一次指令。(5)延時(shí)程序:用于按鍵延時(shí)防抖,延時(shí)10ms。5仿真實(shí)驗(yàn)及結(jié)果在proteus環(huán)境下仿真結(jié)果如下列圖:圖6仿真結(jié)果圖仿真結(jié)果描述:按“開場〞鍵,秒表開場計(jì)時(shí);按“暫停〞鍵,秒表暫停計(jì)時(shí);再按“開場〞鍵,秒表繼續(xù)計(jì)時(shí);按“清零〞鍵,秒表清零。6心得體會(huì)雖然秒表是一個(gè)非常簡單的功能,但要在單片機(jī)中使用匯編語言來實(shí)現(xiàn)這個(gè)功能,仍然花了我不少心思。首先是計(jì)時(shí)的問題,由于單片機(jī)計(jì)時(shí)器最大只能計(jì)時(shí)65.5ms,因此要實(shí)現(xiàn)毫秒位的變化,我采用了軟件計(jì)時(shí)的方法,單片機(jī)只需計(jì)時(shí)10ms,然后用軟件重復(fù)10次,即可到達(dá)計(jì)時(shí)100ms的目的。顯示方面,為了使編程簡單,我使用了靜態(tài)顯示。在以后的學(xué)習(xí)和應(yīng)用中我會(huì)努力加深動(dòng)態(tài)掃描顯示的理解,爭取熟練運(yùn)用。此次課程設(shè)計(jì)穩(wěn)固了我的根底知識(shí),提高了我的應(yīng)用水平,鍛煉了我的動(dòng)手能力,使我受益匪淺。然而,在吸取經(jīng)歷的同時(shí),我也吃了不少教訓(xùn)。在編程、仿真方面都走了不少彎路。但是,學(xué)則要有所收獲,經(jīng)過此次的鍛煉,我在很多方面都已經(jīng)有所提高,知識(shí)也掌握得更加扎實(shí)了。在今后的學(xué)習(xí)和實(shí)踐中,我將繼續(xù)努力鉆研,提高自己,爭取在學(xué)術(shù)和記憶上獲得更大的進(jìn)步。最后感謝費(fèi)克玲教師的悉心指導(dǎo)。參考文獻(xiàn)【1】王思明,*金敏,*鑫,茍軍年,楊喬禮.2012.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì).:科學(xué)【2】*友德.1992.單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn).**:復(fù)旦大學(xué)【3】何立民.1990.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).:航空航天大學(xué)【4】薛俊義.1997.單片機(jī)微型計(jì)算機(jī)及其應(yīng)用.:**交通大學(xué)【5】林建英,吳振宇.2010.電子系統(tǒng)設(shè)計(jì)根底.:電子工業(yè)【6】夏路易.2008.單片機(jī)技術(shù)根底與實(shí).:電子工業(yè)【7】全國大學(xué)生電子設(shè)計(jì)競賽組委會(huì).2004.全國大學(xué)生電子設(shè)計(jì)競賽獲獎(jiǎng)作品匯編.:理工大學(xué)附錄程序清單如下:ORG0000H;程序開場AJMPSTART;跳轉(zhuǎn)到主程序STARTORG000BH;定時(shí)器0中斷的地址入口AJMPTIME0;定時(shí)器0溢出,跳轉(zhuǎn)到中斷程序TIME0START:;主程序MOVP3,*0FFH;輸入端口P3全寫1MOVP0,*3FH;MOVP1,*3FH;MOVP2,*0BFH;數(shù)碼管初始化MOV30H,*00H;MOVR0,*00H;MOVR1,*0AH;MOVR2,*00H;工作存放器初始化MOVTMOD,*01H;定時(shí)器0工作于方式1MOVTH0,*0D8H;MOVTL0,*0FEH;定時(shí)器0預(yù)置數(shù)(D8FEH=55550D)SETBEA;開總中斷允許SETBET0;開定時(shí)器0中斷允許READ:;讀鍵程序L1:P3.2,L2;LCALLDELAY;按鍵延時(shí)防抖P3.2,L1;AJMPRUN;確認(rèn)計(jì)時(shí)鍵被按下,開場/繼續(xù)計(jì)時(shí)L2:P3.3,L3;LCALLDELAY;按鍵延時(shí)防抖P3.3,L2;AJMPPAUSE;確認(rèn)暫停鍵被按下,暫停計(jì)時(shí)L3:P3.4,L1;LCALLDELAY;按鍵延時(shí)防抖P3.4,L3;AJMPSTOP;確認(rèn)清零鍵被按下,秒表重置RUN:;計(jì)時(shí)鍵按下,跳轉(zhuǎn)至此SETBTR0;定時(shí)器0開場/繼續(xù)運(yùn)行AJMPREAD;PAUSE:;暫停鍵按下,跳轉(zhuǎn)至此CLRTR0;AJMPREAD;TIME0:;定時(shí)器0溢出,中斷,跳轉(zhuǎn)至此INC30H;MOVA,30H;CJNEA,*0AH,TIME1;30H單元中的值到10了嗎.(計(jì)時(shí)到10毫秒了嗎,也就是說,該向毫秒位送數(shù)了嗎.)MOVDPTR,*TAB;30H中的值到10了,順序執(zhí)行MOVA,R0;INCR0;CJNER0,*0AH,GET;R0中的值到10了嗎.(該向秒位進(jìn)位了嗎.)MOVR0,*00H;LCALLSECOND;到了,R0清零,調(diào)用進(jìn)位子程序SECOND,向秒位進(jìn)位GET:;沒到,跳過進(jìn)位子程序MOVCA,A+DPTR;MOVP1,A;查表并向數(shù)碼管毫秒位送數(shù)MOV30H,*00H;重置30H單元TIME1:;MOVTH0,*0D8H;MOVTL0,*0FEH;給定時(shí)器0重新預(yù)置數(shù)RETI;中斷返回SECOND:;秒位進(jìn)位子程序PUSHACC;PUSHPSW;將ACC和PSW推入堆棧保護(hù)MOVA,R1;INCR1;CJNER1,*14H,GET1;R1中的值到20了嗎,也就是說,該向十秒位進(jìn)位了嗎.MOVR1,*0AH;LCALLSECOND1;到了。R1重置,調(diào)用進(jìn)位子程序SECOND1,向十秒位進(jìn)位GET1:;沒到,跳過進(jìn)位子程序MOVCA,A+DPTR;MOVP2,A;查表并向數(shù)碼管秒位送數(shù)POPPSW;POPACC;PSW,ACC出棧RET;子程序返回SECOND1:;十秒位進(jìn)位子程序PUSHACC;PUSHPSW;將ACC和PSW推入堆棧保護(hù)MOVA,R2;INCR2;CJNER2,*0AH,GET2;R2中的值到10了嗎,也就是說,該將此位歸零了嗎.MOVR2,*00H;到了,R2清零GET

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論