基于單片機(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頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE2基于單片機(jī)數(shù)字秒表的設(shè)計(jì)基于單片機(jī)數(shù)字秒表的設(shè)計(jì)【摘要】近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷的走向深入。本文闡述了基于單片機(jī)的數(shù)字電子秒表設(shè)計(jì)。本設(shè)計(jì)主要特點(diǎn)是計(jì)時(shí)精度達(dá)到0.01s,解決了傳統(tǒng)的由于計(jì)時(shí)精度不夠造成的誤差和不公平性,是各種體育競賽的必備設(shè)備之一。本設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用8051單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管以及外部中斷電路來設(shè)計(jì)計(jì)時(shí)器。將軟、硬件有機(jī)地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)兩位LED顯示,顯示時(shí)間為0~99.9秒,計(jì)時(shí)精度為0.1秒,能正確地進(jìn)行計(jì)時(shí),同時(shí)能記錄一次時(shí)間,并在下一次計(jì)時(shí)后對(duì)上一次計(jì)時(shí)時(shí)間進(jìn)行查詢。其中軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,定時(shí)中斷服務(wù),外部中斷服務(wù)程序,延時(shí)程序等,并在WAVE中調(diào)試運(yùn)行,硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來實(shí)現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。關(guān)鍵字:單片機(jī);數(shù)字電子秒表;仿真基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第1頁。基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第1頁。PAGEIIPAGE26AbstractWiththerapiddevelopmentofscienceandtechnologyinrecentyears,SCMapplicationsareconstant-depthmanner.Inthispaper,basedonsinglechipdesignofdigitalelectronicstopwatch.Themaincharacteristicsofthisdesigntimingaccuracyof0.01s,tosolvethetraditionalresultofalackaccuracyduetotimingerrorsandunfair,andisavarietyofsportscompetitions,oneoftheessentialequipment.InadditionthehardwarepartofthesetViewbuttononthestopwatchcanbethelasttimetosavetimeforuserqueries.Thedesignofthemulti-functionstopwatchsystemusesSTC89C52microcontrollerasthecentraldevice,anduseitstimer/countertimingandthecountprinciples,combinedwithdisplaycircuit,LEDdigitaltube,aswellastheexternalinterruptcircuittodesignatimer.Thesoftwareandhardwaretogetherorganically,allowingthesystemtoachievetwoLEDdisplayshowsthetimefrom0to99.99seconds,Timingaccuracyof0.01seconds,Beabletocorrectlytimeatthesametimetorecordatime,andthenexttimeafterthelasttimethetimetosearchautomaticallyaddedasecondinwhichsoftwaresystemsusingassemblylanguageprogramming,includingthedisplayprogram,timing,interruptservice,externalinterruptserviceroutine,delayprocedures,keyconsumershakingprocedures,andWAVEinthecommissioning,operation,hardwaresystemusestoachievePROTEUSpowerful,simpleandeasytoobservethecutinthesimulationcanbeobservedontheactualworkingcondition.基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第2頁。Keyword:LEDdisplay;High-precisionstopwatch;8051基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第2頁。目錄TOC\o"1-5"\h\z\u緒論 21引言 31.1秒表及其發(fā)展現(xiàn)狀 31.2設(shè)計(jì)方案 31.2.1設(shè)計(jì)內(nèi)容 31.2.2設(shè)計(jì)要求 41.2.3系統(tǒng)方案 42元器件的概述及選擇 52.1單片機(jī)的選擇 52.1.1AT89C51單片機(jī)介紹 52.1.274LS164的介紹 62.1.3兩位LED數(shù)碼管顯示 73數(shù)字秒表硬件設(shè)計(jì) 93.1單片機(jī)硬件設(shè)計(jì) 93.1.1數(shù)字秒表電路設(shè)計(jì) 93.1.2電源電路 103.1.3晶振電路的選擇與設(shè)計(jì) 103.1.4復(fù)位電路的選擇與設(shè)計(jì) 113.2系統(tǒng)總電路的設(shè)計(jì) 124軟件設(shè)計(jì) 124.1程序設(shè)計(jì)思想 124.1.1程序設(shè)計(jì)流程圖 134.1.2數(shù)字秒表主程序設(shè)計(jì) 164.2數(shù)字秒表仿真圖 205數(shù)字秒表的系統(tǒng)調(diào)試 215.1測(cè)試儀器 215.2軟件調(diào)試 215.3硬件測(cè)試 21結(jié)束語 23謝辭 24參考文獻(xiàn) 25基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第3頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第3頁。緒論秒表計(jì)時(shí)器是電器制造,工業(yè)自動(dòng)化控制、國防、實(shí)驗(yàn)室及科研單位理想的計(jì)時(shí)儀器,它廣泛應(yīng)用于各種繼電器、電磁開關(guān),控制器、延時(shí)器、定時(shí)器等的時(shí)間測(cè)試。2004年8月28日15點(diǎn)15分,中國選手孟關(guān)良/楊文軍在雅典奧運(yùn)會(huì)男子500米劃艇決賽中,以1分40秒278的成績獲得中國在雅典奧運(yùn)會(huì)的第28金。這是中國皮劃艇項(xiàng)目的第一枚奧運(yùn)金牌,也是中國水上項(xiàng)目在歷屆奧運(yùn)會(huì)上所獲得的第一枚金牌。孟關(guān)良/楊文軍的成績比獲得銀牌的古巴選手只快了0.072秒,以至于兩人在奪冠之后還不敢相信。在現(xiàn)在的體育競技比賽中,隨著運(yùn)動(dòng)員的水平不斷提高,差距也在不斷縮小。有些運(yùn)動(dòng)對(duì)時(shí)間精度的要求也越來越高,有時(shí)比賽冠亞軍之間的差距只有幾毫秒,因此就需要高精度的秒表來記錄成績。本設(shè)計(jì)利用8051單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始暫停的功能。P0口輸出段碼數(shù)據(jù),P2.0-P2.4口作列掃描輸出,P1.1、P3.2、P3.3、P2.5分別接四個(gè)按鈕開關(guān),分別實(shí)現(xiàn)開始、暫停、清零和查看上次時(shí)間的功能。顯示電路由兩位共陰極數(shù)碼管組成。初始狀態(tài)下計(jì)時(shí)器顯示00,當(dāng)按下開始鍵時(shí),外部中斷INT1向CPU發(fā)出中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行外部中斷1服務(wù)程序,即開啟定時(shí)器T0。計(jì)時(shí)采用定時(shí)器T0中斷完成,定時(shí)溢出中斷周期為1ms,當(dāng)一處中斷后向CPU發(fā)出溢出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)毫秒計(jì)數(shù)單元進(jìn)行加一,達(dá)到10次就對(duì)十毫秒位進(jìn)行加一,依次類推,直到99秒重新復(fù)位。在計(jì)時(shí)過程中,只要按下暫停鍵,外部中斷INT0向CPU發(fā)出中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行外部中斷0服務(wù)程序,即關(guān)閉定時(shí)器T0,調(diào)用顯示程序,實(shí)現(xiàn)暫停功能,同時(shí)將此次計(jì)時(shí)時(shí)間存入寄存區(qū)。然后對(duì)P1.1進(jìn)行掃描。當(dāng)P1.1按下時(shí)就跳轉(zhuǎn)回主程序。等待下一次計(jì)時(shí)開始。在按下暫停鍵時(shí),將此時(shí)的計(jì)時(shí)時(shí)間存入中間緩存區(qū),當(dāng)再次按下開始鍵時(shí),則講中間緩存區(qū)的數(shù)據(jù)轉(zhuǎn)入最終緩存區(qū)。秒表停止后對(duì)查看鍵P2.5進(jìn)行掃描,P2.5按下為低電平時(shí),調(diào)用最終緩存區(qū)的數(shù)據(jù)進(jìn)行顯示,即顯示上一次計(jì)時(shí)成績。當(dāng)P2.5位高電平時(shí),調(diào)用顯示緩存區(qū)的數(shù)據(jù)進(jìn)行顯示,即顯示當(dāng)此計(jì)時(shí)的成績。根據(jù)以上設(shè)計(jì)思路從而實(shí)現(xiàn)數(shù)字電子秒表的計(jì)時(shí)和查看上一次計(jì)時(shí)時(shí)間的功能。本文主要內(nèi)容包括三部分:第一部分介紹硬件部分設(shè)計(jì)思路及方案;第二部分介紹了軟件部分的設(shè)計(jì)思路和設(shè)計(jì);最后一部分則是整個(gè)系統(tǒng)的安裝與調(diào)試過程。基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第4頁。

