單片機原理及系統(tǒng)課程設(shè)計報告基于單片機的數(shù)字秒表系統(tǒng)設(shè)計_第1頁
單片機原理及系統(tǒng)課程設(shè)計報告基于單片機的數(shù)字秒表系統(tǒng)設(shè)計_第2頁
單片機原理及系統(tǒng)課程設(shè)計報告基于單片機的數(shù)字秒表系統(tǒng)設(shè)計_第3頁
單片機原理及系統(tǒng)課程設(shè)計報告基于單片機的數(shù)字秒表系統(tǒng)設(shè)計_第4頁
單片機原理及系統(tǒng)課程設(shè)計報告基于單片機的數(shù)字秒表系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 基于單片機的數(shù)字秒表系統(tǒng)設(shè)計 1.引言 在科技高度發(fā)展的今天,集成電路和計算機應(yīng)用得到了高速發(fā)展。尤其是計算機應(yīng)用的發(fā)展,它在人們?nèi)粘I钪幸呀?jīng)嶄露頭角。大多數(shù)電子產(chǎn)品多是由計算機電路組成,如:手機、mp3等。而且將來的不久它們的身影將會更頻繁的出現(xiàn)在我們身邊,各種家用電器多會實現(xiàn)微電腦技術(shù)。電腦各部分在工作時多是以時間為基準(zhǔn)的。本文就是基于計算機電路的時鐘脈沖信號、狀態(tài)控制等原理設(shè)計出來的數(shù)字秒表,秒表在很多領(lǐng)域充當(dāng)一個很重要的角色。在各種比賽中對秒表的精確度要求更高,尤其是一些科學(xué)實驗,它們對時間精確度達到了幾納秒的要求。 本設(shè)計是設(shè)計一個單片機控制的數(shù)字電子秒表本秒表采用8051為中心

2、器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、電源電路、led數(shù)碼管以及外部中斷電路來設(shè)計計時器。將軟、硬件有機地結(jié)合起來,使得系統(tǒng)能夠?qū)崿F(xiàn)兩位led顯示,顯示時間為0099秒,每秒自動加1,能正確地進行計時,且具有快加功能。其軟件系統(tǒng)采用匯編語言編寫程序,包括顯示程序,定時中斷服務(wù),快加程序,外部中斷服務(wù)程序,延時程序等,并在keil下調(diào)試通過,硬件電路通過proteus模擬連接,并與軟件相結(jié)合,調(diào)試修改,使達到預(yù)期的目的。 2.設(shè)計方案及原理2.1該數(shù)字秒表所要實現(xiàn)的功能。 設(shè)計一個秒表,按“開始”按鍵,開始計數(shù),數(shù)碼管顯示從00每秒自動加一;按“復(fù)位”按鍵,系統(tǒng)清零,數(shù)碼管顯

3、示00;按“暫停”按鍵,系統(tǒng)暫停計數(shù),數(shù)碼管顯示當(dāng)前的計數(shù);按“快加”按鍵,系統(tǒng)每10ms快速加一,即數(shù)碼管顯示在原先的計數(shù)上快速加一。 (1) 使用兩位數(shù)碼管顯示,顯示時間0099秒; (2)正常計數(shù)時,每秒自動加一; (3) 一個開始按鍵,一個復(fù)位按鍵,一個暫停按鍵和一個快加按鍵; (4) 實現(xiàn)計數(shù)、復(fù)位、清零和快加功能; (5) 單片機通電后,首先初始化,然后進行對按鍵掃描。開始鍵用來控制秒表工作的開始;暫停鍵用來暫停程序的運行;快加鍵控制快速計數(shù)的開始,利用暫停鍵停止;復(fù)位鍵是用來對程序復(fù)位用的,當(dāng)程序出現(xiàn)死循環(huán)或想從00開始重新計時,按下復(fù)位鍵可返回程序開始,重新執(zhí)行。2.2該設(shè)計要

