單片機課程設(shè)計報告-數(shù)字式秒表_第1頁
單片機課程設(shè)計報告-數(shù)字式秒表_第2頁
單片機課程設(shè)計報告-數(shù)字式秒表_第3頁
單片機課程設(shè)計報告-數(shù)字式秒表_第4頁
單片機課程設(shè)計報告-數(shù)字式秒表_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-.z.《單片機技術(shù)》課程設(shè)計說明書數(shù)字式秒表學(xué)院:電氣與信息工程學(xué)院學(xué)生**:謝曜臣指導(dǎo)教師:肖冬瑞職稱/學(xué)位助教專業(yè):電氣工程及其自動化班級:電氣本1205班學(xué)號:1230140531完成時間:2015年6月-.z.**工學(xué)院《單片機技術(shù)》課程設(shè)計課題任務(wù)書學(xué)院:電氣與信息工程學(xué)院專業(yè):電氣工程及其自動化指導(dǎo)教師肖冬瑞學(xué)生**謝曜臣課題名稱數(shù)字式秒表內(nèi)容及任務(wù)一、設(shè)計任務(wù)設(shè)計一個具有特定功能的數(shù)字式秒表。二、設(shè)計內(nèi)容1、秒表的硬件系統(tǒng)(1)、單片機最小系統(tǒng)模塊(2)、供電模塊(3)、顯示模塊(4)、鍵盤模塊2、秒表的軟件系統(tǒng)(1)、系統(tǒng)監(jiān)控程序模塊(2)、顯示程序模塊(3)、鍵盤程序模塊三、設(shè)計要求該數(shù)字式秒表上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進入準備工作狀態(tài)。該數(shù)字式秒表應(yīng)具有開始、暫停、連續(xù)、清零和停止功能。主要參考資料[1]李廣弟.單片機基礎(chǔ)[M].第3版.:航空航天大學(xué),2003.6.[2]李全利.單片機原理及應(yīng)用(C51編程)[M].:高等教育,2012.12.[3]馬忠梅.單片機的C語言應(yīng)用程序設(shè)計[M].第4版.:航空航天大學(xué),2003.6.[4]李光飛.單片機C程序設(shè)計指導(dǎo)[M].:航空航天大學(xué),2003.01.[5]李光飛.單片機課程設(shè)計實例指導(dǎo)[M].:航空航天大學(xué),2004.9.教研室意見教研室主任:(簽字)年月日-.z.摘要近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷的走向人類的日常生活。數(shù)字電子秒表就是其中的一個實例,它具有顯示直觀、讀取方便、精度高等優(yōu)點在計時中廣泛使用。本設(shè)計主要特點是計時精度達到0.01s,解決了傳統(tǒng)的由于計時精度不夠造成的誤差和不公平性,是各種體育競賽的必備設(shè)備之一。數(shù)字式秒表系統(tǒng)采用AT89S52單片機為中心器件,利用其定時器/計數(shù)器的定時和記數(shù)功能,結(jié)合顯示電路、LED數(shù)碼管以及設(shè)計計時器實現(xiàn)預(yù)設(shè)的功能。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)LED顯示,0~59分59.99秒,計時精度為0.01秒,能正確地進行計時。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,定時中斷服務(wù),鍵掃描程序,延時程序等,并在Keil中調(diào)試運行。仿真結(jié)果表明該數(shù)字式秒表精度高、穩(wěn)定性強。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,定時中斷服務(wù),外部中斷服務(wù)程序,延時程序等,硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。秒表的數(shù)字化常給人們的生活帶來極大的方便,它廣泛應(yīng)用于社會的各個領(lǐng)域。最終,經(jīng)過一系列的調(diào)試實現(xiàn)了數(shù)字式秒表的計時、暫停、復(fù)位功能,其中顯示電路采用共陰極LED數(shù)碼管顯示計時時間,達到了本次課程設(shè)計的要求。關(guān)鍵詞:數(shù)字式秒表;單片機;仿真-.z.目錄TOC\o"1-3"\h\u31171緒論 1261952數(shù)字式秒表的設(shè)計介紹 270022.1設(shè)計任務(wù)及功能要求 233532.2數(shù)字式秒表的方案介紹及工作原理說明 2171703數(shù)字式秒表硬件系統(tǒng)的設(shè)計 516583.1電源電路5289733.2AT89S52芯片的介紹 5252493.3單片機最小系統(tǒng)模塊 6257703.3.1時鐘電路 6284903.3.2復(fù)位電路 7180263.3.3最小系統(tǒng)圖 823223.4鍵盤電路8165793.5驅(qū)動及顯示電路9157183.6單片機下載口電路 10133883.7電路原理圖、PCB圖、元器件布局圖11167303.7.1電路原理圖11236513.7.2電路PCB圖11159663.7.3元器件布局圖11125863.8元器件清單11249464數(shù)字式秒表軟件系統(tǒng)的設(shè)計125414.1數(shù)字式秒表使用單片機資源情況1211594.2主程序流程圖12189114.3秒表的工作流程圖 13225214.4顯示程序流程圖 14186324.5軟件系統(tǒng)程序清單1513955設(shè)計結(jié)果及誤差分析 16166045.1數(shù)字式秒表的設(shè)計結(jié)論及使用說明16273745.2編程軟件介紹 17229105.3程序結(jié)果 17180555.4誤差分析及解決方法 1829739結(jié)束語 1828723參考文獻 21946致謝 2212064附錄A電路原理圖 2317673附錄B電路PCB圖 2425080附錄C元器件分布圖 258401附錄D元器件清單 2632117附錄E程序清單 27-.z.1緒論秒表計時器是電器制造,工業(yè)自動化控制、國防、實驗室及科研單位理想的計時儀器,它廣泛應(yīng)用于各種繼電器、電磁開關(guān),控制器、延時器、定時器等的時間測試。2004年8月28日15點15分,中國選手孟關(guān)良/楊文軍在雅典奧運會男子500米劃艇決賽中,以1分40秒278的成績獲得中國在雅典奧運會的第28金。這是中國皮劃艇項目的第一枚奧運金牌,也是中國水上項目在歷屆奧運會上所獲得的第一枚金牌。孟關(guān)良/楊文軍的成績比獲得銀牌的古巴選手只快了0.072秒,以至于兩人在奪冠之后還不敢相信。在現(xiàn)在的體育競技比賽中,隨著運動員的水平不斷提高,差距也在不斷縮小。有些運動對時間精度的要求也越來越高,有時比賽冠亞軍之間的差距只有幾毫秒,因此就需要高精度的秒表來記錄成績。21世紀,單片機的發(fā)展非常的迅速。單片機是把主要計算機功能部件都集成在一塊芯片上的微型計算機。它是一種集計數(shù)和多種接口于一體的微控制器,被廣泛應(yīng)用在智能產(chǎn)品和工業(yè)自動化上,而51單片機是個單片機中最為典型和最有代表性的一種。51單片機是對所有兼容Intel8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flashrom技術(shù)的發(fā)展,8031單片機取得了長足的進展,成為應(yīng)用最廣泛的8位單片機之一,其代表型號是Atmel的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。很多公司都有51系列的兼容機型推出,今后很長的一段時間內(nèi)將占有大量市場。本次的設(shè)計任務(wù)是一個數(shù)字秒表,而秒表與普通的鐘表不同,它的目的是對從*一時刻到另一時刻的時間間隔進行計時。秒表的數(shù)字化常給人們的生活帶來極大的方便,它廣泛應(yīng)用于社會的各個領(lǐng)域。通過對數(shù)字式秒表的設(shè)計,我們可以清楚的了解到它的工作原理,進而也了解了數(shù)字鐘表的工作原理。在翻閱相關(guān)資料后,我們把秒表的設(shè)計分成了三大部分:基準脈沖產(chǎn)生部分;控制部分和計數(shù)、譯碼、顯示部分。本設(shè)計的數(shù)字電子秒表系統(tǒng)采用STC89C52單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及獨立鍵盤來設(shè)計秒表,將軟、硬件有機地結(jié)合起來。2數(shù)字式秒表的設(shè)計介紹2.1設(shè)計任務(wù)及功能要求由單片機接收小鍵盤控制遞增計時,由LED顯示模塊計時時間,顯示格式為00-59(分)00-59(秒).00-99(毫秒),精確到0.01s的整數(shù)倍。繪制系統(tǒng)硬件接線圖,并進行系統(tǒng)仿真和實驗。畫出程序流程圖并編寫程序?qū)崿F(xiàn)系統(tǒng)功能。使用單片機AT89S52作為主要控制芯片,以四位一體共陽極數(shù)碼顯示管通過三極管驅(qū)動作為顯示部分,設(shè)計一個具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進入準備工作狀態(tài)。該數(shù)字式秒表通過按鍵控制可實現(xiàn)開始計時、暫停計時、連續(xù)計時、清零和停止功能。2.2數(shù)字式秒表的方案介紹及工作原理說明使用AT89S52單片機作為核心控制部件,采用12M晶體振蕩器及微小電容構(gòu)成振蕩電路;采用S8550作為數(shù)碼管的驅(qū)動部分;用兩個四位一體共陽極或共陰極數(shù)碼顯示管作為顯示部分,構(gòu)成數(shù)字式秒表的主體結(jié)構(gòu),配合獨立式鍵盤和復(fù)位電路完成此秒表的復(fù)位、計時、連續(xù)、清零、停止各項功能。鍵盤部分方案:鍵盤控制采用獨立式按鍵,每個按鍵的一端均接地,另一端直接和P1口相連,在按鍵和P1口之間通過10K電阻與+5V電源相連。鍵盤通過檢測輸入線的電平狀態(tài)就可以很容易地判斷哪個鍵被按下了,這種方法操作速度高而且軟件結(jié)構(gòu)很簡單,比較適合按鍵較少或操作速度較高的場合,這種獨立式接口的應(yīng)用很普遍。顯示部分方案:顯示部分采用動態(tài)顯示。數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示的筆畫"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。事實上,顯示器上任何時刻只有一個數(shù)碼管有顯示。由于各數(shù)碼管輪流顯示的時間間隔短、節(jié)奏快,人的眼睛反應(yīng)不過來,因此看到的是連續(xù)顯示的現(xiàn)象。為防止閃爍延時的時間在1ms左右,不能太長,也不能太短。本設(shè)計可采用P0口直接驅(qū)動八段數(shù)碼管顯示。此電路采用單片機的P0口作為數(shù)碼顯示管的段控,采用P2口作為數(shù)碼管的位控。8個獨立式鍵盤分別接在單片機的P1口上,以及其他部分構(gòu)成數(shù)字式秒表的硬件電路。通過編寫程序使用單片機的定時計數(shù)器,以及軟件延時,中斷資源來實現(xiàn)秒計時和相關(guān)控制。此數(shù)字式秒表的硬件整體結(jié)構(gòu)如圖1所示。圖1數(shù)字式秒表的方案圖3數(shù)字式秒表硬件系統(tǒng)的設(shè)計3.1電源電路電源電路是系統(tǒng)的最基本部分,任何部分都離不開電源部分,單片機系統(tǒng)也不例外,而且我們應(yīng)該高度重視電源部分,不能因為電源部分電路比較簡單而有所疏忽,其實有一半的故障或制作失敗都和電源有關(guān),電源部分做好才能保證電路的正常工作。方案一:采用直流穩(wěn)壓電源+5V為其提供工作所需的電壓,其中采用的LM7805芯片為三端集成穩(wěn)壓芯片,只有輸入端,輸出端和接地端,輸出電壓為+5V。電源電模塊如圖2所示。方案二:通過下載口對系統(tǒng)供電,只需要一個+5V的移動電源,一根USB下載線即可。移動電源直接提供+5V的電壓,通過USB線接入下載口對系統(tǒng)各模塊供電。對比兩方案,方案二具有供電電壓穩(wěn)定,電源質(zhì)量好,獲取途徑廣等優(yōu)點。綜合考慮,選用方案二,即移動電源供電方式。圖2電源電路模塊3.2AT89S52芯片的介紹(1)與MCS-51產(chǎn)品相兼容;(2)具有8KB可改寫的Flash內(nèi)部程序存儲器,可寫/擦1000次;(3)256字節(jié)內(nèi)部RAM;(4)32根可編程I/O口;(5)3個16位定時器/計數(shù)器;(6)8個中斷源;(7)可編程中串行口;(8)低功耗空閑和掉電方式;它的價格便宜,功能強大,能耗低。很大程度上減少總電路的復(fù)雜性,提高了所設(shè)計系統(tǒng)的穩(wěn)定性。其芯片引腳圖如圖3所示。圖3單片機引腳圖3.3單片機最小系統(tǒng)模塊3.3.1時鐘電路時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,單片機本身就是一個復(fù)雜的同步時序電路。輸入端為芯片引腳*TAL1,輸出端為引腳T*AL2,在芯片的外部通過這兩個引角跨接晶體振蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成了一個穩(wěn)定的自激振蕩器。此電路采用12MHz的石英晶體。時鐘電路如圖4所示。圖4時鐘電路3.3.2復(fù)位電路復(fù)位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤是系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵以重新啟動。RST引腳是單片機復(fù)位信號的輸入端,復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即2個機器周期)以上,若使用頻率為6MHz的晶振,則復(fù)位信號持續(xù)時間應(yīng)超過4us才能完成復(fù)位操作。復(fù)位操作有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的。在本設(shè)計中采用了按鍵電平復(fù)位方式,如圖5所示上電后,由于電容充電,使RST持續(xù)一段高電平時間。當單片機已在運行之中時,按下復(fù)位鍵也能使RST持續(xù)一段時間的高電平,從而實現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇C=10~30μF,R=1K,本設(shè)計采用的電容值為22μF的電容和電阻為1K的電阻。其復(fù)位電路如圖5所示:圖5復(fù)位電路3.3.3最小系統(tǒng)圖圖6AT89C52最小系統(tǒng)3.4鍵盤電路本設(shè)計使用獨立式鍵盤接在單片機的P1口上但通過軟件賦予其中三個按鍵功能,其中S11是計時開始按鍵,S10為停止按鍵,S9為計時暫停按鍵,S8為繼續(xù)計時按鍵,S7是清零按鍵。注意使用時只有在暫停狀態(tài)下才能繼續(xù)計時,只有在停止狀態(tài)下才能清零,在停止時不能繼續(xù)計時,在暫停時不能清零。鍵盤電路如圖7所示:圖7鍵盤電路3.5驅(qū)動及顯示電路對于數(shù)字顯示電路,通常采用液晶顯示或數(shù)碼管顯示。本設(shè)計的顯示電路采用8段4位數(shù)碼管作為顯示介質(zhì)。數(shù)碼管顯示可以分為靜態(tài)顯示和動態(tài)顯示兩種,為了節(jié)省端口及降低功耗,本系統(tǒng)采用動態(tài)顯示方式。數(shù)碼管實際上是由二極管構(gòu)成發(fā)光二級管正常工作時,其兩端正向壓降約為1.6v,正向電流約為10mA,為了使數(shù)碼管達到一定的亮度而又不至于由于電流過大而損壞,我們使用三極管S8550作為數(shù)碼管的驅(qū)動,同時在P00-P07口上串上470歐姆的電阻,R=5V/10MA=500Ω(由于元器件只有470Ω,所以用470Ω代替500Ω)。此處使用四位一體共陰極數(shù)碼管,由于驅(qū)動電路決定了此處共陰極數(shù)碼管和共陽極數(shù)碼管均可以采用,本設(shè)計采用共陰極數(shù)碼顯示管做顯示電路,74HC573是3態(tài)非反轉(zhuǎn)透明鎖存器芯片,當鎖存器使能端為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當鎖存器使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。具體電路如圖8所示。圖8數(shù)碼管驅(qū)動及顯示電路圖3.6單片機下載口電路下載口如圖9所示??梢酝ㄟ^使用USB下載線對單片機進行程序下載。方便整個軟件的設(shè)計,也能讓我們使用起來更加方便。圖9單片機下載口電路圖3.7電路原理圖、PCB圖、元器件布局圖3.7.1電路原理圖此處電路原理圖以及PCB原理圖的繪制均使用AltiumDesigner09軟件完成,根據(jù)硬件接線要求設(shè)計繪制電路原理圖。具體電路圖見附錄A。3.7.2電路PCB圖PCB圖是由AD的封裝管理器畫好封裝之后,直接轉(zhuǎn)換成PCB圖然后連線而成。具體PCB圖見附錄B。3.7.3元器件布局圖元器件布局圖見附錄C。3.8元器件清單元器件清單見附錄D。4數(shù)字式秒表軟件系統(tǒng)的設(shè)計4.1數(shù)字式秒表使用單片機資源情況本次數(shù)字式秒表設(shè)計除了使用單片機工作所必須的硬件資源(如連接晶振的引腳*TAL1和*TAL2,復(fù)位引腳RESET)外,對單片機的硬件資源還做了具體的安排。P0口:P0.0-P0.7作為數(shù)碼管顯示器的段控。P1口:P1.0、P1.2、P1.3、P1.4(由于自己的P1.1口所接的按鍵不怎么靈敏所以不用P1.1口)作為獨立式鍵盤的輸入端。P2口:P2.0-P2.7分別控制數(shù)碼管LED0-LED7的位控碼驅(qū)動。4.2主程序流程圖圖10主程序的流程圖本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進行調(diào)用。協(xié)調(diào)各個子程序之間的聯(lián)系。在主程序中還進行了賦寄存區(qū)的初始值、設(shè)置定時器初值以及開啟外部中斷等操作,當定時時間到后就轉(zhuǎn)去執(zhí)行定時中斷程序。當外部中斷有請求則去執(zhí)行外部中斷服務(wù)程序,并在執(zhí)行完后返回主程序。4.3秒表的工作流程圖圖11秒表工作的流程圖4.4顯示程序流程圖圖12顯示程序流程圖4.5軟件系統(tǒng)程序清單按照流程圖應(yīng)用軟件keil,使用C語言編程實現(xiàn)秒表功能。程序見附錄E。5設(shè)計結(jié)果及誤差分析5.1數(shù)字式秒表的設(shè)計結(jié)論及使用說明在上電復(fù)位之后,此時會在數(shù)碼管的最高位顯示P.,此時模式轉(zhuǎn)換鍵有效,按下之后會進入計時狀態(tài)。S11是計時開始按鍵,S10為停止按鍵,S9為計時暫停按鍵,S8為繼續(xù)計時按鍵,S7是清零按鍵。注意使用時只有在暫停狀態(tài)下才能繼續(xù)計時,只有在停止狀態(tài)下才能清零,在停止時不能繼續(xù)計時,在暫停時不能清零。5.2編程軟件介紹KEILC51標準C編譯器為8051微控制器的軟件開發(fā)提供了C語言環(huán)境,同時保留了匯編代碼高效,快速的特點。C51編譯器的功能不斷增強,使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision3的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統(tǒng),項目管理器,調(diào)試器。uVision3IDE可為它們提供單一而靈活的開發(fā)環(huán)境。5.3程序結(jié)果顯示系統(tǒng)提示符“P.”如圖13所示。圖13系統(tǒng)提示符“P.”的顯示圖(2)秒表的運行狀態(tài)如圖14所示。圖14秒表運行狀態(tài)圖(3)秒表的清零如圖15所示。圖15秒表的清零圖5.4誤差分析及解決方法我們可以發(fā)現(xiàn)數(shù)字式秒表計數(shù)一段時間的我們的標準時間相比較出現(xiàn)了誤差,所設(shè)計的數(shù)字式秒表比我們的標準時間要慢,而且相比較的時間越長他的時差越大。經(jīng)過分其主要原因與硬件和軟件都有關(guān)。我們知道了單片機在進行定時中斷時需要執(zhí)行語句,而執(zhí)行這些語句是需要占用CPU時間的,從而影響單片機定時的精確性,最終會導(dǎo)致數(shù)字電子秒表的計時誤差,為了減小這種計時誤差,我們之前在編程時已經(jīng)將單片機一秒鐘內(nèi)執(zhí)行程序的時間計算在內(nèi),并將定時器的初值做出了適當調(diào)整,爭取最大限度的減小數(shù)字電子秒表的計時誤差,經(jīng)過下載到板子和仿真測試,在第一次測試時,定時器的初值為0*d8f0,在13分鐘后誤差達到了一秒,分析應(yīng)該是程序本身跳到定時器0中斷去需要時間,從而所引起的誤差。經(jīng)過計算并權(quán)衡,第二次測試把初值設(shè)置成0*d8f6,結(jié)果在四十分鐘的時候出現(xiàn)了一秒的誤差。在經(jīng)過計算之后第三次測試將初值設(shè)置為0*d8f8,第三次測試效果很好,在90分鐘的時候誤差還控制在一秒之內(nèi)。硬件原因則是因為按鍵時會有抖動期,同時板子反應(yīng)液需要一定時間,但開始和暫停都會產(chǎn)生按鍵抖動,所以這部分的誤差應(yīng)該較小。同時制板做的質(zhì)量不是很好,所以不能夠排除整體設(shè)計對單片機有影響,所以在用板子計時時會有一些誤差。針對這樣的問題我們就能只能從上述兩個方面入手去解決。軟件方面我們可以通過計算設(shè)計子程序去減少響應(yīng)的時差。硬件部分我們可以采用一些穩(wěn)定,精確度比較高的電子元件去完善,但是在最后調(diào)試出的還是有誤差但我盡可能的減少差誤差接近理想。結(jié)束語本文利用AT89C52單片機設(shè)計了具有計時開始,暫停及清零功能的數(shù)字式秒表,計時最大值為59分59.99秒,計時精確度為0.01秒。利用Proteus和Keil軟件進行了仿真,從而達到預(yù)期效果。通過這次單片機課程設(shè)計,讓我對整個單片機程序的設(shè)計,C51語言有了一個比較深的理解。還有就是增強了自身的動手能力,由原來的單純地書本學(xué)習(xí)轉(zhuǎn)向創(chuàng)新思考,把以前書本上講的或是沒有講的,通過一次課程設(shè)計具體的實施,很自己的團隊合作精神真正得到鍛煉。本次課程設(shè)計,也培養(yǎng)了我們小組的合作精神,所謂團結(jié)就是力量,就是一個再好不過的解釋。它不僅為我以后的課程設(shè)計打下基礎(chǔ),而且還培養(yǎng)了我們的合作精神和分析問題的能力。這次設(shè)計整體電路的計時精確度高,電路結(jié)構(gòu)簡單,抗干擾能力強,具有廣闊的應(yīng)用前景。然而不足的是本設(shè)計的數(shù)字式秒表缺少對多次計時時間進行記錄的功能,應(yīng)給在單片機的內(nèi)部存儲區(qū)多設(shè)置一些存儲空間,用來存儲多次計時時間,并在程序中編入對多次計時時間的調(diào)用顯示,雖然存在不足,但本設(shè)計的數(shù)字式秒表任具有它的實用性。參考文獻[1]李朝青.單片原理及接口技術(shù)[M].:電子工業(yè).2010[2]李勛.單片機實用教程[M].:航空航天大學(xué).2006.5[3]何立民.單片機應(yīng)用技術(shù)選編[M].:航空航天大學(xué).2007[4]馬忠梅.單片機的C語言Windows環(huán)境編程寶典[M].:航空航天大學(xué).2003[5]李光飛.單片機C程序設(shè)計指導(dǎo)[M].:航空航天大學(xué).2003.1[6]李光飛.單片機課程設(shè)計實例指導(dǎo)[M].:航空航天大學(xué)出版.2004.9[7]李廣弟.單片機基礎(chǔ)(第3版)[M].:航空航天大學(xué).2007.6[8]馬忠梅,籍順心,*凱,馬巖.單片機的C語言應(yīng)用程序設(shè)計(第四版)[M].:航空航天大學(xué),2007.1[9]王幸.單片機應(yīng)用系統(tǒng)抗干擾技術(shù)[M].:航空航天大學(xué),2009致謝剛開始接到課程設(shè)計任務(wù),認為挺簡單的,然而真正開始動手制作時才知道并不是則簡單,從初期的資料收集以及原理圖的繪制都受到了老師以及同學(xué)的幫助,在遇到困難時請教老師和同學(xué)都能得到耐心的解答,幫助我少走彎路。通過這次課程設(shè)計,讓我學(xué)到了很多,使我對書本上的知識掌握得更加牢固,同時也使我了解到同學(xué)之間的合作和老師對我的幫助對完成任務(wù)的重要性。在此,我十分感謝老師和同學(xué)在整個課設(shè)過程中給予我的幫助和鼓勵,謝謝你們!附錄A電路原理圖附錄B電路PCB圖圖B1頂層PCB圖圖B2底層PCB圖附錄C元器件分布圖附錄D元器件清單名稱數(shù)量參數(shù)單片機1個AT89S52共陽數(shù)碼管2個4位一體晶振1個12MHz發(fā)光二極管9個芯片插座1個20DIP芯片插座1個40DIP蜂鳴器1個有源按鍵10個4腳排阻4個10K下載口座子1個十芯六腳按鍵開關(guān)1個6腳USB電源線加接口1個電阻1個200Ω電阻3個1K電阻8個470Ω電解電容2個22μf瓷片電容2個33p短路帽3個PCB板子1塊電源白色插座1個杜邦線2個銅柱(帶螺母)4個集成芯片1個74HC573排阻1個470三極管1個9012附錄E程序清單程序清單:/***************************/*項目名稱:數(shù)字式秒表***//*項目功能:設(shè)計一個具有特定功能的數(shù)字式秒表。該數(shù)字式秒表上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進入準備工作狀態(tài)。該數(shù)字式秒表應(yīng)具有開始、暫停、連續(xù)、清零和停止功能。***//*編程作者:謝曜臣***//*指導(dǎo)老師:肖冬瑞***//*完成時間:2015年6月***/***************************//************全局變量說明模塊*************/*include<reg52.h>*include<intrins.h>*defineucharunsignedchar*defineuintunsignedint/**********各個功能模塊的標志位*********/ucharjdz,ks,zt,l*,tz,ql,jz;/**********分、秒、毫秒的存儲變量*********/uint*sf,*sms;int*sm;uinti=0;/**********多次記憶模塊的存儲數(shù)組*********/unsignedcharfzcc[20],mcc[20],mscc[20];/**********單個P2口的定義*********/sbitsmg0=P2^0;sbitsmg1=P2^1;sbitsmg2=P2^2;sbitsmg3=P2^3;sbitsmg4=P2^4;sbitsmg5=P2^5;sbitsmg6=P2^6;sbitsmg7=P2^7;unsignedcharcodesmg_we[]={0*C0,0*F9,0*A4,0*B0,0*99,0*92,0*82,0*F8,0*80,0*90};/************************函數(shù)說明部分*******************/voiddjs(void);voidjs(void);uchar*p();uchar*b();voiddelay(void);ucharkey();voiddisplay(void);voiddelay_1ms(void);/**********************數(shù)字式秒表主體函數(shù)******************/voidmain(){IE=0*83;TMOD=0*01;TL0=0*f8;TH0=0*d8;IT0=1;while(1){if(MS==0)js();if(MS==1)djs();}}/*******************外部0中斷******************************//*功能:用于改變計時模式的標志位*/voidWBZD(void) interrupt0{if(MSW==1)MS=!MS;}/*********************定時器0中斷函數(shù)********************//*功能:用于兩種模式的計時*/voidDSZD0(void)interrupt1{TL0=0*f8;TH0=0*d8;{*sms++;if(*sms==100){*sms=0;*sm++;if(*sm==60){ *sm=0;*sf++; if(*sf==100)*sf=0; } }}/**************延時2ms函數(shù)****************//*功能:延時2ms*/voiddelay_1ms(void){unsignedchara,b;for(b=4;b>0;b--)for(a=248;a>0;a--);}/***************顯示子函數(shù)***************//*功能:用于處理分、秒、毫秒變量,同時顯示在數(shù)碼管上*/voiddisplay(void){P0=smg_we[*sms%10];P2=0*01;delay_1ms();smg0=0;P0=smg_we[*sms/10];P2=0*02;delay_1ms();smg1=0;P0=smg_we[*sm%10]&0*7f;P2=0*04;delay_1ms();smg2=0;P0=smg_we[*sm/10];P2=0*08;delay_1ms();smg3=0;P0=0*bf;P2=0*10;delay_1ms();smg4=0;P0=smg_we[*sf%10];P2=0*20;delay_1ms();smg5=0;P0=smg_we[*sf/10];P2=0*40;delay_1ms();smg6=0;P0=0*ff;P2=0*80;delay_1ms();smg7=0;}/********************取鍵值子函數(shù)*********************//*功能:取按鍵的值,用于判鍵*/ucharkey(){uchard,j;d=P1;d=~d;d=d&0*ff;j=d;display();d=P1;d=~d;d=d&0*ff;if(j==d)return(j);return(0);}/**************延時10ms函數(shù)****************//*功能:延時10ms*/voiddelay(void){unsignedchara,b,c;for(c=1;c>0;c--)for(b=38;b>0;b--)for(a=130;a>0;a--);}/***************顯P子函數(shù)**************

溫馨提示

  • 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

提交評論