2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課程設計(論文)</b></p><p>  題 目 名 稱 基于單片機的秒表系統設計 </p><p>  課 程 名 稱 單片機及嵌入式系統 </p><p>  學 生 姓 名

2、 </p><p>  學 號 </p><p>  系 、專 業 電子科學系 10電子信息工程 </p><p>  指 導 教 師

3、 </p><p>  2012年12月31日</p><p><b>  目錄</b></p><p>  1 課題內容要求及目的………………………………………………………………1</p><p>  1.1課題內容……………………………………………………………………………1</p>

4、<p>  1.2課題要求……………………………………………………………………………1</p><p>  1.3 課題目的……………………………………………………………………………1</p><p>  2 硬件設計………………………………………………………………………………2</p><p>  2.1 AT89C51單片機簡介………………………………

5、……………………………2 </p><p>  2.2設計思路……………………………………………………………………………2</p><p>  2.3硬件電路設計………………………………………………………………………3</p><p>  3軟件設計………………………………………………………………………………5</p><p>  3.1

6、程序設計……………………………………………………………………5</p><p>  3.2源程序………………………………………………………………………………6</p><p>  4系統調試與仿真……………………………………………………………………11</p><p>  4.1 proteus簡介……………………………………………………………………11</p

7、><p>  4.2仿真調試……………………………………………………………………………12</p><p>  5總結………………………………………………………………………………13</p><p>  參考文獻………………………………………………………………………………14</p><p>  1 課題內容要求及目的</p>&l

8、t;p><b>  1.1課題內容</b></p><p>  用AT89C51設計一個秒表,該秒表課可顯示0.0~59.9秒的時間,進行相應的單片機硬件電路的設計并進行軟件編程利用單片機定時器/計數器中斷設計秒表,從而實現秒、十分之一秒的計時。綜合運用所學的《單片機原理與應用》理論知識,通過實踐加強對所學知識的理解,具備設計單片機應用系統的能力。通過本次系統設計加深對單片機掌握定時器

9、、外部中斷的設置和編程原理的全面認識復習和掌握。</p><p>  本系統利用單片機的定時器/計數器定時和記數的原理,通過采用proteus仿真軟件來模擬實現。模擬利用AT89C51單片機、LED數碼管以及控件來控制秒表的計數以及計位!其中有三位數碼管用來顯示數據,顯示秒(兩位)和十分之一秒,十分之一秒的數碼管計數從0~9,滿十進一后顯示秒的數碼管的數字加一,并且十分之一秒顯示清零重新從零計數。計秒數碼管采用三

10、位的數碼管,當計數超過范圍是所有數碼管全部清零重新計數。</p><p><b>  1.2課題要求</b></p><p>  本課題是基于單片機的秒表系統設計,它的具體要求有以下幾點:</p><p>  用單片機AT89C51實現;</p><p>  以0.1秒為最小單位進行顯示;</p><

11、p>  秒表量程為0.0-59.9秒,用 LED顯示;</p><p>  有清零、開始、停止功能、每到一秒有聲音提示;</p><p><b>  1.3課題目的</b></p><p>  通過課程設計,進一步熟悉和掌握AT89C51單片機的結構及工作原理,掌握以單片機核心的電路設計的基本方法和技術,了解表關電路參數的計算方法。通過完

12、成一個包括電路設計和程序開發的完整過程,進一步了解開發一單片機應用系統的全過程,通過此綜合訓練,為以后畢業設計打下一定的基礎。</p><p> ?。?)通過本次課程設計加深對單片機課程的全面認識。</p><p> ?。?)掌握定時器、外部中斷的設置和編程。</p><p> ?。?)該實驗通過單片機的軟件延時設計,設計簡單的計時器系統,能正確的計時。</p

13、><p> ?。?)通過本次課程設計能夠對程序進行編輯,校驗。 </p><p><b>  2.硬件設計</b></p><p> 

