基于at89s52單片機(jī)的10秒秒表課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課程設(shè)計(jì)Ⅳ設(shè)計(jì)報(bào)告書</p><p>  基于AT89S52單片機(jī)的</p><p><b>  10秒秒表的設(shè)計(jì)</b></p><p><b>  目 錄</b></p><p>  內(nèi)容摘要 1</p><p><b>  關(guān)鍵

2、詞1</b></p><p>  Abstract1</p><p>  Keywords1</p><p><b>  1緒論2</b></p><p><b>  2 系統(tǒng)設(shè)計(jì)2</b></p><p>  2.1 設(shè)計(jì)任務(wù)與要求3</p&g

3、t;<p>  2.2 方案的選擇與論證3</p><p>  3 系統(tǒng)硬件設(shè)計(jì)4</p><p>  3.1 AT89C52簡(jiǎn)介4</p><p>  3.2 時(shí)鐘電路5</p><p>  3.3 復(fù)位電路5</p><p>  3.4 顯示電路6</p><p>

4、  3.5引腳控制 7</p><p>  3.6 硬件元件清單7</p><p>  4軟件設(shè)計(jì)與仿真7</p><p>  4.1主程序設(shè)計(jì)7</p><p>  4.2 仿真軟件簡(jiǎn)介9</p><p>  4.3 仿真結(jié)

5、果10</p><p>  4.4 系統(tǒng)調(diào)試11</p><p><b>  結(jié)束語(yǔ)12</b></p><p>  附錄:程序清單14</p><p><b>  參考文獻(xiàn)16</b></p><p>  內(nèi)容摘要:本文闡述了基于單片機(jī)的數(shù)字電子秒表設(shè)計(jì)。本設(shè)計(jì)主

6、要特點(diǎn)是計(jì)時(shí)精度達(dá)到0.1s,是各種體育競(jìng)賽的必備設(shè)備之一。本設(shè)計(jì)的數(shù)字電子秒表系統(tǒng)采用8051單片機(jī)為中心器件,利用其定時(shí)器/計(jì)數(shù)器定時(shí)和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管設(shè)計(jì)計(jì)時(shí)器。其中軟件系統(tǒng)采用C語(yǔ)言編寫程序,包括顯示程序,定時(shí)中斷服務(wù),延時(shí)程。硬件系統(tǒng)利用PROTEUS強(qiáng)大的功能來(lái)實(shí)現(xiàn),簡(jiǎn)單切易于觀察,在仿真中就可以觀察到實(shí)際的工作狀態(tài)。</p><p>  關(guān)鍵字:秒表;單片機(jī)AT89S52;硬件

7、;軟件;仿真 </p><p>  Abstract:The design of the multi-function stopwatch system uses AT89S52 microcontroller as the central device, and use its timer / counter timing and the count principles, combined with disp

8、lay 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 after the last time the time to search automatica

9、lly added a second in which software systems using assembly language programming, includin</p><p>  Keyword:Stopwatch;AT89S52 scm;Hardware;Software;Simulation</p><p><b>  1緒論</b><

10、/p><p>  當(dāng)今,計(jì)算機(jī)技術(shù)帶來(lái)了科研和生產(chǎn)的許多重大飛躍,微型計(jì)算機(jī)的應(yīng)用已滲透到生產(chǎn)、生活的各個(gè)方面。其中單片微型計(jì)算機(jī)雖然問(wèn)世不久,然而體積小、價(jià)廉、功能強(qiáng),其銷售額以每年近80%的速率增長(zhǎng)。他的性能不斷提高,適用范圍愈來(lái)愈寬,在計(jì)算機(jī)應(yīng)用領(lǐng)域已占有日益重要的地位。 單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),又成為控制器。他是在一塊半導(dǎo)體上,集成了CPU、ROM、RAM、I/O接口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等功能

11、部件,構(gòu)成了一臺(tái)完整的數(shù)字計(jì)算機(jī)。單片機(jī)在生產(chǎn)生活中的許多方面得到廣泛的應(yīng)用,例如,生活中五彩變幻的霓虹燈,手機(jī)通信,溫度檢測(cè),流量控制等都涉及到單片機(jī)。</p><p>  鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、秒表等。所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究電子秒表及擴(kuò)大其應(yīng)用,有非?,F(xiàn)實(shí)的意義。電子秒表是一種用數(shù)字電路技術(shù)實(shí)

