單片機(jī)-10秒秒表課程設(shè)計_第1頁
單片機(jī)-10秒秒表課程設(shè)計_第2頁
單片機(jī)-10秒秒表課程設(shè)計_第3頁
單片機(jī)-10秒秒表課程設(shè)計_第4頁
單片機(jī)-10秒秒表課程設(shè)計_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、贛 南 師 范 學(xué) 院物理與電子信息學(xué)院課程設(shè)計設(shè)計報告書基于AT89S52單片機(jī)的10秒秒表的設(shè)計姓名: 匡遠(yuǎn)熹 班級: 09電子信息工程 學(xué)號: 指導(dǎo)老師:劉小燕 時間: 2012.1.01 目 錄內(nèi)容摘要 1關(guān)鍵詞1Abstract1Keywords11緒論22 系統(tǒng)設(shè)計22.1 設(shè)計任務(wù)與要求32.2 方案的選擇與論證33 系統(tǒng)硬件設(shè)計43.1 AT89C52簡介43.2 時鐘電路53.3 復(fù)位電路53.4 顯示電路6 3.5引腳控制 73.6 硬件元件清單74軟件設(shè)計與仿真74.1主程序設(shè)計74.2 仿真軟件簡介94.3 仿真結(jié)果104.4 系統(tǒng)調(diào)試11結(jié)束語12附錄:程序清單14參

2、考文獻(xiàn)16內(nèi)容摘要:本文闡述了基于單片機(jī)的數(shù)字電子秒表設(shè)計。本設(shè)計主要特點是計時精度達(dá)到0.1s,是各種體育競賽的必備設(shè)備之一。本設(shè)計的數(shù)字電子秒表系統(tǒng)采用8051單片機(jī)為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管設(shè)計計時器。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務(wù),延時程。硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。關(guān)鍵字:秒表;單片機(jī)AT89S52;硬件;軟件;仿真 Abstract:The design of the multi-function stopwatch system use

3、s AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with display circuit, LED digital tube, as well as the external interrupt circuit to design a timer. Be able to correctly time at the same time to record a time, and the next time a

4、fter the last time the time to search automatically added a second in which software systems using assembly language programming, including the display program, timing, interrupt service, external interrupt service routine, delay procedures, key consumer shaking procedures, and KEIL in the commissio

5、ning, operation, hardware system uses to achieve PROTEUS powerful, simple and easy to observe the cut in the simulation can be observed on the actual working condition.Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation1緒論當(dāng)今,計算機(jī)技術(shù)帶來了科研和生產(chǎn)的許多重大飛躍,微型計算機(jī)的應(yīng)用已滲透到生產(chǎn)、生活的各個方面。其中單片微型計算機(jī)雖然問世不久,然而體積小、價廉

6、、功能強(qiáng),其銷售額以每年近80%的速率增長。他的性能不斷提高,適用范圍愈來愈寬,在計算機(jī)應(yīng)用領(lǐng)域已占有日益重要的地位。 單片微型計算機(jī)簡稱單片機(jī),又成為控制器。他是在一塊半導(dǎo)體上,集成了CPU、ROM、RAM、I/O接口、定時器/計數(shù)器、中斷系統(tǒng)等功能部件,構(gòu)成了一臺完整的數(shù)字計算機(jī)。單片機(jī)在生產(chǎn)生活中的許多方面得到廣泛的應(yīng)用,例如,生活中五彩變幻的霓虹燈,手機(jī)通信,溫度檢測,流量控制等都涉及到單片機(jī)。鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如按時自動打鈴、時間程序自動控制、秒表等。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究電子秒表及擴(kuò)大其應(yīng)用,有

7、非?,F(xiàn)實的意義。電子秒表是一種用數(shù)字電路技術(shù)實現(xiàn)秒計時的裝置,與機(jī)械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。 電子秒表從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時序電路。電子科技日新月異,人們對現(xiàn)代電子設(shè)備的智能化和微型化及其精度提出了更高的要求,而單片機(jī)因其具有穩(wěn)定可靠、 體積小、 價格低廉等特點,成為設(shè)計智能化儀器儀表的首選微控制器,因此本次我沒有選用傳統(tǒng)的專用的時鐘芯片,而是采用了AT89C52芯片,此款單片機(jī)可以使用軟件對其進(jìn)行在線編程,其靈活性和可靠性都相對提高。通過此次課程設(shè)計,增強(qiáng)了我們的動手能力,把理論與實踐融