14、 2.1 AT89C51單片機簡介 </p><p>  AT89C51是一種低功耗、高性能的片內含有4KB快閃可編程/擦除只讀存儲器(FPEROM-Flash Programmable and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術制造,并且與89C51引腳和指令系統完全兼容。引腳分別如圖2.1所示。</p><p>  

15、圖2.1 單片機引腳分布圖</p><p>  圖2.1所示的單片機是引腳雙列直插封裝方式,電源引腳40腳與接地腳20。P0口作輸入口使用時,應先向口鎖存器寫入1。P1口是一個帶有內部上拉電阻的8位雙向I/O端口。P1的輸出緩存可驅動4個TTL輸入。P2口是一個帶有內部上拉電阻的8位雙向I/O端口。P3口也是一個帶有內部上拉電阻的8位雙向I/O端口,P3端口還用于一些復用功能。</p><

16、p><b>  2.2設計思路</b></p><p>  這次的試驗要求進行計時并且在數碼管上顯示時間,先要基本了解硬件內在結構,確定用p2并行端口進行數碼管控制輸入,使用P1.6,P1.5,P1.4進行選擇0.1秒位,秒位,十位秒位,以P3.0為開始控制,P3.1為停止控制,P3.2為清零控制。

17、 本次實驗設計的基本思路是要求借助AT89C51單片機做出一個0-59.9s的秒表從十位秒到0.1位秒數這些計時的位數是存在一個內嵌的結構,就是0.1秒位滿足條件然后進行跳位使秒位加一的過程,當0.1s到0.9s時該位自動清零并且秒位加一,秒位達到9時也自動清零并向十秒位加一。當計數超過范圍是所有數碼管全部清零重新計數。其次開始控制,停止控制,清零控制等功能,我們采用蜂鳴器進行提示,該信號由P1.0輸出由7406非門與外加電源驅

18、動,通過一個延時子程序加以控制。最后就是根據硬件的條件進行編程,要求軟硬件相互兼容。這也是設計的關鍵之處。因此需查閱相關書籍。</p><p><b>  2.3硬件電路設計</b></p><p> ?。?)時鐘電路與復位電路</p><p>  利用12分頻的晶振的一個機器周期為一微妙,通過循環延時產生0.1秒的延時,晶振電路原理及單片機復

19、位電路圖如圖2.2所示。</p><p>  圖2.2 時鐘與復位電路圖</p><p>  單片機的時鐘信號用來提供單片機內各種微操作的時間基準,89C51片內設有一個由反向放大器所構成的振蕩電路,XTAL1和 XTAL2分別為振蕩電路的輸入和輸出端,89C51單片機的時鐘信號通常用兩種電路形式得到:內部振蕩方式與外部振蕩方式。外部方式的時鐘很少用,若要用時,只要將XTAL1接地,XT

20、AL2接外部振蕩器就行。</p><p>  對于復位操作,我們采用手動復位,通過按鈕開關使單片機進入復位狀態,這是單片機能否正常工作的關鍵。 </p><p> ?。?)硬件電路設計

21、 </p><p>  使用proteus軟件設計的硬件電路包含了三個功能控制鍵和一個單片機復位按鈕及蜂鳴器控制開關。具體如圖2.3所示。</p><p>  圖2.3 硬件電路連接圖</p><p>  時

22、鐘電路與復位電路已在前邊介紹,在此主要介紹端口電路,對于外顯電路的設計我們采用四位數碼管,事實上根據要求只用到三位,我們利用p1.4、p1.5、p1.6對數碼管進行位選。對于按鈕開關電路,我們利用p3.0、p3.1、p3.2分別作為開始、停止及清零功能的電路接口。對于聲音提示我們采用蜂鳴器裝置,信號由p1.0口接入經過非門和驅動電源構成。 </p><p>

23、;  3軟件設計 3.1程序設計</p><p>  根據課題內容,可做出主程序流程圖如圖3.1所示。</p><p>  圖3.1 主程序流程圖</p><p>  流程圖體現著設計程序的思路程序,開始后首先進行數據初始化然

24、后是條件判斷滿足條件或不滿足則進行對應的處理,如首先依次判斷是否暫停是否清零,然后十分之一妙位計數,再判斷是否進位,若是秒位就加一,秒位加一后進行聲音提示,接著再判斷是否有進位,若有則十秒位加一,若十秒位產生進位則重新計時。</p><p><b>  3.2源程序:</b></p><p>  HAOMIAO EQU 34H</p><p&g

25、t;  MIAO EQU 35H</p><p>  SHIMIAO EQU 36H</p><p><b>  ORG 0000H</b></p><p>  AJMP START</p><p><b>  ORG 0030H</b></p><p>  

26、START: CLR C</p><p><b>  SETB P1.6</b></p><p><b>  SETB P1.5</b></p><p><b>  SETB P1.4</b></p><p>  MOV HAOMIAO,#0</p>&l

27、t;p>  MOV MIAO,#0</p><p>  MOV SHIMIAO,#0</p><p>  MOV DPTR,#TABLE</p><p>  MOV A,#00H</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR P1.6</b></

