單片機(jī)秒表設(shè)計(jì)報(bào)告_第1頁
單片機(jī)秒表設(shè)計(jì)報(bào)告_第2頁
單片機(jī)秒表設(shè)計(jì)報(bào)告_第3頁
單片機(jī)秒表設(shè)計(jì)報(bào)告_第4頁
單片機(jī)秒表設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

■9-ml僵—Ini-BET■■I1TTITTTrTTIHHILI!MIIMLUU':iniLlHllll1Hlll1UIIIH1llllHllimillllllHIHHUniIHJHIIIihHIIilll;-■士土』-廣西科技大學(xué)單片機(jī)課程設(shè)計(jì)說明書課題名稱 單片機(jī)秒表系統(tǒng)的設(shè)計(jì)系別職業(yè)技術(shù)教育學(xué)院專業(yè)電子信息工程班級電子Z112姓名(學(xué)號)紅頭巾組合指導(dǎo)教師廖貴成摘要近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷的走向深入。本文闡述了基于單片機(jī)的電子秒表設(shè)計(jì)。本設(shè)計(jì)主要特點(diǎn)是計(jì)時精度達(dá)到0.1s,解決了傳統(tǒng)的由于計(jì)時精度不夠造成的誤差和不公平性,是各種體育競賽的必備設(shè)備之一。本設(shè)計(jì)是基于AT89C51單片機(jī)設(shè)計(jì)的,我們是分為幾個模塊來設(shè)計(jì)的。首先對秒表的硬件進(jìn)行了設(shè)計(jì),它包括時鐘電路設(shè)計(jì)、復(fù)位電路設(shè)計(jì)以及外部顯示電路。利用89C51單片機(jī)的定時器/計(jì)數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計(jì)計(jì)時器。計(jì)時精度為0.1s。其次是軟件進(jìn)行了設(shè)計(jì),軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,定時中斷服務(wù),外部中斷服務(wù)程序,延時程序等。最后通過仿真調(diào)試,在proteus環(huán)境下建立了仿真模型,仿真和調(diào)試結(jié)果表明本設(shè)計(jì)是正確的。關(guān)鍵詞:單片機(jī);秒表;系統(tǒng)設(shè)計(jì)目錄TOC\o"1-5"\h\z摘要 I\o"CurrentDocument"1課題內(nèi)容要求及目的 1\o"CurrentDocument"1.1課題內(nèi)容 1\o"CurrentDocument"1.2課題要求 1\o"CurrentDocument"1.3課題目的 2\o"CurrentDocument"2硬件設(shè)計(jì) 2\o"CurrentDocument"AT89C51單片機(jī)簡介 2\o"CurrentDocument"2.2設(shè)計(jì)思路 3\o"CurrentDocument"2.3硬件電路設(shè)計(jì) 3\o"CurrentDocument"3軟件設(shè)計(jì) 6\o"CurrentDocument"3.1程序設(shè)計(jì) 63.2源程序 74系統(tǒng)調(diào)試與仿真 11proteus簡介 12\o"CurrentDocument"4.2仿真調(diào)試 125總結(jié) 15\o"CurrentDocument"參考文獻(xiàn) 16\o"CurrentDocument"致謝 161課題內(nèi)容要求及目的1.1課題內(nèi)容用AT89C51設(shè)計(jì)一個秒表,該秒表課可顯示0.0?9分59.9秒的時間,進(jìn)行相應(yīng)的單片機(jī)硬件電路的設(shè)計(jì)并進(jìn)行軟件編程利用單片機(jī)定時器/計(jì)數(shù)器中斷設(shè)計(jì)秒表,從而實(shí)現(xiàn)秒、十分之一秒的計(jì)時。綜合運(yùn)用所學(xué)的《單片機(jī)原理與應(yīng)用》理論知識,通過實(shí)踐加強(qiáng)對所學(xué)知識的理解,具備設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的能力。通過本次系統(tǒng)設(shè)計(jì)加深對單片機(jī)掌握定時器、外部中斷的設(shè)置和編程原理的全面認(rèn)識復(fù)習(xí)和掌握。本系統(tǒng)利用單片機(jī)的定時器/計(jì)數(shù)器定時和記數(shù)的原理,通過采用proteus仿真軟件來模擬實(shí)現(xiàn)。模擬利用AT89C51單片機(jī)、LED數(shù)碼管以及控件來控制秒表的計(jì)數(shù)以及計(jì)位!其中有三位數(shù)碼管用來顯示數(shù)據(jù),顯示分一位和秒(兩位)和十分之一秒,十分之一秒的數(shù)碼管計(jì)數(shù)從0?9,滿十進(jìn)一后顯示秒的數(shù)碼管的數(shù)字加一,并且十分之一秒顯示清零重新從零計(jì)數(shù)。計(jì)秒數(shù)碼管采用四位的數(shù)碼管,當(dāng)計(jì)數(shù)超過范圍是所有數(shù)碼管全部清零重新計(jì)數(shù)。1.2課題要求本課題是基于單片機(jī)的秒表系統(tǒng)設(shè)計(jì),它的具體要求有以下幾點(diǎn):實(shí)物參見下圖,設(shè)計(jì)一個精度為0.1s的秒表系統(tǒng)設(shè)計(jì),啟動按鈕、暫停按鈕及清零按鈕3*.設(shè)計(jì)每到一秒鐘有聲音提醒功能,可通過按鈕打開及關(guān)閉該提醒音1.3課題目的通過課程設(shè)計(jì),進(jìn)一步熟悉和掌握AT89C51單片機(jī)的結(jié)構(gòu)及工作原理,掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù),了解表關(guān)電路參數(shù)的計(jì)算方法。通過完成一個包括電路設(shè)計(jì)和程序開發(fā)的完整過程,進(jìn)一步了解開發(fā)一單片機(jī)應(yīng)用系統(tǒng)的全過程,通過此綜合訓(xùn)練,為以后畢業(yè)設(shè)計(jì)打下一定的基礎(chǔ)。(1) 通過本次課程設(shè)計(jì)加深對單片機(jī)課程的全面認(rèn)識。(2) 掌握定時器、外部中斷的設(shè)置和編程。(3) 該實(shí)驗(yàn)通過單片機(jī)的軟件延時設(shè)計(jì),設(shè)計(jì)簡單的計(jì)時器系統(tǒng),能正確的計(jì)時。(4) 通過本次課程設(shè)計(jì)能夠?qū)Τ绦蜻M(jìn)行編輯,校驗(yàn)。2.硬件設(shè)計(jì)AT89C51單片機(jī)簡介AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器(FPEROM-FlashProgrammableandEraseableReadOnlyMemory)的8位CMOS微控制器,使用高密度、非易失存儲技術(shù)制造,并且與89C51引腳和指令系統(tǒng)完全兼容。引腳分別如圖2.1所示。PDIPP1.DL140□VCCP1J匚239□P0.O(ADO:Pt.2匚330□P0.1(AD1)P1.3匚437□P0.2(AD2)P1.4匚5□Pp.3(AM)(MOSIJPl.S匚635□PO.A[AD4}(MISD)PI.GE734□P0.6(AD5)(SCK)P1.7E833□PO.e(AD6}RSTE932□P0.7(AD7}(RXD)P3.DC1031□eX*vpp(TXD)P3.1匚1130□A.LETROG(ItTR)P3.2匚1229□PSEN(TTITT)P3.3E1320□P2.7(A15)(TO)P3.4匚1427JP2.6(A14)(T1)P2.5r1526□P2.5(A13)網(wǎng)匚16252P2.若(A1^J(RD)P3.7H1724□P2.3(A11)XTAL2r1823_:P2.2(A10)XTAL1L1922□P2.1(A9]GND匚2021jP2.0(AS)圖2.1單片機(jī)引腳分布圖圖2.1所示的單片機(jī)是引腳雙列直插封裝方式,電源引腳40腳與接地腳20。P0口作輸入口使用時,應(yīng)先向口鎖存器寫入1。P1口是一個帶有內(nèi)部上拉電阻的8位雙向1/0端口。P1的輸出緩存可驅(qū)動4個TTL輸入。P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口也是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口,P3端口還用于一些復(fù)用功能。2.2設(shè)計(jì)思路這次的試驗(yàn)要求進(jìn)行計(jì)時并且在數(shù)碼管上顯示時間,先要基本了解硬件內(nèi)在結(jié)構(gòu),確定用p2并行端口進(jìn)行數(shù)碼管控制輸入,使用P2.0,P2.1,P2.2,P2.3進(jìn)行選擇0.1秒位,個位秒位,十位秒位,分位,以P1.0為開始和暫??刂疲琍1.1為清零控制。本次實(shí)驗(yàn)設(shè)計(jì)的基本思路是要求借助AT89C51單片機(jī)做出一個9分59.9s的秒表從十位秒到0.1位秒數(shù)這些計(jì)時的位數(shù)是存在一個內(nèi)嵌的結(jié)構(gòu),就是0.1秒位滿足條件然后進(jìn)行跳位使秒位加一的過程,當(dāng)0.1s到0.9s時該位自動清零并且秒位加一,秒位個位達(dá)到9時也自動清零并向十秒位加一當(dāng)十秒位和個位秒位同時到達(dá)59時向分位進(jìn)1。當(dāng)計(jì)數(shù)超過范圍是所有數(shù)碼管全部清零重新計(jì)數(shù)。其次開始控制,停止控制,清零控制等功能,我們采用蜂鳴器進(jìn)行提示,該信號由P1.5輸出,通過一個延時子程序加以控制。最后就是根據(jù)硬件的條件進(jìn)行編程,要求軟硬件相互兼容。這也是設(shè)計(jì)的關(guān)鍵之處。因此需查閱相關(guān)書籍。2.3硬件電路設(shè)計(jì)開始/停止和清零電路利用兩個開關(guān)并聯(lián)接地,分別接到芯片上的P1.0和P1.1接口,P1.0上的開關(guān)控制秒表的開始/停止,P1.1控制清零,如下圖

