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

下載本文檔

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

文檔簡介

1、<p>  課程設(shè)計Ⅳ設(shè)計報告書</p><p>  基于AT89S52單片機的</p><p><b>  10秒秒表的設(shè)計</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è)計2</b></p><p>  2.1 設(shè)計任務(wù)與要求3</p&g

3、t;<p>  2.2 方案的選擇與論證3</p><p>  3 系統(tǒng)硬件設(shè)計4</p><p>  3.1 AT89C52簡介4</p><p>  3.2 時鐘電路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è)計與仿真7</p><p>  4.1主程序設(shè)計7</p><p>  4.2 仿真軟件簡介9</p><p>  4.3 仿真結(jié)

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

6、要特點是計時精度達(dá)到0.1s,是各種體育競賽的必備設(shè)備之一。本設(shè)計的數(shù)字電子秒表系統(tǒng)采用8051單片機為中心器件,利用其定時器/計數(shù)器定時和記數(shù)的原理,結(jié)合顯示電路、LED數(shù)碼管設(shè)計計時器。其中軟件系統(tǒng)采用C語言編寫程序,包括顯示程序,定時中斷服務(wù),延時程。硬件系統(tǒng)利用PROTEUS強大的功能來實現(xiàn),簡單切易于觀察,在仿真中就可以觀察到實際的工作狀態(tài)。</p><p>  關(guān)鍵字:秒表;單片機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)今,計算機技術(shù)帶來了科研和生產(chǎn)的許多重大飛躍,微型計算機的應(yīng)用已滲透到生產(chǎn)、生活的各個方面。其中單片微型計算機雖然問世不久,然而體積小、價廉、功能強,其銷售額以每年近80%的速率增長。他的性能不斷提高,適用范圍愈來愈寬,在計算機應(yīng)用領(lǐng)域已占有日益重要的地位。 單片微型計算機簡稱單片機,又成為控制器。他是在一塊半導(dǎo)體上,集成了CPU、ROM、RAM、I/O接口、定時器/計數(shù)器、中斷系統(tǒng)等功能

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

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

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

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

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

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

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

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

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

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

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

22、從初始狀態(tài)開始工作,或者在工作中要想人為的讓單片機重新從初始狀態(tài)開始工作。在時鐘工作的情況下,只要AT89S52的復(fù)位引腳高電平保持兩個機器周期以上的時間,AT89S52便能完成系統(tǒ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對應(yīng)兩個數(shù)碼管的A、B、C、D、E、F、G和小數(shù)點位;P2.5控制數(shù)碼管個位的顯示,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è)計與仿真</b></p><p>  本系統(tǒng)程序包括主程序、據(jù)子程序等。主程序用于系統(tǒng)初始化,子程序調(diào)度等。</p><p><b>  4.1主程序

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

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

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

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

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

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

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

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

33、很陌生,我又找了有關(guān)資料來了解,才有了一點眉目。剛開始以為可以用匯編很容易就寫出來,因為我們正在學(xué)習(xí)匯編語言,以為學(xué)的很明白了,但是用匯編時才發(fā)現(xiàn)原來都不怎么熟練,編了一會程序發(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>  參考文獻</b></p>

49、<p>  [1]《電子技能與EDA技術(shù)》 主編:韓克 柳秀山</p><p>  [2]《數(shù)據(jù)電路設(shè)計報告》</p><p>  [3]《電子控制電路實例》 主編:陳爾紹</p><p>  [4]《數(shù)字電子技術(shù)基礎(chǔ)與綜合訓(xùn)練》 主編:盧慶林</p><p>  [5]《數(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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論