28、p><p><b>  MOV P2,A</b></p><p>  MOV A,#00H</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR P1.4</b></p><p><b>  MOV P2,A</b><

29、/p><p>  MOV DPTR,#TABLE1</p><p>  MOV A,#00H</p><p>  MOVC A,@A+DPTR</p><p>  CLR P1.5 </p><p>  MOV P2,A </p><p>  LCALL KAISHI </p>

30、;<p>  LCALL MAIN </p><p>  SHIWEI : SETB P1.5</p><p>  MOV DPTR,#TABLE ;十秒位顯示</p><p>  MOV MIAO,#0 ;使秒位從零位重新循環</p><p>  INC SHIMIAO </

31、p><p>  MOV A,SHIMIAO </p><p>  CLR C </p><p><b>  SUBB A,#6</b></p><p><b>  JZ START</b></p><p>  AJMP MAIN

32、 </p><p><b>  RET</b></p><p>  TINGZHI: MOV A,#00H ;判斷是否有清零指</p><p><b>  MOV A,P3</b></p><p>  ANL A,#04H</p><p><b&

33、gt;  JZ START</b></p><p>  MOV A,#00H ;判斷是否有停止指令</p><p>  MOV A,P3 </p><p><b>  CLR C</b></p><p>  ANL A,#02H</p><p>  LCALL YA

34、NSHI</p><p><b>  JZ MAIN</b></p><p>  LJMP TINGZHI</p><p>  START1 : LJMP START </p><p>  SHIWEI1: LJMP SHIWEI</p><p>  MAIN : SETB P1.5<

35、;/p><p><b>  SETB P1.4</b></p><p><b>  SETB P1.6</b></p><p>  MOV A,#00H ; 判斷是否有清零指令</p><p><b>  MOV A,P3</b></p><

36、p>  ANL A,#04H</p><p><b>  JZ START1</b></p><p>  MOV A,#00H ; 判斷是否有停止指令</p><p>  MOV A,P3 </p><p><b>  CLR C</b></p>&l

37、t;p>  ANL A,#02H</p><p>  JZ TINGZHI</p><p>  MOV DPTR,#TABLE ; 0.1位秒顯示</p><p>  I NC HAOMIAO ;加一,可查下一位數據</p><p>  MOV A, HAOMIAO ; 判斷是否進位&

38、lt;/p><p><b>  CLR C</b></p><p>  SUBB A,#10</p><p>  JZ MIAOZHEN </p><p>  LCALL YANSHI ;延時0.1秒</p><p>  AJMP MAIN </p><

39、p>  RET ;繼續計時</p><p><b>  MIAOZHEN:</b></p><p><b>  SETB P1.4</b></p><p>  MOV DPTR,#TABLE1 ;秒位顯示</p><p>  MOV HA

40、OMIAO,#0 ;使0.1秒從零重新循環</p><p>  INC MIAO ;加一,可查下一位數據</p><p>  MOV A,MIAO ;判斷是否進位</p><p><b>  CLR C </b></p><p>  SUBB A

41、,#10</p><p>  JZ SHIWEI1 </p><p>  LCALL SND</p><p>  AJMP MAIN ;返回0.1秒計</p><p>  YANSHI: MOV R6,#30 </p><p>  DL2: MOV A,#00H

42、 ;判斷是否有清零指令</p><p><b>  MOV A,P3</b></p><p>  ANL A,#04H</p><p><b>  JZ START1</b></p><p>  MOV DPTR,#TABLE </p><p>  MOV

43、A,SHIMIAO</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR P1.6</b></p><p><b>  MOV P2,A</b></p><p>  ACALL YIHAOMIAO</p><p><b>  SET

44、B P1.6</b></p><p>  MOV A,HAOMIAO</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR P1.4</b></p><p><b>  MOV P2,A</b></p><p>  ACALL YI

45、HAOMIAO</p><p><b>  SETB P1.4</b></p><p>  MOV DPTR,#TABLE1</p><p>  MOV A,MIAO</p><p>  MOVC A,@A+DPTR</p><p>  CLR P1.5 </p><p&g

46、t;<b>  MOV P2,A</b></p><p>  ACALL YIHAOMIAO</p><p><b>  SETB P1.5</b></p><p>  DJNZ R6,DL2</p><p><b>  RET</b></p><p>