12、現(xiàn)秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無(wú)機(jī)械裝置,具有更更長(zhǎng)的使用壽命,因此得到了廣泛的使用。 電子秒表從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時(shí)序電路。</p><p>  電子科技日新月異,人們對(duì)現(xiàn)代電子設(shè)備的智能化和微型化及其精度提出了更高的要求,而單片機(jī)因其具有穩(wěn)定可靠、 體積小、 價(jià)格低廉等特點(diǎn),成為設(shè)計(jì)智能化儀器儀表的首選微控制器,因此本次我沒(méi)有選用傳統(tǒng)的專用的時(shí)

13、鐘芯片,而是采用了AT89C52芯片,此款單片機(jī)可以使用軟件對(duì)其進(jìn)行在線編程,其靈活性和可靠性都相對(duì)提高。</p><p>  通過(guò)此次課程設(shè)計(jì),增強(qiáng)了我們的動(dòng)手能力,把理論與實(shí)踐融合在一起。同時(shí),也進(jìn)一步加深了對(duì)單片機(jī)的硬件結(jié)構(gòu)的理解和鞏固,編程能力也得到了提高。在此將秒表制作過(guò)程中用到的知識(shí)進(jìn)行了一些總結(jié),希望自己今后能注意。</p><p><b>  2 系統(tǒng)設(shè)計(jì)<

14、/b></p><p>  2.1 設(shè)計(jì)任務(wù)與要求</p><p>  2.1.1 設(shè)計(jì)任務(wù)</p><p>  1、掌握數(shù)碼管顯示控制系統(tǒng)的顯示原理,學(xué)習(xí)數(shù)碼管顯示數(shù)字和字符的編程方法.</p><p>  2、試設(shè)計(jì)一簡(jiǎn)易秒表,使得七段符顯示管的a-g分別接在單片機(jī)的P口上,輸出低電平時(shí),顯示管點(diǎn)亮, 要求從數(shù)字“0”顯示到數(shù)字“9

15、”,延時(shí)間隔為1秒。</p><p>  2.1.2 設(shè)計(jì)要求</p><p>  [1]顯示時(shí)間范圍0.0-9.9s;</p><p>  [2]按鍵開關(guān)按下,電路復(fù)位。</p><p>  2.2 方案的選擇與論證</p><p>  2.2.1總體設(shè)計(jì)方案</p><p>  方案1:在方

16、案1中,我們所選用的是軟件定時(shí),即用for循環(huán)來(lái)定時(shí)1秒進(jìn)行顯示的變化。</p><p>  方案2:在方案2中,采用的是硬件定時(shí),即用單片機(jī)內(nèi)部的定時(shí)器T0。先將時(shí)鐘初始化,賦入初值50ms定時(shí),循環(huán)20次來(lái)進(jìn)行1秒定時(shí)。</p><p>  2.2.2:選擇與論證</p><p>  方案比較:我們從兩方面進(jìn)行兩種方案的比較,第一,由于此次課程設(shè)計(jì)要求是秒表,則

17、在定時(shí)時(shí)要求比較精確,所以采用硬件的定時(shí)器定時(shí)時(shí)比較準(zhǔn)確的。第二,由于秒表的定時(shí)程序是很小的,在利用軟件定時(shí)占用的CPU并不是很多,不能顯現(xiàn)出來(lái),但真正大程序時(shí)會(huì)很占用資源的,所以在用定時(shí)中斷過(guò)程中是非常節(jié)省資源的。綜合上述兩種比較,我們選用了第二種方案。</p><p><b>  3 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  本系統(tǒng)由控制器模塊、復(fù)位模塊、LED顯

18、示模塊組成,系統(tǒng)硬件組成框圖如圖1所示。系統(tǒng)總體電路原理圖如圖1所示。</p><p>  圖1 系統(tǒng)電路原理圖</p><p>  3.1 AT89S52簡(jiǎn)介</p><p>  (1) 與MCS-51產(chǎn)品相兼容;</p><p>  (2) 具有8KB可改寫的Flash 內(nèi)部程序存儲(chǔ)器,可寫/擦1000次;</p><

19、p>  (5)256字節(jié)內(nèi)部RAM;</p><p>  (6) 32根可編程I/O口;</p><p>  (7) 3個(gè)16位定時(shí)器/計(jì)數(shù)器。 </p><p>  (8) 8個(gè)中斷源;</p><p>  (9) 可編程中串行口;</p><p>  (10) 低功耗空閑和掉電方式。</p>