■1J11939>JCTiuiL1 PDULuiD□PD.1.WD1PD2^.02T!3?18AliuiLJpniwDi叩齡,口5PD.&ftDbRST PD-T^DT339叩PW口明P2.1jM P22^10PSEN P23^11ftLE PZ.WSISEA P2J&W13P2.WAUP2.7A1521a331j1pm pih'RXDF1.1 P3.1HXDF12 FJ^INTUP1^ Pl^'lNTTP14 P3.4E1P1J5 P35/T1P1J6 P3j6Jv5r"F1.7 P"前2JI1 15,6'-IAT蕓j4TS9C51=TE:'T-圖a開始/停止和清零電路兩種操作皆采用按鍵操作,簡單快捷,易于完成。硬件電路設(shè)計(jì)使用proteus軟件設(shè)計(jì)的硬件電路包含了兩個功能鍵及蜂鳴器控制開關(guān)。具體如圖b所示。F:P1■■FELi.frU1FDi'IWRD^3.1131:<rFTJ.WHFTJS.iXBF:P1■■FELi.frU1FDi'IWRD^3.1131:<rFTJ.WHFTJS.iXBFun.ixnrau.ura.ii.uP2Z5.I.IDranPZ3JLII■LELFl.^JLIZETPI3JLI3FSAA旭Ri.njLiapijnjiFTTTpijLEjiirnpigp□且ripijPiJFS.nHT3JLrmirFL!4.rr圖b硬件電路連接圖由電路圖我們可以看到,我們用P2.0,P2.1,P2.2,P2.3進(jìn)行0.1秒位,秒位,十秒位,分位進(jìn)行位選,蜂鳴器用P1.5做輸出口,按下開始按鈕,秒表開始工作,蜂鳴器發(fā)出聲音(無響應(yīng)電路控制蜂鳴器停止和開始,所以按下“開始”按鈕,蜂鳴器開始發(fā)聲,再按一下“開始/停止”按鈕,蜂鳴器停止發(fā)聲,秒表計(jì)時停止)。&1DJVC01211Kk# .1*KK2h疝■ M1 1- :A1 1■ H1 1■ :土r I lJ■ MI J3i- J ?】f_bJ■f_"■d_XJ「fl_A4d:?£,疝bU 15J J■ gr」I1taI1U 1-5△J5-*■ 1g1p 1 1S15fJ1。JikfJ1任fe,lcJ5f」1c6feLi(x f11i:E iili1I I111I1I 1 11I1X i1ljira.r新,,■,,■J,,■,,■J,,■7, ,Ka J^.1t i_y.io i_y.iis!1赤>:■dooGM:'斗IjNI'-蛔斗i費(fèi)TD土GKD叫GNDO'-.-6』a--.卜0-.'55SE&1SEK2SE64SEIj5圖3-6為數(shù)碼管的引腳圖,每位的段碼線(a,b,c,d,e,f,g,dp)分別與1個8位的鎖存器輸出相連,由AT89C51控制組合0—9十個數(shù)據(jù),如令其顯示1則b,c引腳(即2,3引腳)送高電平,此時數(shù)碼管顯示1。由于各位的段碼線并聯(lián),8位I/O口輸出段碼對各個顯示位來說都是相同的。