4、求進行計時并在數(shù)碼管上顯示時間。 (1)引腳應(yīng)用說明。 1)利用mcs系列單片機微機仿真實驗系統(tǒng)中的芯片8051中的p3.2管腳作為外部中斷0的入口地址,并實現(xiàn)“開始”按鍵的功能(如圖2.1); 2)將p3.3作為外部中斷1的入口地址,并實現(xiàn)“清零”按鍵的功能; 3)使用p0口作為段碼數(shù)據(jù)輸出控制口,74ls164用作驅(qū)動輸出控制,p1.1、p1.2口分別實現(xiàn)暫停、快加的功能。 圖2.1 mcs51單片機引腳圖 (2)顯示電路。 1)顯示電路由兩位共陰極數(shù)碼管組成。使用定時器t0實現(xiàn)10ms的定時,進行快加延時;當(dāng)想實現(xiàn)正常計數(shù)時的1s延時,只需要實現(xiàn)40次25ms的定時器t1控制延時就可以實

5、現(xiàn)。其中“開始”按鍵當(dāng)開關(guān)由1撥向0時開始計時;“清零”按鍵當(dāng)開關(guān)由1撥向0時數(shù)碼管清零,此時若再撥“開始”按鍵則又可重新開始計時。 2)初始狀態(tài)下計時器顯示00,當(dāng)按下開始鍵時,外部中斷int0向cpu發(fā)出中斷請求,cpu轉(zhuǎn)去執(zhí)行外部中斷0服務(wù)程序,即開啟定時器t0,并且進行100次計數(shù),當(dāng)?shù)?00次時,即延時1s時,產(chǎn)生一個中斷信號,向cpu發(fā)出請求,執(zhí)行計數(shù)器加一且送往數(shù)碼管顯示。在計時過程中,只要按下暫停鍵,即根據(jù)p1.0口電平變化去執(zhí)行控制程序,關(guān)斷定時器t0和t1,調(diào)用顯示子程序,實現(xiàn)暫停功能。在按下暫停鍵時,將此時的計時時間存入中間緩存區(qū),當(dāng)再次按下開始鍵時,則講中間緩存區(qū)的數(shù)據(jù)

6、轉(zhuǎn)入最終緩存區(qū)。3)計時采用定時器t1中斷完成,定時溢出中斷周期為25ms,并同時進行40次計數(shù),當(dāng)有溢出時,會產(chǎn)生中斷信號,向cpu發(fā)出中斷請求,每發(fā)出一次中斷請求就對計數(shù)單元低位進行加一,達到10次就對高位進行加一,送數(shù)碼管顯示,依此類推,直到99秒后再加一后返回00,重新開始。數(shù)碼管顯示電路采用動態(tài)掃描的方式,由于數(shù)碼管采用共陰極的接法,當(dāng)位選信號為高電平時,該位選通,p0口中的數(shù)據(jù)送到該段上顯示,節(jié)省接口資源,又能實時動態(tài)的性能。4)按鍵的處理。這四個鍵可以采用中斷的方法,也可以采用掃描的方法來識別。復(fù)位鍵和開始鍵功能在于使程序從頭執(zhí)行,對于時間的要求即單片機上電初始化時的值00;而停

7、止鍵則要用于對時間的鎖定,需要比較準(zhǔn)確的控制;而對于快加鍵,當(dāng)檢測到有快加信號時,則啟動定時器t0, 完成一個周期定時時產(chǎn)生一個溢出中斷請求,向cpu發(fā)送請求,每發(fā)一次就對計數(shù)單元低位進行加一操作,達到10次就對高位進行加一操作,送數(shù)碼管顯示,依次循環(huán);同時檢測是否有暫停信號,有暫停信號時,跳出快加程序,執(zhí)行顯示子程序。因此可以對暫停和快加按鍵采取掃描的方式,而對開始和復(fù)位鍵采用外部中斷的方式。3.硬件設(shè)計 3.1數(shù)字秒表硬件設(shè)計的基本要求 (1)數(shù)字電子秒表具有顯示直觀、讀取方便、精度高等優(yōu)點,在計時中廣泛使用。本設(shè)計用單片機組成數(shù)字電子秒表,力求結(jié)構(gòu)簡單、精度高為目標(biāo)。 (2)設(shè)計中包括硬