8、合在一起。同時,也進(jìn)一步加深了對單片機(jī)的硬件結(jié)構(gòu)的理解和鞏固,編程能力也得到了提高。在此將秒表制作過程中用到的知識進(jìn)行了一些總結(jié),希望自己今后能注意。2 系統(tǒng)設(shè)計2.1 設(shè)計任務(wù)與要求2.1.1 設(shè)計任務(wù)1、掌握數(shù)碼管顯示控制系統(tǒng)的顯示原理,學(xué)習(xí)數(shù)碼管顯示數(shù)字和字符的編程方法. 2、試設(shè)計一簡易秒表,使得七段符顯示管的a-g分別接在單片機(jī)的P口上,輸出低電平時,顯示管點亮, 要求從數(shù)字“0”顯示到數(shù)字“9”,延時間隔為1秒。2.1.2 設(shè)計要求1顯示時間范圍0.0-9.9s;2按鍵開關(guān)按下,電路復(fù)位。2.2 方案的選擇與論證2.21總體設(shè)計方案方案1:在方案1中,我們所選用的是軟件定時,即用f

9、or循環(huán)來定時1秒進(jìn)行顯示的變化。方案2:在方案2中,采用的是硬件定時,即用單片機(jī)內(nèi)部的定時器T0。先將時鐘初始化,賦入初值50ms定時,循環(huán)20次來進(jìn)行1秒定時。2.22:選擇與論證方案比較:我們從兩方面進(jìn)行兩種方案的比較,第一,由于此次課程設(shè)計要求是秒表,則在定時時要求比較精確,所以采用硬件的定時器定時時比較準(zhǔn)確的。第二,由于秒表的定時程序是很小的,在利用軟件定時占用的CPU并不是很多,不能顯現(xiàn)出來,但真正大程序時會很占用資源的,所以在用定時中斷過程中是非常節(jié)省資源的。綜合上述兩種比較,我們選用了第二種方案。3 系統(tǒng)硬件設(shè)計本系統(tǒng)由控制器模塊、復(fù)位模塊、LED顯示模塊組成,系統(tǒng)硬件組成框圖

10、如圖1所示。系統(tǒng)總體電路原理圖如圖1所示。圖1 系統(tǒng)電路原理圖3.1 AT89S52簡介(1) 與MCS-51產(chǎn)品相兼容;(2) 具有8KB可改寫的Flash 內(nèi)部程序存儲器,可寫/擦1000次;(5)256字節(jié)內(nèi)部RAM;(6) 32根可編程I/O口;(7) 3個16位定時器/計數(shù)器。 (8) 8個中斷源;(9) 可編程中串行口;(10) 低功耗空閑和掉電方式。它的價格便宜,功能強(qiáng)大,能耗低。很大程度上減少總電路的復(fù)雜性,提高了所設(shè)計系統(tǒng)的穩(wěn)定性。其芯片引腳圖如圖2所示。圖2 單片機(jī)AT89S52引腳圖3.2時鐘電路下圖所示為時鐘電路原理圖,在AT89S52芯片內(nèi)部有一個高增益反相放大器,其

11、輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個穩(wěn)定的自激振蕩器。時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時鐘脈沖信號。3.3復(fù)位電路就是在RST端(9腳)外接的一個電路,目的是當(dāng)單片機(jī)上電開始工作時,內(nèi)部電路從初始狀態(tài)開始工作,或者在工作中要想人為的讓單片機(jī)重新從初始狀態(tài)開始工作。在時鐘工作的情況下,只要AT89S52的復(fù)位引腳高電平保持兩個機(jī)器周期以上的時間,AT89S52便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且從地址0000H處開始讀入程序代碼而執(zhí)

12、行程序。3.4顯示電路 數(shù)碼管顯示電路3.5引腳控制 P0.0P0.7對應(yīng)兩個數(shù)碼管的A、B、C、D、E、F、G和小數(shù)點位;P2.5控制數(shù)碼管個位的顯示,P2.6控制數(shù)碼管十位;P3.6、P3.7分別接按鍵3.6硬件元件清單系統(tǒng)元器件清單見下表系統(tǒng)元器件清單器件數(shù)量器件數(shù)量AT89S521電容(10uF)1按鍵開關(guān)1電容(22pF)2共陰數(shù)碼管2電阻(10K)1排阻(4.7k)1晶振片14軟件設(shè)計與仿真本系統(tǒng)程序包括主程序、據(jù)子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。4.1主程序設(shè)計主程序流程圖如下圖:判斷是否中斷初始化Count+Count=20?NYSecond+Second=99?S