1引言基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第4頁。1.1秒表及其發(fā)展現(xiàn)狀時(shí)間是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常遇到的一個(gè)物理量。測(cè)量時(shí)間的基本方法是使用秒表直接測(cè)量。其中秒表的精度是人們最關(guān)心的,這就要求它的計(jì)時(shí)最小單位足夠小,顯示模塊的靈敏度足夠高。目前人們所能測(cè)量的最小計(jì)時(shí)單位是毫秒級(jí)。1.2設(shè)計(jì)方案1.2.1設(shè)計(jì)內(nèi)容該實(shí)驗(yàn)要求進(jìn)行計(jì)時(shí)并在數(shù)碼管上顯示時(shí)間,則可利用MCS系列單片機(jī)微機(jī)仿真實(shí)驗(yàn)系統(tǒng)中的芯片8051中的P3.2管腳作為外部中斷0的入口地址,并實(shí)現(xiàn)“開始”按鍵的功能;將P3.3作為外部中斷1的入口地址,并實(shí)現(xiàn)“清零”按鍵的功能;使用P0口作為段碼數(shù)據(jù)輸出控制口,74LS164用作驅(qū)動(dòng)輸出控制,P1.1、P1.2口分別實(shí)現(xiàn)暫停、快加的功能。顯示電路由兩位共陰極數(shù)碼管組成。使用定時(shí)器T0實(shí)現(xiàn)10ms的定時(shí),進(jìn)行快加延時(shí);當(dāng)想實(shí)現(xiàn)正常計(jì)數(shù)時(shí)的1s延時(shí),只需要實(shí)現(xiàn)40次25ms的定時(shí)器T1控制延時(shí)就可以實(shí)現(xiàn)。其中“開始”按鍵當(dāng)開關(guān)由1撥向0時(shí)開始計(jì)時(shí);“清零”按鍵當(dāng)開關(guān)由1撥向0時(shí)數(shù)碼管清零,此時(shí)若再撥“開始”按鍵則又可重新開始計(jì)時(shí)。初始狀態(tài)下計(jì)時(shí)器顯示00,當(dāng)按下開始鍵時(shí),外部中斷INT0向CPU發(fā)出中斷請(qǐng)求,CPU轉(zhuǎn)去執(zhí)行外部中斷0服務(wù)程序,即開啟定時(shí)器T0,并且進(jìn)行100次計(jì)數(shù),當(dāng)?shù)?00次時(shí),即延時(shí)1s時(shí),產(chǎn)生一個(gè)中斷信號(hào),向CPU發(fā)出請(qǐng)求,執(zhí)行計(jì)數(shù)器加一且送往數(shù)碼管顯示。在計(jì)時(shí)過程中,只要按下暫停鍵,即根據(jù)P1.0口電平變化去執(zhí)行控制程序,關(guān)斷定時(shí)器T0和T1,調(diào)用顯示子程序,實(shí)現(xiàn)暫停功能。在按下暫停鍵時(shí),將此時(shí)的計(jì)時(shí)時(shí)間存入中間緩存區(qū),當(dāng)再次按下開始鍵時(shí),則講中間緩存區(qū)的數(shù)據(jù)轉(zhuǎn)入最終緩存區(qū)。計(jì)時(shí)采用定時(shí)器T1中斷完成,定時(shí)溢出中斷周期為25ms,并同時(shí)進(jìn)行40次計(jì)數(shù),當(dāng)有溢出時(shí),會(huì)產(chǎn)生中斷信號(hào),向CPU發(fā)出中斷請(qǐng)求,每發(fā)出一次中斷請(qǐng)求就對(duì)計(jì)數(shù)單元低位進(jìn)行加一,達(dá)到10次就對(duì)高位進(jìn)行加一,送數(shù)碼管顯示,依此類推,直到99秒后再加一后返回00,重新開始。數(shù)碼管顯示電路采用動(dòng)態(tài)掃描的方式,由于數(shù)碼管采用共陰極的接法,當(dāng)位選信號(hào)為高電平時(shí),該位選通,P0口中的數(shù)據(jù)送到該段上顯示,節(jié)省接口資源,又能實(shí)時(shí)動(dòng)態(tài)的性能?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第5頁。再看按鍵的處理。這四個(gè)鍵可以采用中斷的方法,也可以采用掃描的方法來識(shí)別。復(fù)位鍵和開始鍵功能在于使程序從頭執(zhí)行,對(duì)于時(shí)間的要求即單片機(jī)上電初始化時(shí)的值00;而停止鍵則要用于對(duì)時(shí)間的鎖定,需要比較準(zhǔn)確的控制;而對(duì)于快加鍵,當(dāng)檢測(cè)到有快加信號(hào)時(shí),則啟動(dòng)定時(shí)器T0,完成一個(gè)周期定時(shí)時(shí)產(chǎn)生一個(gè)溢出中斷請(qǐng)求,向CPU發(fā)送請(qǐng)求,每發(fā)一次就對(duì)計(jì)數(shù)單元低位進(jìn)行加一操作,達(dá)到10次就對(duì)高位進(jìn)行加一操作,送數(shù)碼管顯示,依次循環(huán);同時(shí)檢測(cè)是否有暫停信號(hào),有暫停信號(hào)時(shí),跳出快加程序,執(zhí)行顯示子程序。因此可以對(duì)暫停和快加按鍵采取掃描的方式。而對(duì)開始和復(fù)位鍵采用外部中斷的方式。基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第5頁。1.2.2設(shè)計(jì)要求課題需要以MCS-51系列單片機(jī)為核心,結(jié)合外圍電路,制作一款時(shí)間參數(shù)測(cè)量系統(tǒng)。具體要求如下:1)使用兩位數(shù)碼管顯示,顯示時(shí)間00-99秒;2)正常計(jì)數(shù)時(shí),每秒自動(dòng)加一;3)一個(gè)開始按鍵,一個(gè)復(fù)位按鍵,一個(gè)暫停按鍵和一個(gè)快加按鍵;4)實(shí)現(xiàn)計(jì)數(shù)、復(fù)位、清零和快加功能;5)單片機(jī)通電后,首先初始化,然后進(jìn)行對(duì)按鍵掃描。開始鍵用來控制秒表工作的開始;暫停鍵用來暫停程序的運(yùn)行;快加鍵控制快速計(jì)數(shù)的開始,利用暫停鍵停止;復(fù)位鍵是用來對(duì)程序復(fù)位用的,當(dāng)程序出現(xiàn)死循環(huán)或想從00開始重新計(jì)時(shí),按下復(fù)位鍵可返回程序開始,重新執(zhí)行。1.2.3系統(tǒng)方案此方案采用LCD數(shù)碼管顯示測(cè)量結(jié)果。LCD數(shù)碼管顯示器由8個(gè)發(fā)光二極管中的7個(gè)長條形二極管(稱七筆段)按a、b、c、d、e、f、g順序組成八字形,另外一個(gè)點(diǎn)形的發(fā)光二極管dp放在右下方,用來顯示小數(shù)點(diǎn)。顯示時(shí)用掃描每個(gè)數(shù)碼管,同時(shí)逐一點(diǎn)亮的方法進(jìn)行顯示.實(shí)際采用電路方框圖如圖4-1所示此多點(diǎn)溫度測(cè)量電路主要由以下幾部分組成:控制器單片機(jī)AT89C51、顯示單元LED數(shù)碼管顯示器、開關(guān)選擇電路、電源電路等。單機(jī)片單機(jī)片AT89C51LED顯示器電源電路按鍵電路基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第6頁。圖1.2.3系統(tǒng)設(shè)計(jì)方框圖基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第6頁。2元器件的概述及選擇2.1單片機(jī)的選擇2.1.1AT89C51單片機(jī)介紹