8、件電路的設(shè)計和系統(tǒng)程序的設(shè)計。其硬件電路主要有主控制器,計時與顯示電路和回零、啟動和快加電路等。主控制器采用單片機8051,顯示電路采用兩位共陰極led數(shù)碼管顯示計時時間。 (3)本設(shè)計利用8051單片機的定時器/計數(shù)器定時和記數(shù)的原理,使其能精確計時。利用中斷系統(tǒng)使其能實現(xiàn)開始和復(fù)位的功能。p0口輸出段碼數(shù)據(jù),74ls164用作驅(qū)動輸出,p1.1、p1.2、p3.2、p3.3口接四個按鈕開關(guān),分別實現(xiàn)暫停、快加、開始和復(fù)位功能。電路原理圖設(shè)計最基本的要求是正確性,其次是布局合理,最后在正確性和布局合理的前提下力求美觀。硬件電路圖按照圖3.1進行設(shè)計。主電路見附錄。 圖3.1 數(shù)字秒表硬件電路

9、基本原理圖 根據(jù)要求知道秒表設(shè)計主要實現(xiàn)的功能是計時和顯示。本設(shè)計中,數(shù)碼管顯示的數(shù)據(jù)存放在內(nèi)存單元11h和12h中。其中12h存放低位數(shù)據(jù),11h存放高位數(shù)據(jù),每一地址單元內(nèi)均為十進制bcd碼。由于采用軟件動態(tài)掃描實現(xiàn)數(shù)據(jù)顯示功能,顯示用十進制bcd碼數(shù)據(jù)的對應(yīng)段碼存放在rom表中。顯示時,分別取出11h、12h地址中的數(shù)據(jù),然后查得對應(yīng)的顯示用段碼,并從p0口輸出,p2口將對應(yīng)的數(shù)碼管選中供電,就能顯示該地址單元的數(shù)據(jù)值。采用了匯編語言編寫,匯編語言由于采用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且

10、助記符與指令代碼一一對應(yīng),基本保留了機器語言的靈活性。3.2 電源電路電源電路是系統(tǒng)的最基本部分,任何部分都離不開電源部分,單片機系統(tǒng)也不例外,而且我們應(yīng)該高度重視電源部分,不能因為電源部分電路比較簡單而有所疏忽,其實有一半的故障或制作失敗都和電源有關(guān),電源部分做好才能保證電路的正常工作。3.3 單片機晶振電路mcs-51單片機內(nèi)部的振蕩電路是一個增益反相放大器,引線xyal1和xtal2分別為反相放大器的輸入和內(nèi)部時鐘電路輸入和來自反相放大器的輸出,該反相放大器可以配置為片內(nèi)振蕩器。單片機內(nèi)部雖然有震蕩電路,但要形成時鐘,外部還需要附加電路石晶振蕩和陶瓷振蕩均可采用,有余輸入至內(nèi)部時鐘信號要

11、通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,單必須保證脈沖的高低電平要求的寬度。晶振電路如圖3.2、圖3.3所示。 圖3.2內(nèi)部晶振電路 圖3.3外部晶振電路單片機的時鐘產(chǎn)生方式有兩種,分別為:內(nèi)部時鐘方式和外部時鐘方式。利用其內(nèi)部的震蕩電路xtal1和xtal2外接定時元件,內(nèi)部震蕩電路便產(chǎn)生自激震蕩,用示波器可以觀察到xtal2的輸出時鐘信號。在mcs-52中通常用內(nèi)部時鐘方式,也就是在xtal1和xtal2之間連接晶體振蕩器與電容構(gòu)成穩(wěn)定的自激震蕩器。晶體和電容決定了單片機的工作精度為1微秒,晶體可在1.2-12mhz之間選擇。mcs-51單片機在通常情況下,使用震蕩頻率為

12、6mhz的石英晶體,而12mhz頻率主要是在高速串行通信情況才使用,在這里我們用的是12mhz的石英晶體。對電容無嚴(yán)格要求,但它在取值對震蕩頻率的輸出的穩(wěn)定性、大小及震蕩電路起震蕩速度有點影響。c1和c2可在10-100pf之間取值,一般情況下取30pf。外部時鐘方式是把外部震蕩信號源直接接入xtal1或xtal2。由于xtal2的邏輯電平不是ttl,所以還要接上拉電阻。3.4 單片機復(fù)位電路 (1)該單片機系統(tǒng)采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機運行期間,如果發(fā)生死機,用按鈕開關(guān)操作使單片

