單片機課程設計---60秒秒表_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  1任務及要求</b></p><p><b>  1.1設計任務</b></p><p>  學會用已經學過的單片機原理與應用的知識,來設計一個實用性的結構簡單化的小型電子產品。編寫一個程序,實現(xiàn)秒計時器從00—59計時的基本功能。利用Proteus工具來演示秒計時器的計時。</p><p>

2、<b>  1.2設計要求</b></p><p>  利用MCS-51系列單片機作為秒表的主控制器芯片,在單片機的P0端口和P2端口分別接兩個共陰數(shù)碼管,P0口驅動顯示秒時間的十位,P2口驅動顯示秒時間的個位。要求做到性能穩(wěn)定,結構簡單通俗易懂,結構模塊化,從而做到節(jié)約成本。</p><p>  (1)熟悉電路,了解P0和P1口的作用。</p><

3、;p>  (2)熟悉WAVE編譯環(huán)境。</p><p>  (3)熟練掌握匯編語言,調用延時程序。</p><p><b>  2設計思想</b></p><p><b>  2.1硬件設計</b></p><p>  將單片機設計成控制器,在AT89C51的P0口和P2口都接7SEG-COM

4、-CATHODE,P0口接上拉電阻,分別顯示十位和個位數(shù)字。</p><p><b>  2.2軟件設計</b></p><p>  通過單片機實現(xiàn)控制00-59的計數(shù),根據(jù)設計的要求,將0到59的數(shù)據(jù)除以10,分別取商和余數(shù)。并且當一秒鐘到來時,計數(shù)單元加1,到達60時,則自動返回到0,從新秒計數(shù)。同時在計數(shù)過程中調用延時程序。 </p><p&

5、gt;<b>  3電路原理與電路圖</b></p><p><b>  3.1電路原理</b></p><p>  編寫程序對80C51芯片進行初始化,在編程過程中主要使用延遲程序來實現(xiàn)秒計時器的計時功能。用Proteus軟件來實現(xiàn)秒計時器的仿真,其中將P0口和P1口分別作為高低位輸出端口。</p><p><b&

6、gt;  3.2電路原理圖</b></p><p><b>  圖3.1電路原理圖</b></p><p><b>  4流程圖與算法描述</b></p><p><b>  4.1函數(shù)流程圖</b></p><p>  4.1.1實驗系統(tǒng)流程圖</p>

7、<p>  圖4.1.1 實驗系統(tǒng)流程示意圖</p><p>  4.1.2延時程序流程圖</p><p>  圖4.1.2 延時程序流程圖</p><p><b>  4.2 算法描述</b></p><p>  根據(jù)設計的要求,利用單片機控制,實現(xiàn)秒計數(shù)并顯示,具體設計如下:</p>&l

8、t;p>  (1)將0到59的數(shù)據(jù)通過對10整除和對10求余,將數(shù)據(jù)的個位和十位分開。</p><p><b>  DIVAB</b></p><p><b>  (2)加1計數(shù)</b></p><p><b>  INC@R0</b></p><p><b&g

9、t;  (3)延時程序</b></p><p>  DELAY: MOV R5,#100</p><p>  DELAY2: MOV R6,#20</p><p>  DELAY1: MOV R7,#248</p><p>  DJNZ R7,$</p><p>  DJNZ

10、 R6,DELAY1</p><p>  DJNZ R5,DELAY2</p><p><b>  5仿真分析</b></p><p>  程序采用匯編語言編寫,并用protues軟件編譯。用學校的Proteus軟件畫電路圖和進行仿真。編譯通過以后,用Proteus軟件進行仿真和調試,把編譯過后生成的hex文件加載到單片機中運行后就

11、可以看到仿真的結果了。</p><p>  測試數(shù)據(jù)及結果如下:</p><p>  圖5-1 運行的結果</p><p><b>  6課程設計總結</b></p><p><b>  6.1 設計體會</b></p><p>  此次課程設計,我獲益良多,在之前了解相關的

12、單片機理論知識的基礎上,通過自己的動手實踐,理論與實踐的結合使得對知識的理解更加深刻,并且慢慢學會培養(yǎng)自己的創(chuàng)新精神,感覺很有成就感,但同時我也認識到自己在單片機方面還有很多不足,尤其是單片機指令系統(tǒng)及AT89C51各引腳的第二功能等等知識不夠熟練,因此在設計中遇到了很多不懂的知識,通過自己主動地查資料和請教老師及同學,這些問題也逐步得到解決。</p><p>  設計過程中,剛開始著手設計時,雖然表面看上去很容

13、易,不過實際也不是難題,可我還是沒有一點頭緒,之后花費了大量的時間和精力,同時得到老師和同學的幫助,才能順利的完成課程設計,但還是存在一些小問題,需要進一步鉆研和解決。設計時,不斷調試程序和修改程序,提高了自己對單片機的應用能力,分析問題和解決問題的能力。在實踐過程中陳老師和同學給了我很大的幫助和鼓勵,借此機會向他們表達我的感激之情。.</p><p>  6.2 存在問題與建議</p><p

14、>  通過這次課程設計我深刻的體會到了自己單片機知識的貧乏,編程時總是出現(xiàn)錯誤,導致我需要不斷地翻書查閱資料。</p><p>  在設計時,因能力有限,沒有充分利用所學的理論知識,如果適當?shù)膶υ撛O計增加功能,并對程序進行改進,就可以既允分利用資源,還可以充分節(jié)約資源,更適應市場的需求。</p><p><b>  參考文獻</b></p><

15、;p>  [1] 李泉溪.單片機原理與實例仿真[M].北京:北京航空航天大學出版社,2009</p><p>  [2] 江世明.基于Protues的單片機應用技術[M].北京:電子工業(yè)出版社,2009</p><p>  [3] 沈永林.嵌入式單片機技術[M].北京:清華大學出版社,2007</p><p>  [4] 常東超.C程序設計教程[M].北京::

16、清華大學出版社,2009</p><p><b>  附錄(源程序清單)</b></p><p><b>  ORG 0</b></p><p>  LJMP START ;啟動指令</p><p>  ORG 30H ;跳出中斷

17、入口</p><p>  START: MOV P0,#0 ;將p0口清零</p><p>  MOV P2,#0 ;將p2口清零</p><p>  MOV @R0,#00 ;將值0賦給R0 </p><p>  NEXT: MOV

18、 A,@R0 ;實現(xiàn)P0口從零到5的變化,以及P2口從零到九的變化 </p><p>  MOV B,#10</p><p>  DIV AB</p><p>  MOV DPTR,#TABLE ;建表</p><p>  MOVC A,@A+DPTR ;將表的首地址傳給累加

19、器A</p><p>  MOV P0,A</p><p>  MOV A,B</p><p>  MOVC A,@A+DPTR</p><p>  MOV P2,A</p><p>  LCALL DELAY ;調用延時程序</p><p&

20、gt;  INC @R0</p><p>  MOV A,@R0</p><p>  CJNE A,#60,NEXT ;比較循環(huán) </p><p>  LJMP START</p><p>  DELAY: MOV R5,#100 ;延時程序</p>

21、<p>  DELAY2: MOV R6,#20</p><p>  DELAY1: MOV R7,#248</p><p>  DJNZ R7,$</p><p>  DJNZ R6,DELAY1</p><p>  DJNZ R5,DELAY2</p><p><b

溫馨提示

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

評論

0/150

提交評論