20、<p>  它的價(jià)格便宜,功能強(qiáng)大,能耗低。很大程度上減少總電路的復(fù)雜性,提高了所設(shè)計(jì)系統(tǒng)的穩(wěn)定性。其芯片引腳圖如圖2所示。</p><p>  圖2 單片機(jī)AT89S52引腳圖</p><p><b>  3.2時(shí)鐘電路</b></p><p>  下圖所示為時(shí)鐘電路原理圖,在AT89S52芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入

21、端為芯片引腳XTAL1,輸出端為引腳XTAL2。而在芯片內(nèi)部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。</p><p><b>  3.3復(fù)位電路</b></p><p>  就是在RST端(9腳)外接的一個(gè)電路,目的是當(dāng)單片機(jī)上電開始工作時(shí),內(nèi)部電路

22、從初始狀態(tài)開始工作,或者在工作中要想人為的讓單片機(jī)重新從初始狀態(tài)開始工作。在時(shí)鐘工作的情況下,只要AT89S52的復(fù)位引腳高電平保持兩個(gè)機(jī)器周期以上的時(shí)間,AT89S52便能完成系統(tǒng)重置的各項(xiàng)動(dòng)作,使得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且從地址0000H處開始讀入程序代碼而執(zhí)行程序。</p><p>  3.4顯示電路 </p><p><b>  數(shù)碼管顯示

23、電路</b></p><p><b>  3.5引腳控制</b></p><p>  P0.0—P0.7對(duì)應(yīng)兩個(gè)數(shù)碼管的A、B、C、D、E、F、G和小數(shù)點(diǎn)位;P2.5控制數(shù)碼管個(gè)位的顯示,P2.6控制數(shù)碼管十位;P3.6、P3.7分別接按鍵</p><p><b>  3.6硬件元件清單</b></p&g

24、t;<p>  系統(tǒng)元器件清單見下表</p><p><b>  系統(tǒng)元器件清單</b></p><p><b>  4軟件設(shè)計(jì)與仿真</b></p><p>  本系統(tǒng)程序包括主程序、據(jù)子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。</p><p><b>  4.1主程序

25、設(shè)計(jì)</b></p><p>  主程序流程圖如下圖:</p><p>  4.2 仿真軟件簡(jiǎn)介</p><p>  Proteus是英國(guó)Labcenter公司開發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:</p><p> ?。?)實(shí)現(xiàn)了單片機(jī)

26、仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。</p><p> ?。?)支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有:ARM7(LPC21xx)、 8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以

27、及多種外圍芯片。</p><p> ?。?)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2、MPLAB等軟件。</p><p> ?。?)具有強(qiáng)大的原理圖繪制功能。</p><p>  

28、總之,該軟件是一款集單片機(jī)和SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。</p><p>  Proteus7.5是目前最好的模擬單片機(jī)外圍器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路(如LCD、RAM、ROM、鍵盤、馬達(dá)、LED、AD/DA、部分SPI器件、部分IIC器件等)。</p><p>  軟件編譯采用KEIL C51軟件,Keil C51是美國(guó)Kei

29、l Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開發(fā),體會(huì)更加深刻。</p><p>  Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生

30、成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。</p><p><b>  4.3 仿真結(jié)果 </b></p><p><b>  4.4 系統(tǒng)調(diào)試</b></p><p>  在調(diào)試過(guò)程中主要是對(duì)程序的修改和對(duì)線路的修改來(lái)使系統(tǒng)正常的工作</p><p><b>

31、  結(jié)束語(yǔ)</b></p><p>  本次的課程設(shè)計(jì),使關(guān)于51系列單片機(jī)的,正是我們剛剛學(xué)到的51單片機(jī),在平時(shí)課程的學(xué)習(xí)中,我們僅限于理論知識(shí)的講解,即使知識(shí)是很扎實(shí)的,實(shí)際應(yīng)用并不是這樣的。開始時(shí)我也覺得自己的理論知識(shí)已經(jīng)夠了,但當(dāng)我拿到課題時(shí),在腦海里想的是非常好的,但真正編成和控制時(shí),理論和實(shí)際結(jié)合不到一起,甚至于51芯片的使用我都感覺很迷茫,還是經(jīng)過(guò)搜集大量資料才將理論與實(shí)際結(jié)合到一起了