13、econd=0數(shù)碼管顯示當(dāng)前值NY等待NY4.2 仿真軟件簡介Proteus是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:(1)實現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。(2)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、

14、PIC10/12/16/18系列、HC11系列以及多種外圍芯片。(3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB等軟件。(4)具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。Proteus7.5是目前最好的模擬單片機(jī)外圍器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路(如LCD、RAM、ROM、鍵盤、馬達(dá)、LED、AD/DA、

15、部分SPI器件、部分IIC器件等)。軟件編譯采用KEIL C51軟件,Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。4.3 仿真結(jié)果 4.4 系統(tǒng)調(diào)試在調(diào)

16、試過程中主要是對程序的修改和對線路的修改來使系統(tǒng)正常的工作結(jié)束語本次的課程設(shè)計,使關(guān)于51系列單片機(jī)的,正是我們剛剛學(xué)到的51單片機(jī),在平時課程的學(xué)習(xí)中,我們僅限于理論知識的講解,即使知識是很扎實的,實際應(yīng)用并不是這樣的。開始時我也覺得自己的理論知識已經(jīng)夠了,但當(dāng)我拿到課題時,在腦海里想的是非常好的,但真正編成和控制時,理論和實際結(jié)合不到一起,甚至于51芯片的使用我都感覺很迷茫,還是經(jīng)過搜集大量資料才將理論與實際結(jié)合到一起了。本次課程設(shè)計我主要負(fù)責(zé)編程,這次不僅鍛煉了我C語言的知識,更加我們正在學(xué)習(xí)的51的定時與中斷結(jié)合在一起,進(jìn)行了實際的操作,讓我的知識掌握得更加牢固。本次的實際經(jīng)驗之后,讓

17、我對單片機(jī)定時賦初值有了更新的認(rèn)識,對程序的循環(huán)順序、結(jié)構(gòu)類型都有了非常深刻的認(rèn)識,對真正硬件的連接也有了認(rèn)識,不再將自己的知識局限于自己狹隘的空間中。通過這次課程設(shè)計秒表/時鐘計時器,使我又重新開始學(xué)習(xí)C語言,因為C語言是大一學(xué)的,至從學(xué)完就再也沒用過,所以開始很陌生,我又找了有關(guān)資料來了解,才有了一點眉目。剛開始以為可以用匯編很容易就寫出來,因為我們正在學(xué)習(xí)匯編語言,以為學(xué)的很明白了,但是用匯編時才發(fā)現(xiàn)原來都不怎么熟練,編了一會程序發(fā)現(xiàn)只有一種感覺舉步維艱?。∵€是放棄匯編選擇C語言吧!對于單片機(jī),我們課本學(xué)習(xí)的是80C51,但是這次做課程設(shè)計用的是89C51,這樣不僅使我們掌握了80C51

18、,而且對89C51也有了一定的了解了,在課堂上學(xué)習(xí)的都理論的,跟實際永遠(yuǎn)有一定的差距,不實踐就不會發(fā)現(xiàn)問題。通過這次課程設(shè)計使我把課堂上學(xué)習(xí)的東西都用到了實踐中,例如:定時/計數(shù)器的應(yīng)用與中斷。學(xué)習(xí)的時候不怎么理解,但是在實踐中應(yīng)用了以后就自然了解了。這次課程設(shè)計使我受益匪淺,而且都是實際的東西。附錄:程序清單#include sbit key=P37;unsigned char duanma=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;static unsigned char k;void delay(unsigned char t);

19、void delayms(unsigned char t);void INTO_Timer0();void main()static unsigned char b=0;P0=duanma0;P2=duanma0;while(1)if(!key) delayms(10); if(!key) b+; if(b=1) INTO_Timer0(); if(b=2) TR0=0; if(b=3) b=0;k=0; P0=duanma0; P2=duanma0; while(!key); void INTO_Timer0()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000

溫馨提示

  • 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

提交評論