47、;  YIHAOMIAO: </p><p>  MOV R7,#250</p><p><b>  CV:NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R7,CV</p><p><b>  RET</b>&

48、lt;/p><p>  KAISHI: MOV A,#0</p><p><b>  MOV A,P3</b></p><p>  ANL A,#01H</p><p>  JNZ KAISHI</p><p><b>  RET</b></p><p>

49、  SND: SETB P1.0</p><p>  MOV R1,#1EH</p><p>  DL: MOV R0,#0F9H</p><p>  DL1: DJNZ R0,DL1</p><p>  DJNZ R1,DL</p><p><b>  CLR P1.0</b><

50、;/p><p><b>  RET </b></p><p>  TABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH, 6FH;0,1,2,3,4,5,6,7,8,9</p><p>  TABLE1:DB0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH, 087H,0FFH,0EF

51、H</p><p><b>  END </b></p><p><b>  4系統調試與仿真</b></p><p><b>  4.1仿真軟件簡介</b></p><p>  (1)Proteus是英國Labcenter electronics公司出版的仿真軟件。它不

52、僅具有其它仿真軟件的仿真功能,還能仿真單片機及外圍器件,它是目前最好的仿真單片機及外圍器件的工具。受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。</p><p>  (2)在Proteus繪制好原理圖后,調入已編譯好的目標代碼文件:*.HEX,可以在Proteus的原理圖中看到模擬的實物運行狀態和過程。Proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形

53、象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統的單片機實驗硬件高度對應。這在相當程度上替代了傳統的單片機實驗教學的功能。

54、 </p><p><b>  4.2仿真調試</b></p><p> ?。?) 經過對程序的運行,并用wave軟件編譯后,用proteus仿真軟件進行仿真,按下“開始”按鈕之前,可以看到數碼管上數字子顯示為零如圖4.1所示。</p>

55、<p>  圖4.1 開始狀態圖</p><p>  由圖4.1可以清楚的看到,秒表的初始狀態,三位數碼管都顯示為零。進行位選的端口也都處于低電位,蜂鳴器也未工作。單片機復位端為低電平。</p><p> ?。?) 當按下“開始”時秒表開始計時,秒表開始計時,其狀態如圖4.2所示。</p><p>  圖4.2 開始計時圖</p>&l

56、t;p>  由圖4.2可以看到,開始計時后,數碼管數字在變化,圖中為十分之一秒位的數碼管顯示情況。</p><p> ?。?) 當按下“停止”時秒表停止計時,數碼管顯示的數字不再變化,如圖4.3所示。</p><p>  圖4.3 停止狀態圖</p><p>  由圖4.3可以看到按下“停止”按鈕后各個數碼管的數字不再變化蜂鳴器也停止工作。</p>

57、<p> ?。?) 當按下“清零”時秒表無論是在計時還是在停止狀態都一律清零各數碼管全為零,回到初始狀態。</p><p><b>  5 總結</b></p><p>  在做課程設計的過程中我進一步認識到全面專業知識以及邏輯思考方式對研究問題的重要性,同時我也更加具體的掌握了課程設計的基本方法。經過不斷的的努力我們小組終于完成了這次課程設計,總的來說

58、,我們學到了不少的東西,知道了理論聯系實際的重要性。在設計過程中我們遇到了很多的困難,但沒放棄,查閱了許多相關的書籍,自己獨立思考和借鑒了前人的許多優秀成果,并與所學的知識緊密的結合了起來。我們相信這過程對今后的學習和工作給有著積極的影響。 </p><p>  通過這次設計,我們對這門課有了更好的理解。尤其結合了這幾年學的相關的專業知識,對各門課都有了一個較全面的理解。這必將對我們以后的學習和工作有很大

59、的幫助。本次設計就未深入涉及,想要更好的改進設計方案,還需要進一步的努力。如果有好的意見,希望老師給以幫助。</p><p><b>  參考文獻</b></p><p>  [1] 劉樂善.微型計算機接口技術及應用[M].北京:北京航空航天大學出版社,2001:258-264. </p><p>  [2] 何立民.單片機實驗與實踐教程[M

60、].北京:航空航天大學出版社,2004:46-67.</p><p>  [3] 李朝青.單片機原理及接口技術(第三版)[M].北京:北京航空航天大學出版社,1999: 280-296.</p><p>  [4] 童詩白.模擬電子技術基礎[M].北京:高等教育出版社,2001:53-69 .</p><p>  [5] 周明德.微型計算機系統原理及應用[M].北京

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論