本設(shè)計(jì)的最主要的元器件就是AT89C51單片機(jī)。AT89C51單片機(jī)在一塊芯片上集成了CPU,存儲(chǔ)器RAM,ROM以及輸入與輸出接口電路,這種芯片習(xí)慣上被稱為單片微型計(jì)算機(jī)。AT89C51單片機(jī)由CPU,振蕩器與時(shí)序電路,4個(gè)8位的I/O端口(P0,P1,P2,P3),串行口等組成。P0口有三個(gè)功能:1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作數(shù)據(jù)總線(如圖中的D0~D7為數(shù)據(jù)總線接口)。2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖中的A0~A7為地址總線接口)。3、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。P1口只做I/O口使用:其內(nèi)部有上拉電阻。P2口有兩個(gè)功能:1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用;圖2.1單片機(jī)89C512、做一般I/O口使用,其內(nèi)部有上拉電阻;P3口有兩個(gè)功能:除了作為I/O使用外(其內(nèi)部有上拉電阻),還有一些特殊功能,由寄存器來設(shè)置。ALE:地址鎖存控制信號(hào)PSEN:外部程序存儲(chǔ)器讀選通信號(hào)EA/VPP:訪問和序存儲(chǔ)器控制信號(hào)RST:復(fù)位信號(hào)XTAL1和XTAL2VCC:供電電壓GND:接地2.1.2AT89C51單片機(jī)的優(yōu)點(diǎn)基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第7頁。AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第7頁。2.1.3AT89C51主要特性:

·與MCS-51兼容

·4K字節(jié)可編程FLASH存儲(chǔ)器

·壽命:1000寫/擦循環(huán)

·數(shù)據(jù)保留時(shí)間:10年

·全靜態(tài)工作:0Hz-24MHz

·三級(jí)程序存儲(chǔ)器鎖定

·128×8位內(nèi)部RAM

·32可編程I/O線

·兩個(gè)16位定時(shí)器/計(jì)數(shù)器

·5個(gè)中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內(nèi)振蕩器和時(shí)鐘電路2.274LS164的介紹1.164為8位移位寄存器,其主要電特性的典型值如下:

54/74164

185mW

54/74LS16480mW

當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QA-QH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng)A、B任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。當(dāng)A、B有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0的狀態(tài)。2.引腳功能:基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第8頁。CLOCK:時(shí)鐘輸入端

CLEAR:同步清除輸入端(低電平有效)

A,B:串行數(shù)據(jù)輸入端

QA-QH:輸出端基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第8頁。

圖174LS164封裝圖

圖2

74LS164內(nèi)部邏輯圖3.極限值

電源電壓7V

輸入電壓………5.5V

工作環(huán)境溫度

54164…………-55~125℃

74164…………-0~70℃

儲(chǔ)存溫度……

-65℃~150℃

圖3真值表H-高電平L-低電平X-任意電平

↑-低到高電平跳變

QA0,QB0,QH0-規(guī)定的穩(wěn)態(tài)條件建立前的電平

QAn,QGn-時(shí)鐘最近的↑前的電平

基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第9頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第9頁。