32、。本次課程設(shè)計(jì)我主要負(fù)責(zé)編程,這次不僅鍛煉了我C語(yǔ)言的知識(shí),更加我們正在學(xué)習(xí)的51的定時(shí)與中斷結(jié)合在一起,進(jìn)行了實(shí)際的操作,讓我的知識(shí)掌握得更加牢固。本次的實(shí)際經(jīng)驗(yàn)之后,讓我對(duì)單片機(jī)定時(shí)賦初值有了更新的認(rèn)識(shí),對(duì)程序的循環(huán)順序、結(jié)構(gòu)類型都有了非常深刻的認(rèn)識(shí),對(duì)真正硬件的連接也有了認(rèn)識(shí),不再將自己的知識(shí)局限于自己狹隘的空間中。通過(guò)這次課程設(shè)計(jì)——秒表/時(shí)鐘計(jì)時(shí)器,使我又重新開始學(xué)習(xí)C語(yǔ)言,因?yàn)镃語(yǔ)言是大一學(xué)的,至從學(xué)完就再也沒(méi)用過(guò),所以開始

33、很陌生,我又找了有關(guān)資料來(lái)了解,才有了一點(diǎn)眉目。剛開始以為可以用匯編很容易就寫出來(lái),因?yàn)槲覀冋趯W(xué)習(xí)匯編語(yǔ)言,以為學(xué)的很明白了,但是用匯編時(shí)才發(fā)現(xiàn)原來(lái)都不怎么熟練,編了一會(huì)程序發(fā)現(xiàn)只有一種感覺——</p><p><b>  附錄:程序清單</b></p><p>  #include <reg52.h></p><p>  sbi

34、t key=P3^7;</p><p>  unsigned char duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p>  static unsigned char k;</p><p>  void delay(unsigned char t);</p>&l

35、t;p>  void delayms(unsigned char t);</p><p>  void INTO_Timer0();</p><p>  void main()</p><p><b>  {</b></p><p>  static unsigned char b=0;</p>&l

36、t;p>  P0=duanma[0];</p><p>  P2=duanma[0];</p><p><b>  while(1)</b></p><p><b>  { </b></p><p><b>  if(!key)</b></p>&

37、lt;p><b>  {</b></p><p>  delayms(10);</p><p><b>  if(!key)</b></p><p><b>  {</b></p><p><b>  b++;</b></p><

38、p><b>  if(b==1)</b></p><p><b>  {</b></p><p>  INTO_Timer0();</p><p><b>  }</b></p><p><b>  if(b==2)</b></p>&

39、lt;p><b>  { </b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p><b>  if(b==3)</b></p><p><b>  {</b>

40、</p><p><b>  b=0;</b></p><p><b>  k=0;</b></p><p>  P0=duanma[0];</p><p>  P2=duanma[0];</p><p><b>  }</b></p>&

41、lt;p>  while(!key);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  voi

42、d INTO_Timer0()</p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p><b>  EA=1;&l

43、t;/b></p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  void isr_Timer0() interrupt 1</p><p>

44、<b>  {</b></p><p>  static unsigned char i;</p><p><b>  i++;</b></p><p><b>  if(i==2)</b></p><p><b>  {</b></p>&

45、lt;p><b>  i=0;</b></p><p><b>  k++;</b></p><p>  if(k==100)</p><p><b>  k=0;</b></p><p>  P0=duanma[k/10];</p><p>  

46、P2=duanma[k%10];</p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay(unsigned char t)</p><p><b>  {</b></p><p>  wh

47、ile(t--);</p><p><b>  }</b></p><p>  void delayms(unsigned char t)</p><p><b>  {</b></p><p>  while(t--)</p><p><b>  { &

48、lt;/b></p><p>  delay(245);</p><p>  delay(245);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  參考文獻(xiàn)</b></p>

49、<p>  [1]《電子技能與EDA技術(shù)》 主編:韓克 柳秀山</p><p>  [2]《數(shù)據(jù)電路設(shè)計(jì)報(bào)告》</p><p>  [3]《電子控制電路實(shí)例》 主編:陳爾紹</p><p>  [4]《數(shù)字電子技術(shù)基礎(chǔ)與綜合訓(xùn)練》 主編:盧慶林</p><p>  [5]《數(shù)字電子

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論