3軟件設(shè)計(jì)3.1程序設(shè)計(jì)根據(jù)課題內(nèi)容,可做出主程序流程圖如圖c所示。圖c主程序流程圖流程圖體現(xiàn)著設(shè)計(jì)程序的思路程序,開始后首先進(jìn)行數(shù)據(jù)初始化然后是條件判斷滿足條件或不滿足則進(jìn)行對應(yīng)的處理,如首先依次判斷是否暫停是否清零,然后十分之一妙位計(jì)數(shù),再判斷是否進(jìn)位,若是秒位就加一,秒位加一后進(jìn)行聲音提示,接著再判斷是否有進(jìn)位,若有則十秒位加一,若十秒位有進(jìn)位則向十分位進(jìn)一,十分位計(jì)滿則重新開始。

3.2源程序:ORG0000HLJMPMAINORG000BH;BCDSECONDLJMPTIME;BCDSECONDMAIN:MOVSP,#50HMOVTCON,#01H;定義中斷方式MOV10H,#0AHMOV20H,#00H;BINm_SECONDMOV21H,#00H;BINSECONDMOV22H,#00H;BINMINUTEMOV31H,#00H;BCDm_SECONDORG0100HMOV32H,#00HMOV33H,#00HMOV34H,#00H;BCDMINUTEMOVTMOD,#01H;16位計(jì)數(shù)器MOVTH0,#0D8H ;10msMOVTL0,#0F0HMOVIE,#10000010BML1:LCALLDISPKEY:JNBP1.0,CONTROL;JNBP1.1,CLEARCONTROL:LCALLDL1JB P1.0,ML1LOOP1:LCALLDISPLOOP1:JNB P1.0,LOOP1CPL TR0CLEAR:LCALLDL1LCALL DISPJB P1.1,ML1CLR TR0MOV 20H,#0MOV 21H,#0MOV 22H,#0m_SECONDSECONDMINUTETOC\o"1-5"\h\zMOV 31H,#00H ; BCDm_SECONDSECONDMINUTEMOV 32H,#00H ; BCDMOV 33H,#00HMOV 34H,#00H ; BCDJNB p1.1,CLEARLJMP ML1TIME: MOVTH0,#0D8HMOVTL0,#0F0HMOV10H,#0AHMOVA,20HINCACLRCCJNEA,#99,GO1;轉(zhuǎn)換BCDMOV20H,#0MOV31H,#0MOVA,21HINCAMOVA,21HINCACJNEA,#3CH,GO2MOV21H,#0HMOV32H,#0MOV33H,#0MOVA,22HINCACJNEA,#0AH,GO3MOV22H, #00HMOV34H,#0AJMPRET0;退出中斷GO1:MOV20H,AMOV B,#0AHDIV ABMOV 31H,AGO2:MOV21H,AMOV B,#0AHDIV ABMOV 33H,AMOV 32H,BAJMPRET0GO3:MOV22H,AMOVB,#0AHMOV 34H,BAJMPRET0RET0: POPPSWPOPACCRETIDISP: MOVR0,#31HMOVR3,#0FEHMOVA,R3PLAY:MOVP2,AMOVA,@R0MOVDPTR,#DSEG1MOVCA,@A+DPTRMOV P0,ALCALLDL1MOV P2,#0FFHRLAJNB ACC.4,LD1INCR0MOVR3,ALD1: RETSND:SETBP1.5DL1:MOVR7,#05H ;延時5*(255*2+2+1)=2,565usDL: MOVR6,#0FFHDL6:DJNZR6,$DJNZR7,DLRETDSEG1:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEnd4系統(tǒng)調(diào)試與仿真