13、機復(fù)位。單片機要完成復(fù)位,必須向復(fù)位端輸出并持續(xù)兩個機器周期以上的高電平,從而實現(xiàn)復(fù)位操作。上電自動復(fù)位通過電容c1充電來實現(xiàn)和限流電阻r2。手動按鍵復(fù)位是通過按鍵將電阻r1與vcc接通來實現(xiàn)。r1作為上拉電阻,當(dāng)復(fù)位鍵按下是產(chǎn)生一個觸發(fā)脈沖,進行復(fù)位操作。 (2)在mcs51中,復(fù)位電路的外部邏輯電路由通過二極管的單向?qū)ㄐ院褪┟芴赜|發(fā)器組成(圖3.4),最常見的幾種方式的復(fù)位電路如圖(圖3.5、3.6、3.7),它能有效的實現(xiàn)上電復(fù)位和手動復(fù)位。rst引腳是復(fù)位信號輸入端,復(fù)位信號為高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期以上才能完成復(fù)位操作,若使用6mhz晶振,則需持續(xù)4s以上才能完成

14、復(fù)位操作。如圖中在通電瞬間,由于rc的充電過程,在 rst端出現(xiàn)一定寬度的正脈沖,只要該正脈沖保持10ms以上,就能使單片機自動復(fù)位,在6mhz時鐘時,通常cr取22f,r1取200,r2取1k,這時能可靠的上電復(fù)位和手動復(fù)位。 圖3.4內(nèi)部復(fù)位電路邏輯圖 圖3.5上拉復(fù)位電路 圖3.6 按鍵電平復(fù)位電路 圖3.7 按鍵脈沖復(fù)位電路4.軟件設(shè)計4.1設(shè)計思想 本設(shè)計采用了匯編語言編寫,匯編語言由于采用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼一一對應(yīng),基本保留了機器語言的靈活性。使用匯編

15、語言能面向機器并較好地發(fā)揮機器的特性,得到質(zhì)量較高的程序。模塊化結(jié)構(gòu)程序的設(shè)計,可以使系統(tǒng)軟件便于調(diào)試與優(yōu)化,也使其他人更好地理解和閱讀系統(tǒng)的程序設(shè)計。4.2主程序設(shè)計本系統(tǒng)程序主要模塊由主程序、定時中斷服務(wù)程序、外部中斷0服務(wù)程序和外部中斷1服務(wù)程序組成。其中主程序是整個程序的主體??梢詫Ω鱾€中斷程序進行調(diào)用。協(xié)調(diào)各個子程序之間的聯(lián)系。系統(tǒng)(上電)復(fù)位后,進入主程序,主程序流程圖如圖4.1所示,部分子程序流程圖由圖4.2、4.3、4.4、4.5、4.6、4.7給出。首先對系統(tǒng)進行初始化,包括設(shè)置各入口地址、中斷的開啟、對各個數(shù)據(jù)緩存區(qū)清“0”、賦定時器初值,初始化完畢后,就進入數(shù)碼管顯示程序

16、。在主程序中還進行了賦寄存區(qū)的初始值、設(shè)置定時器初值以及開啟外部中斷等操作,當(dāng)定時時間到后就轉(zhuǎn)去執(zhí)行定時中斷程序。當(dāng)外部中斷有請求則去執(zhí)行外部中斷服務(wù)程序。并在執(zhí)行完后返回主程序。 圖4.1 主程序流程圖 圖4.2 加一子程序流程圖 圖4.3 int0中斷子程序 圖4.4 int1中斷子程序 圖4.5 定時器t0子程序 圖4.6 數(shù)碼顯示流程圖 圖4.7 定時器t1子程序5. 仿真結(jié)果仿真結(jié)果如圖5.1和附錄2所示。 圖5.1 仿真結(jié)果圖6.總結(jié)在本次的數(shù)字秒表設(shè)計過程中,我獲益很多,使我對proteus軟件的使用更加熟悉,使理論知識系統(tǒng)化、實用化,系統(tǒng)地掌握微機應(yīng)用系統(tǒng)的一般設(shè)計方法,培養(yǎng)較