圖4時(shí)序圖4.選擇74LS164的優(yōu)勢(shì)(1)經(jīng)典串入并出,1個(gè)I/O口就可以驅(qū)動(dòng)多個(gè)數(shù)碼管。(2)響應(yīng)快、頻率帶寬高、工作溫度適應(yīng)范圍大等等(3)節(jié)省IO口?。?)7段數(shù)碼管,7個(gè)筆畫,1個(gè)公共端正好對(duì)應(yīng)164的8個(gè)輸出口,一串164,就可以控制一串?dāng)?shù)碼管.單片機(jī)只要付出2個(gè)控制腳即可2.3兩位LED數(shù)碼管顯示其中一個(gè)兩位數(shù)碼管用來顯示數(shù)據(jù),一位用來顯示個(gè)位秒,另一位用來顯示十位秒。當(dāng)計(jì)數(shù)超過范圍時(shí)所有數(shù)碼管全部清零重新計(jì)數(shù)?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第10頁。顯示原理圖如下圖所示:基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第10頁。數(shù)碼管的優(yōu)勢(shì)如下:LED數(shù)碼管類似于洗墻燈什么的,適合戶外建筑墻壁上,如果要顯示視頻的話需要做的很大,整個(gè)建筑墻面都可以覆蓋,亮度與LED顯示屏差不多,但畫面肯定沒有顯示屏細(xì)膩的。LED顯示屏的話應(yīng)用蠻廣的,可以做室內(nèi)、半室外、室外顯示屏,亮度都很高,畫面根據(jù)他的點(diǎn)間距可以做的很細(xì)膩,但是LED顯示屏非常貴,用來做戶外廣告非常合適基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第11頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第11頁。3數(shù)字秒表硬件設(shè)計(jì)3.1單片機(jī)硬件設(shè)計(jì)3.1.1數(shù)字秒表電路設(shè)計(jì)數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點(diǎn),在計(jì)時(shí)中廣泛使用。本設(shè)計(jì)用單片機(jī)組成數(shù)字電子秒表,力求結(jié)構(gòu)簡單、精度高為目標(biāo)。設(shè)計(jì)中包括硬件電路的設(shè)計(jì)和系統(tǒng)程序的設(shè)計(jì)。其硬件電路主要有主控制器,計(jì)時(shí)與顯示電路和回零、啟動(dòng)和快加電路等。主控制器采用單片機(jī)8051,顯示電路采用兩位共陰極LED數(shù)碼管顯示計(jì)時(shí)時(shí)間。本設(shè)計(jì)利用8051單片機(jī)的定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,使其能精確計(jì)時(shí)。利用中斷系統(tǒng)使其能實(shí)現(xiàn)開始和復(fù)位的功能。P0口輸出段碼數(shù)據(jù),74LS164用作驅(qū)動(dòng)輸出,P1.1、P1.2、P3.2、P3.3口接四個(gè)按鈕開關(guān),分別實(shí)現(xiàn)暫停、快加、開始和復(fù)位功能。電路原理圖設(shè)計(jì)最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照?qǐng)D3進(jìn)行設(shè)計(jì)。主電路見附錄??刂崎_關(guān)控制開關(guān)單片機(jī)AT89C51位驅(qū)動(dòng)兩位數(shù)碼管圖3.1.1數(shù)字秒表硬件電路基本原理圖基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第12頁。根據(jù)要求知道秒表設(shè)計(jì)主要實(shí)現(xiàn)的功能是計(jì)時(shí)和顯示。本設(shè)計(jì)中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元11H和12H中。其中12H存放低位數(shù)據(jù),11H存放高位數(shù)據(jù),每一地址單元內(nèi)均為十進(jìn)制BCD碼。由于采用軟件動(dòng)態(tài)掃描實(shí)現(xiàn)數(shù)據(jù)顯示功能,顯示用十進(jìn)制BCD碼數(shù)據(jù)的對(duì)應(yīng)段碼存放在ROM表中。顯示時(shí),分別取出11H、12H地址中的數(shù)據(jù),然后查得對(duì)應(yīng)的顯示用段碼,并從P0口輸出,P2口將對(duì)應(yīng)的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。采用了匯編語言編寫,匯編語言由于采用了助記符號(hào)來編寫程序,比用機(jī)器語言的二進(jìn)制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點(diǎn)是用符號(hào)代替了機(jī)器指令代碼,而且助記符與指令代碼一一對(duì)應(yīng),基本保留了機(jī)器語言的靈活性?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第12頁。3.1.2電源電路電源電路是系統(tǒng)的最基本部分,任何部分都離不開電源部分,單片機(jī)系統(tǒng)也不例外,而且我們應(yīng)該高度重視電源部分,不能因?yàn)殡娫床糠蛛娐繁容^簡單而有所疏忽,其實(shí)有一半的故障或制作失敗都和電源有關(guān),電源部分做好才能保證電路的正常工作。3.1.3晶振電路的選擇與設(shè)計(jì)MCS-51單片機(jī)內(nèi)部的振蕩電路是一個(gè)增益反相放大器,引線XYAL1和XTAL2分別為反相放大器的輸入和內(nèi)部時(shí)鐘電路輸入和來自反相放大器的輸出,該反相放大器可以配置為片內(nèi)振蕩器。單片機(jī)內(nèi)部雖然有震蕩電路,但要形成時(shí)鐘,外部還需要附加電路石晶振蕩和陶瓷振蕩均可采用,有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,單必須保證脈沖的高低電平要求的寬度。晶振電路如圖1、2所示。圖1內(nèi)部晶振電路圖2外部晶振電路單片機(jī)的時(shí)鐘產(chǎn)生方式有兩種,分別為:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。利用其內(nèi)部的震蕩電路XTAL1和XTAL2外接定時(shí)元件,內(nèi)部震蕩電路便產(chǎn)生自激震蕩,用示波器可以觀察到XTAL2的輸出時(shí)鐘信號(hào)。在MCS-52中通常用內(nèi)部時(shí)鐘方式,也就是在XTAL1和XTAL2之間連接晶體振蕩器與電容構(gòu)成穩(wěn)定的自激震蕩器?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第13頁。晶體和電容決定了單片機(jī)的工作精度為1微秒,晶體可在1.2-12MHZ之間選擇。MCS-51單片機(jī)在通常情況下,使用震蕩頻率為6MHZ的石英晶體,而12MHZ頻率主要是在高速串行通信情況才使用,在這里我們用的是12MHZ的石英晶體。對(duì)電容無嚴(yán)格要求,但它在取值對(duì)震蕩頻率的輸出的穩(wěn)定性、大小及震蕩電路起震蕩速度有點(diǎn)影響。C1和C2可在10-100pF之間取值,一般情況下取30pF。外部時(shí)鐘方式是把外部震蕩信號(hào)源直接接入XTAL1或XTAL2。由于XTAL2的邏輯電平不是TTL,所以還要接上拉電阻?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第13頁。3.1.4復(fù)位電路的選擇與設(shè)計(jì)單片機(jī)小系統(tǒng)采用上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式實(shí)現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。手動(dòng)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開關(guān)操作使單片機(jī)復(fù)位。單片機(jī)要完成復(fù)位,必須向復(fù)位端輸出并持續(xù)兩個(gè)機(jī)器周期以上的高電平,從而實(shí)現(xiàn)復(fù)位操作。上電自動(dòng)復(fù)位通過電容C1充電來實(shí)現(xiàn)和限流電阻R2。手動(dòng)按鍵復(fù)位是通過按鍵將電阻R1與VCC接通來實(shí)現(xiàn)。R1作為上拉電阻,當(dāng)復(fù)位鍵按下是產(chǎn)生一個(gè)觸發(fā)脈沖,進(jìn)行復(fù)位操作。在MCS-51中,復(fù)位電路的外部邏輯電路由通過二極管的單向?qū)ㄐ院褪┟芴赜|發(fā)器組成(圖3),最常見的幾種方式的復(fù)位電路如圖(圖4、5、6),它能有效的實(shí)現(xiàn)上電復(fù)位和手動(dòng)復(fù)位。RST引腳是復(fù)位信號(hào)輸入端,復(fù)位信號(hào)為高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)振蕩周期以上才能完成復(fù)位操作,若使用6MHz晶振,則需持續(xù)4μs以上才能完成復(fù)位操作。如圖中在通電瞬間,由于RC的充電過程,在RST端出現(xiàn)一定寬度的正脈沖,只要該正脈沖保持10ms以上,就能使單片機(jī)自動(dòng)復(fù)位,在6MHz時(shí)鐘時(shí),通常CR取22μF,R1取200Ω,R2取1KΩ,這時(shí)能可靠的上電復(fù)位和手動(dòng)復(fù)位。圖3內(nèi)部復(fù)位電路邏輯圖圖4上拉復(fù)位電路基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第14頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第14頁。圖5按鍵電平復(fù)位電路圖6按鍵脈沖復(fù)位電路3.2系統(tǒng)總電路的設(shè)計(jì)系統(tǒng)總電路由以上設(shè)計(jì)的顯示電路,時(shí)鐘電路,按鍵電路和復(fù)位電路組成,只要將單片機(jī)與以上各部分電路合理的連接就組成了系統(tǒng)總電路。系統(tǒng)總電路圖附錄B所示。8051單片機(jī)為主電路的核心部分,各個(gè)電路均和單片機(jī)相連接,由單片機(jī)統(tǒng)籌和協(xié)調(diào)各個(gè)電路的運(yùn)行工作。8051單片機(jī)提供了XTAL1和XTAL2兩個(gè)專用引腳接晶振電路,因此只要將晶振電路接到兩個(gè)專用引腳即可為單片機(jī)提供時(shí)鐘脈沖,但在焊接晶振電路時(shí)要盡量使晶振電路靠近單片機(jī),這樣可以為單片機(jī)提供穩(wěn)定的始終脈沖。復(fù)位電路同晶振電路,單片機(jī)設(shè)有一個(gè)專用的硬件復(fù)位接口,并設(shè)置為高電平有效。按鍵電路與單片機(jī)的端口連接可以由用戶自己設(shè)定,本設(shè)計(jì)中軟件復(fù)位鍵和查看鍵分別接單片機(jī)的P1.1和P2.5,均設(shè)為低電平有效。而另外的開始鍵和暫停鍵兩鍵使用了外部中斷,所以需要連接到單片機(jī)的特殊接口P3.3和P3.2,這兩個(gè)I/O口的第二功能分別為單片機(jī)的外部中斷1端口和外部中斷0端口。同樣設(shè)置為位低電平有效。顯示電路由兩位數(shù)碼管組成,采用動(dòng)態(tài)顯示方式,因此有8位段控制端和5位位控制端,八位段控制接P0口,P0.0~P0.7分別控制數(shù)碼顯示管的a、b、c、d、e、f、g、dp顯示,8051的P0口沒有集成上拉電阻,高電平的驅(qū)動(dòng)能力很弱,所以需要接上拉電阻來提高P0的高電平驅(qū)動(dòng)能力。五位位控制則由低位到高位分別接到P2.0~P2.4口,NPN三極管9013做為位控制端的開關(guān),當(dāng)P2.0~P2.4端口任意一個(gè)端口為高電平時(shí),與其相對(duì)應(yīng)的三極管就導(dǎo)通,對(duì)應(yīng)的數(shù)碼管導(dǎo)通顯示。通過以上設(shè)計(jì)已經(jīng)將各部分電路與單片機(jī)有機(jī)的結(jié)合到一起,硬件部分的設(shè)計(jì)以大功告成,剩下的部分就是對(duì)單片機(jī)的編程,使單片機(jī)按程序運(yùn)行,實(shí)現(xiàn)數(shù)字電子秒表的全部功能。4軟件設(shè)計(jì)4.1程序設(shè)計(jì)思想基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第15頁。本設(shè)計(jì)采用了匯編語言編寫,匯編語言由于采用了助記符號(hào)來編寫程序,比用機(jī)器語言的二進(jìn)制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點(diǎn)是用符號(hào)代替了機(jī)器指令代碼,而且助記符與指令代碼一一對(duì)應(yīng),基本保留了機(jī)器語言的靈活性。使用匯編語言能面向機(jī)器并較好地發(fā)揮機(jī)器的特性,得到質(zhì)量較高的程序。基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第15頁。模塊化結(jié)構(gòu)程序的設(shè)計(jì),可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設(shè)計(jì)。4.1.1程序設(shè)計(jì)流程圖本系統(tǒng)程序主要模塊由主程序、定時(shí)中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個(gè)程序的主體??梢詫?duì)各個(gè)中斷程序進(jìn)行調(diào)用。協(xié)調(diào)各個(gè)子程序之間的聯(lián)系。系統(tǒng)(上電)復(fù)位后,進(jìn)入主程序,主程序流程圖如圖10所示,部分子程序流程圖由圖11、12、13、14、15、16給出。首先對(duì)系統(tǒng)進(jìn)行初始化,包括設(shè)置各入口地址、中斷的開啟、對(duì)各個(gè)數(shù)據(jù)緩存區(qū)清“0”、賦定時(shí)器初值,初始化完畢后,就進(jìn)入數(shù)碼管顯示程序。在主程序中還進(jìn)行了賦寄存區(qū)的初始值、設(shè)置定時(shí)器初值以及開啟外部中斷等操作,當(dāng)定時(shí)時(shí)間到后就轉(zhuǎn)去執(zhí)行定時(shí)中斷程序。當(dāng)外部中斷有請(qǐng)求則去執(zhí)行外部中斷服務(wù)。并在執(zhí)行完后返回主程序。基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第16頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第16頁。開始程序初始化開始程序初始化開各中斷關(guān)定時(shí)器0,1調(diào)用顯示子程序P1.0=?1P1.0=?0P1.2=?1關(guān)定時(shí)器0,1P1.2=?0是否是是是否否否圖11加一子程序流程圖R1=R1+114H=R1R1=?#0ahhhhhhh?#AHR2=?#0ahR1=#00HR2=R2+1R2=#00H結(jié)束否否是是圖10主程序流程圖基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第17頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第17頁。中斷返回調(diào)用數(shù)碼顯示子程序調(diào)用加一子程序R3-1=?0置初值定時(shí)器T0入口地址圖14定時(shí)器T0子程序INT0入口地址開定時(shí)器0中斷返回INT1入口地址中斷返回調(diào)用顯示子程序中斷返回調(diào)用數(shù)碼顯示子程序調(diào)用加一子程序R3-1=?0置初值定時(shí)器T0入口地址圖14定時(shí)器T0子程序INT0入口地址開定時(shí)器0中斷返回INT1入口地址中斷返回調(diào)用顯示子程序14H=#00H13H=#00HR1=#00HR2=#00H圖13INT1中斷子程序圖12INT0中斷子程序是否R3=#20H重置循環(huán)次數(shù)基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第18頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第18頁。中斷返回定時(shí)器T1入口地址調(diào)用數(shù)碼顯示子程序中斷返回定時(shí)器T1入口地址調(diào)用數(shù)碼顯示子程序調(diào)用加一子程序置初值P1.0=?0關(guān)定時(shí)器T0開定時(shí)器T112H=R111H=R2調(diào)用暫停鍵子程序圖16定時(shí)器T1子程序R7=#02H置數(shù)碼管個(gè)數(shù)R0=14H置首地址R6=#08H置數(shù)碼管個(gè)數(shù)A=@R0A=@A+dptrA循環(huán)左移P3.1清零P3.0=CP3.1置位R6-1=?0R7-1=?0R0=R0-1返回圖15數(shù)碼顯示流程圖否是否是是否4.1.2數(shù)字秒表主程序設(shè)計(jì)ORG0000HAJMPMAIN;主程序入口地址ORG0003HAJMPZHONGDUAN0;中斷0入口地址ORG000BHAJMPYANSHI;定時(shí)器T0入口地址ORG0013HAJMPZHONGDUAN1;中斷1入口地址ORG001BHAJMPDINGSHI;中斷1入口地址ORG0030H;主程序入口地址;主程序基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第19頁。MAIN:MOVTCON,#05H主程序開始外部中斷跳變基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第19頁。MOVTMOD,#11H;定時(shí)器0、1工作模式1下MOVIE,#8FH;中斷允許MOVDPTR,#TAB;指向數(shù)據(jù)表首地址MOV12H,#00H;初始化設(shè)置MOV11H,#00HMOVR1,#00HMOVR2,#00HMOVR3,#40;循環(huán)40次MOVTL0,#58H;定時(shí)25msMOVTH0,#9EHMOVTL1,#0F0H;定時(shí)10msMOVTH1,#0D8HCLRTR0;關(guān)斷定時(shí)器CLRTR1HERE:JBP1.0,HERE;位掃描,為0順序執(zhí)行SHOW:CLRTR1CLRTR0ACALLXIANSHIKUAIJIA:JBP1.2,KUAIJIA;等待快加信號(hào)為0時(shí)快加CLRTR0SETBTR1HERE1:JNBP1.2,HERE1AJMPHERE;外部中斷0子程序,計(jì)時(shí)按鍵K1子程序ZHONGDUAN0:SETBTR0;正常計(jì)時(shí)1s延時(shí)RETI;外部中斷1子程序,復(fù)位鍵K2子程序ZHONGDUAN1:CLRTR0CLRTR1MOV12H,#00HMOV11H,#00HACALLXIANSHI;調(diào)用顯示子程序MOVR1,#00H基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第20頁。MOVR2,#00h基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第20頁。RETI;加一子程序JIA1:INCR1;加一子程序CJNER1,#0AH,LOOP;判斷低位是否有溢出MOVR1,#00HINCR2CJNER2,#0AH,LOOPMOVR2,#00HLOOP:MOV12H,R1;重新加載計(jì)數(shù)值MOV11H,R2RET;顯示子程序XIANSHI:MOVR7,#02H;2個(gè)數(shù)碼管顯示子程序MOVR0,#12HLOOP1:MOVR6,#08H;8位2進(jìn)制數(shù)MOVA,@R0MOVCA,@A+DPTRLOOP2:RLCA;循環(huán)左移帶進(jìn)位CLRP3.1MOVP3.0,CSETBP3.1DJNZR6,LOOP2;判斷數(shù)據(jù)是否掃描完成DECR0DJNZR7,LOOP1;判斷2位是否掃描完成RET;定時(shí)器T0子程序YANSHI:MOVTL0,#58H;定時(shí)器T0賦初值MOVTH0,#9EHDJNZR3,LOOP7;實(shí)現(xiàn)1s延時(shí)ACALLJIA1;調(diào)用加一子程序基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第21頁。ACALLXIANSHI;調(diào)用顯示子程序基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第21頁。MOVR3,#40;循環(huán)次數(shù)重加載LOOP7:RETI;定時(shí)器T1子程序DINGSHI:MOVTL1,#0F0H;定時(shí)器T1子程序MOVTH1,#0D8HCLRTR0SETBTR1;實(shí)現(xiàn)10ms延時(shí)MOV12H,R1MOV11H,R2JNBP1.0,SHOW;實(shí)現(xiàn)快加功能ACALLJIA1;子程序調(diào)用ACALLXIANSHIRETITAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;共陰接法數(shù)碼管地址表END基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第22頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第22頁。4.2數(shù)字秒表仿真圖基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第23頁?;趩纹瑱C(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第23頁。5數(shù)字秒表的系統(tǒng)調(diào)試5.1測(cè)試儀器DS5102CA100MHZ雙信道數(shù)字示波器一臺(tái)DF17351SB5AB直流電源一臺(tái)奔四3.0計(jì)算機(jī)一臺(tái)萬用表一塊5.2軟件調(diào)試軟件調(diào)試的任務(wù)是利用軟件的開發(fā)工具進(jìn)行仿真調(diào)試,發(fā)現(xiàn)和糾正程序錯(cuò)誤,同時(shí)也能發(fā)現(xiàn)硬件故障。程序的調(diào)試應(yīng)該一個(gè)模塊接一個(gè)模塊地進(jìn)行,首先單獨(dú)調(diào)試各功能子程序,檢查程序是否能夠?qū)崿F(xiàn)預(yù)期的功能,接口電路的控制是否正確等;最后是逐步將各個(gè)子程序連接起來總調(diào)試。在軟件編寫和調(diào)試過程中應(yīng)注意一下幾點(diǎn):一、子程序的名稱標(biāo)號(hào)一定不要重復(fù),在整個(gè)程序中不允許有兩個(gè)名字相同的子程序;二、語句中間的標(biāo)點(diǎn)符號(hào)須在英文輸入環(huán)境下,中文環(huán)境下的標(biāo)點(diǎn)KeiiluVsion3編譯軟件不識(shí)別,會(huì)出現(xiàn)一些不易查找的問題,這一點(diǎn)需特別注意;三、當(dāng)子程序間有值傳遞時(shí),必須注意實(shí)參和形參的類型;四、程序要有盡量詳細(xì)的注釋,以便問題的查找和增強(qiáng)程序的易讀性。我首先將編好的程序在KeiiluVsion3環(huán)境之中進(jìn)行編譯,第一次未通過,經(jīng)過錯(cuò)誤提示我發(fā)現(xiàn)是幾處標(biāo)點(diǎn)的格式為中文格式導(dǎo)致編譯軟件不能識(shí)別,還有一處丟掉了一個(gè)分號(hào),改正之后就運(yùn)行正常,最終生產(chǎn)了HEX文件。程序編寫完畢,就可開始系統(tǒng)的仿真調(diào)試,應(yīng)該先采取軟件仿真,確保整個(gè)程序無語法錯(cuò)誤,排除邏輯錯(cuò)誤及其他錯(cuò)誤,然后開始硬件調(diào)試。軟件仿真主要采用Keil和Proteus相結(jié)合的方式。在Proteus的庫中將所需的元件調(diào)出按照硬件設(shè)計(jì)原理圖將其連接好,將已生成的HEX文件加載入AT89C51之中,運(yùn)行之后顯示出了秒表的功能。5.3硬件測(cè)試先分別調(diào)試各功能單元模塊,調(diào)通后再進(jìn)行整機(jī)調(diào)試,以提高調(diào)試效率。調(diào)試過程如下:基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第24頁。(1)AT89C51這部分電路是系統(tǒng)的主要部分,接上電源后先用萬用表測(cè)量單片機(jī)的20引腳是否為低電平,再測(cè)量40引腳和31引腳是否為高電平,正常后用示波器測(cè)量30引腳,看是否輸出2M的方波信號(hào),正常后說明單片機(jī)已起振。基于單片機(jī)數(shù)字秒表的設(shè)計(jì)全文共28頁,當(dāng)前為第24頁。(2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論