4.1仿真軟件簡介(1)Proteus是英國Labcenterelectronics公司出版的仿真軟件。它不僅具有其它仿真軟件的仿真功能,還能仿真單片機(jī)及外圍器件,它是目前最好的仿真單片機(jī)及外圍器件的工具。受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。(2)在Proteus繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件: *.HEX,可以在Proteus的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。Proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能。4.2仿真調(diào)試RF1A 『rtX「「1(1)經(jīng)過對程序的運(yùn)行,并用wave軟件編譯后,用proteus仿真軟件進(jìn)行仿真,按下“開始”按鈕之前,可以看到數(shù)碼管上數(shù)字子顯示為零如圖1所示。JIxr.ijjRSrFSEJ7RF1A 『rtX「「1(1)經(jīng)過對程序的運(yùn)行,并用wave軟件編譯后,用proteus仿真軟件進(jìn)行仿真,按下“開始”按鈕之前,可以看到數(shù)碼管上數(shù)字子顯示為零如圖1所示。JIxr.ijjRSrFSEJ7Jlllrlr!EnIl.n富M5FDFDF1]pzhjjiPZ.'I.UFT-SA'DFIJ1B.IIF2.<IAI2FTJiA'9P2_MI,F(xiàn)3X1F:WPS."|F>DmrmrpajaHTTuanPaa■?■ejiWTTra.nW圖1開始狀態(tài)圖由圖1可以清楚的看到,秒表的初始狀態(tài),三位數(shù)碼管都顯示為零,蜂鳴器也未工作。(2)當(dāng)按下“開始”時秒表開始計(jì)時,秒表開始計(jì)時,其狀態(tài)如圖2所示。FTJJ-WFZJI-UEm,xrjujRtrA.HranwnF3.i|r:-£InjirmrFTJJ-WFZJI-UEm,xrjujRtrA.HranwnF3.i|r:-£InjirmrFsaFF1-pa*raE3rieuFTC"ra.nFrrFUJUXiiRDJ3W2K3MXBnn.iin圖2開始計(jì)時圖由圖4.2可以看到,開始計(jì)時后,數(shù)碼管數(shù)字在變化,圖中為十分之一秒位的數(shù)碼管顯示情況。蜂鳴器發(fā)出“滴滴滴”的聲音。(3)當(dāng)再次按下“開始/停止”按鈕時秒表停止計(jì)時,數(shù)碼管顯示的數(shù)字不再變化,如圖3所示。

::<r?xinn^nF3「l■■偵ps-armrpn-nnTTE.Wr口EWIRannFn.nWJIpaEEEEmnlFa履:::<r?xinn^nF3「l■■偵ps-armrpn-nnTTE.Wr口EWIRannFn.nWJIpaEEEEmnlFa履:<ri_L2PiaF")JiREPAIDIP3>MA'2mtjugP3JIAI1PS.HAISRP1FEWJ

溫馨提示

  • 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

提交評論