17、強的編程能力、開發(fā)能力。在設(shè)計的過程中我遇到了很多的問題,如在調(diào)試程序的過程中,無法找到程序中的六個錯誤;在電路的仿真中,由于芯片的錯誤選擇致使仿真一直得不到結(jié)果;在流程圖的繪制中對于文本框的插入遇到困難等等。諸多問題都是在老師和同學(xué)的幫助下得到解決,在此向他們表示感謝。本次設(shè)計使我知道了在學(xué)習(xí)中應(yīng)該具有一絲不茍的精神和嚴(yán)謹(jǐn)?shù)钠焚|(zhì)。本系統(tǒng)也存在許多不足和可以改進的地方,如缺少對多次計時時間進行記錄的功能、其存儲空間小、顯示位數(shù)少、不能對更高位的數(shù)字進行計數(shù)等等。其應(yīng)在單片機的內(nèi)部存儲區(qū)多設(shè)置一些存儲空間,用來存儲多次計時時間,并且增加數(shù)碼管的數(shù)量,使其具有更高位的顯示功能,并在程序中編入對多次

18、計時時間的調(diào)用顯示。雖然存在不足,但本設(shè)計的數(shù)字電子秒表仍具有它的實用性,它可以實現(xiàn)多數(shù)場合的應(yīng)用,其精度高、設(shè)計簡單、原理清楚、使用方便、體型小巧、易于實現(xiàn)工廠生產(chǎn)、顯示直觀、讀取方便、在計時中得到了廣泛的使用。7.參考文獻1 李華,王思明,張金敏.單片機原理及應(yīng)用m.蘭州:蘭州大學(xué)出版社,2001.5.2 吳蓉,梁龍學(xué),崔用明.數(shù)字電子技術(shù)m.蘭州:蘭州大學(xué)出版社,2006.7.3 顧濱,李勛.單片微計算機原理開發(fā)與應(yīng)用m.北京:高等教育出版社,2002 4 丁向榮,賈萍.單片機應(yīng)用系統(tǒng)與開發(fā)技術(shù)m.北京:清華大學(xué)出版社 2009.95 文獻單片機課程設(shè)計論文 . 附錄附錄1:org 00

19、00hajmp main ;主程序入口地址org 0003hajmp zhongduan0 ;中斷0入口地址 org 000bhajmp yanshi ;定時器t0入口地址org 0013hajmp zhongduan1 ;中斷1入口地址org 001bhajmp dingshi ;中斷1入口地址org 0030h ;主程序入口地址主程序main:mov tcon,#05h ;主程序開始,外部中斷跳變模式 mov tmod,#11h ;定時器0、1工作模式1下 mov ie,#8fh ;中斷允許 mov dptr,#tab ;指向數(shù)據(jù)表首地址 mov 12h,#00h ;初始化設(shè)置 mov 1

20、1h,#00h mov r1,#00h mov r2,#00h mov r3,#40 ;循環(huán)40次 mov tl0,#58h ;定時25ms mov th0,#9eh mov tl1,#0f0h ;定時10ms mov th1,#0d8h clr tr0 ;關(guān)斷定時器 clr tr1暫停和快加程序here:jb p1.0,here ;位掃描,為0順序執(zhí)行show:clr tr1 clr tr0 acall xianshikuaijia:jb p1.2,kuaijia ;等待快加信號,為0時快加 clr tr0 setb tr1here1:jnb p1.2,here1 ajmp here外部中斷0子程序,計時按鍵k1子程序zhongduan0:setb tr0 ;正常計時 1s延時 reti外部中斷1子程序,復(fù)位鍵k2子程序zhongduan1:clr tr0 ;復(fù)位 clr tr1 mov 12h,#00h mov 11h,#00h acall xianshi ;調(diào)用顯示子程序 mov r1,#00h mov r2,#00h reti加一子程序jia1: inc r1 ;加一子程序 cjne r1,#0ah

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論