單片機課程設計--脈沖寬度測量_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  單片機課程設計報告</b></p><p>  設計課題:脈沖寬度測量</p><p><b>  摘要</b></p><p>  二十世紀跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進入的電腦時代。但是,實際工作中并不是任何需要計算機的場合都要求計算機有很高的性能,一個控制電冰箱溫度

2、的計算機難道要用P4嗎?應用的關鍵是看是否夠用,是否有很好的性能價格比。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。自從1976年問世以來,單片機獲得了巨大的發(fā)展。現(xiàn)在比較流行的單片機是美國Intel的MCS51/96以及Motorola的MC系列,Zilog的Z8系列,同時還有更多新型的

3、、功能更強的單片機不斷出現(xiàn)。 Abstract:Twentieth century across the three “power” of the era, that the age of electricity, the electronic age and has </p><p>

4、;  關鍵字:單片機,脈沖寬度,系統(tǒng)設計。</p><p><b>  脈沖寬度測量</b></p><p><b>  目錄</b></p><p>  第一章    引言……………………………………………4</p><p>  第二章 方案選擇及總體設計…………

5、………………4</p><p>  2.1 硬件技術指標</p><p>  2.2 方案選擇及工作原理</p><p>  2.3 系統(tǒng)實現(xiàn)功能</p><p>  第三章 控制系統(tǒng)的硬件設計…………………………5</p><p>  3.1 系統(tǒng)模塊構成</p><p>  3.

6、2 系統(tǒng)工作原理圖</p><p><b>  3.3 管腳說明</b></p><p>  第四章 軟件設計及程序………………………………8</p><p>  4.1 軟件設計流程</p><p>  4.2 各子程序功能描述</p><p>  4.2.1 定時器T0中斷服務程

7、序</p><p>  4.2.2 顯示子程序</p><p>  4.3 系統(tǒng)總程序</p><p>  第五章 系統(tǒng)制作與調試…………………………………11</p><p><b>  5.1 硬件調試</b></p><p>  5.1.1 調試方法</p><

8、;p><b>  5.2 軟件調試</b></p><p><b>  5.3 結果分析</b></p><p>  第六章 總結與體會 ………………………………………12</p><p>  第七章 教材及參考書………………………………………12</p><p><b>

9、;  第一章 引言</b></p><p>  近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結構,以及針對具體應用對象特點的軟件結合,加以完善。本系統(tǒng)采用單片機AT89C51為中心器件來設計脈沖寬度測量器,系統(tǒng)實用性強、操作簡單、擴展性

10、強。在現(xiàn)有的單片機仿真機系統(tǒng)上掌握相關軟硬件設計與調試知識,根據所選擇題目,焊接好硬件電路,正確進行元器件的測試與調試,并在計算機上編寫匯編程序調試運行,并實現(xiàn)參考選題中要求的設計。</p><p>  第二章 方案選擇及工作原理</p><p>  2.1 硬件技術指標</p><p>  脈寬測量范圍:0~9.999s</p><p>

11、  顯示方式:四位數字顯示</p><p>  2.2 方案選擇及工作原理</p><p>  將脈沖信號從P3.0腳引入。將T0設為定時器方式工作。并工作在門控方式。初值TL0、TH0設為(65536-1000)MOD 256 (65536-1000)/256</p><p>  在待測脈沖高電平期間,T0對內部周期脈沖進行計數。在待測脈沖高電平結束時,其下降

12、沿向P3.0發(fā)中斷,在外中斷0的中斷服務程序中,讀取TH0、TL0的計數值,該值就是待測脈沖的脈寬。隨后清零TH0和TL0,以便下一脈寬的測量。</p><p>  2.3 系統(tǒng)實現(xiàn)功能</p><p>  在電源正確接入的前提下,由手動給矩形按鍵按一下產生信號從P3.0口輸入,從手動按下到手動停止之間進行計數。通過數碼管顯示計數脈沖的個數,其個數即為脈沖寬度。</p>&

13、lt;p>  第三章 控制系統(tǒng)的硬件設計</p><p>  3.1 系統(tǒng)模塊構成</p><p><b>  3.2 顯示方案</b></p><p>  于系統(tǒng)要顯示的內容較簡單,顯示量不多,所以選用數碼管既方便又經濟。LED有共陰極和共陽極兩種。</p><p>  二極管的陰極連接在一起,通常此公共陰

14、極接地,而共陽極則將發(fā)光二極管的陽極連接在一起,接入+5V的電壓。一位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管構成字型“8”的各個筆劃(段)a~g,另一個小數點為dp發(fā)光二極管。當在某段發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護各段LED不被損壞,需外加限流電阻。</p><p>  圖1.1 LED數碼管結構原理圖</p><p>  眾所周知,LED顯示

15、數碼管通常由硬件7段譯碼集成電路,完成從數字到顯示碼的譯碼驅動。本系統(tǒng)采用軟件譯碼,以減小體積,降低成本和功耗,軟件譯碼的另一優(yōu)勢還在于比硬件譯碼有更大的靈活性。所謂軟件譯碼,即由單片機軟件完成從數字到顯示碼的轉換。從LED數碼管結構原理可知,為了顯示字符,要為LED顯示數碼管提供顯示段碼,組成一個“8”字形字符的7段,再加上1個小數點位,共計8段,因此提供給LED數碼管的顯</p><p>  示段碼為1個字節(jié)

16、。各段碼位與顯示段的對應關系如表表1.2 </p><p>  表1.2 各段碼位的對應關系</p><p>  需說明的是當用數據口連接LED數碼管a~dp引腳時,不同的連接方法,各段碼位與顯示段有不同的對應關系。通常數據口的D0位與a段連接,D1位與b段連接,……D7位與dp段連接,如表1所示,表2.3為用于LED數碼管顯示的十六進制數和空白字符與P的顯示段碼。</p>

17、<p>  根據STC89C52RC單片機灌電流能力強,拉電流能力弱的特點,我們選用共陽數碼管。將AT89C2051的P1.0~P1.7分別與共陽數碼管的a~g及dp相連,高電平的位對應的LED數碼管的段暗,低電平的位對應的LED數碼管的段亮,這樣,當P0口輸出不同的段碼,就可以控制數碼管顯示不同的字符。例如:當P0口輸出的段碼為1100 0000,數碼管顯示的字符為0。</p><p>  表1.3

18、LED顯示段碼</p><p>  注:(1)本表所列各字符的顯示段碼均為小數點不亮的情況。</p><p> ?。?)“空白”字符即沒有任何顯示</p><p>  數碼管顯示器有二種工作方式,即靜態(tài)顯示方式和動態(tài)掃描顯示方式。為節(jié)省端口及降低功耗,本系統(tǒng)采用動態(tài)掃描顯示方式。動態(tài)掃描顯示方式需解決多位LED數碼管的“段控”和“位控”問題,本電路的“段控”(即要顯

19、示的段碼的控制)通過P0口實現(xiàn);而每一位的公共端,即LED數碼管的“位控”,則由P1口控制。這種連接方式由于多位字段線連在一起,因此,要想顯示不同的內容,必然要采取輪流顯示的方式,即在某一瞬間,只讓其中的某一位的字位線處于選通狀態(tài),其它各位的字位線處于斷開狀態(tài),同時字段線上輸出這一位相應要顯示字符的字段碼。在這一瞬時,只有這一位在顯示,其他幾位則暗。在本系統(tǒng)中,字位線的選通與否是通過74HC138來控制,這里74HC138的功能不再詳述

20、。</p><p>  STC89C52RC單片機介紹</p><p>  STC89C52RC單片機是由深圳宏晶公司代理銷售的一款MCU,是由美國設計生產的一種低電壓、高性能CMOS 8位單片機,片內含8kbytes的可反復寫的FlashROM和256bytes的RAM,2個16位定時計數器[5]。 </p><p>  STC89C52單片機內部主要包括累加器A

21、CC(有時也簡稱為A)、程序狀態(tài)字PSW、地址指示器DPTR、只讀存儲器ROM、隨機存取存儲器RAM、寄存器、并行I/O接口P0~P3、定時器/計數器、串行I/O接口以及定時控制邏輯電路等。這些部件通過內部總線聯(lián)接起來,構成一個完整的微型計算機。其管腳圖如圖所示。</p><p>  STC89C52RC單片機管腳結構圖</p><p><b>  3.3 管腳說明</b

22、></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在編程時,P0 口作為原碼輸入口,當進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p>  P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收

23、,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地</p><p>  “1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在編程和校驗時接收高八位地址

24、信號和控制信號。</p><p>  P3口也可作為89C51的一些特殊功能口,在本次課程設計中用到的P3口如下所示:</p><p>  P3.2 /INT0(外部中斷0)</p><p>  3.4 仿真分析圖:</p><p>  第四章 軟件設計及程序</p><p>  4.1 軟件設計流程</

25、p><p><b>  . .</b></p><p>  4.2 各子程序功能描述:</p><p>  4.2.1 定時器T0中斷服務程序:</p><p>  通過對方式寄存器TMOD和控制寄存器TCON的編程來選擇T0的工作方式。TMOD設為09H,表示門控方式為1,16位定時器。TCON的低四位為外部中

26、斷的觸發(fā)方式控制位和外部中斷請求標志,設為13H,門控位為1時,僅當TR0等于1且P3.0輸入為高電平時T0才計數,TR0為0或P3.0輸入低電平時都禁止計數,以此來判斷輸入脈沖高電平的開始和結束。</p><p>  4.2.2顯示子程序:</p><p>  時間顯示子程序每次顯示4個連續(xù)單元的十進制數。顯示時,先取出內存地址中的數據,然后從P2.4、P2.5、P2.6、P2.7口依次

27、由低位到高位顯示,在顯示過程中通過延時程序控制四個數碼管的顯示時間長度,以達到可以清晰讀出四位數。</p><p>  4.3 系統(tǒng)總程序</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p><p>  ORG 000BH ;//

28、設置定時器T0入口為000BH</p><p>  LJMP FORT0</p><p><b>  ORG 0050H</b></p><p><b>  MAIN:</b></p><p>  MOV P3,#0FFH;//P3.0接外部獨立按鍵</p><p>  MO

29、V IE,#82H;//開中斷并且設置T0初值</p><p>  MOV TMOD,#01H</p><p>  MOV TL0,#(65536-1000)MOD 256</p><p>  MOV TH0,#(65536-1000)/256</p><p>  M0: LCALL DISPLAY</p><p>

30、  JB P3.0,M0;//判斷按鍵是否按下,按下即開始計時</p><p><b>  MOV R0,#0</b></p><p><b>  MOV R1,#0</b></p><p><b>  MOV R2,#0</b></p><p><b>  MOV

31、R3,#0</b></p><p><b>  SETB TR0</b></p><p>  JNB P3.0,$;//按鍵抬起后定時結束</p><p><b>  CLR TR0</b></p><p>  LCALL DISPLAY;//在數碼管顯示脈沖寬度</p>

32、<p><b>  SJMP M0</b></p><p>  FORT0: MOV TL0,#(65536-1000)MOD 256;//定時器中斷子程序</p><p>  MOV TH0,#(65536-1000)/256</p><p><b>  INC R0</b></p><p

33、>  CJNE R0,#10,M2</p><p><b>  MOV R0,#0</b></p><p><b>  INC R1</b></p><p>  CJNE R1,#10,M2</p><p><b>  MOV R1,#0</b></p>

34、<p><b>  INC R2</b></p><p>  CJNE R2,#10,M2</p><p><b>  MOV R2,#0</b></p><p><b>  INC R3</b></p><p><b>  M2: RETI</b&

35、gt;</p><p>  DISPLAY:MOV P2,#3;//顯示子程序</p><p><b>  MOV A,R0</b></p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b

36、></p><p>  LCALL DELAY</p><p><b>  MOV P2,#2</b></p><p><b>  MOV A,R1</b></p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p&g

37、t;<p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p><b>  MOV P2,#1</b></p><p><b>  MOV A,R2</b></p><p>  MOV DPTR,#TAB</p&

38、gt;<p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p><b>  MOV P2,#0</b></p><p><b>  MOV A,R3</b></

39、p><p>  MOV DPTR,#TAB</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p><b>  RET</b></p><p>  

40、DELAY: MOV R6,#5;//延時子程序</p><p>  DL0: MOV R7,#250</p><p><b>  DJNZ R7,$</b></p><p>  DJNZ R6,DL0</p><p><b>  RET</b></p><p>  T

41、AB: ;//字型碼查詢表</p><p>  DB 03FH,006H,05BH,04FH</p><p>  DB 066H,06DH,07DH,007H</p><p>  DB 07FH,06FH,077H,07CH</p><p>  DB 039H,05EH,079H,071H</p><p><b&

42、gt;  END</b></p><p>  第五章 系統(tǒng)制作與調試</p><p><b>  5.1 硬件調試</b></p><p>  5.1.1 調試方法</p><p>  硬件調試是利用基本測試儀器(萬用表、示波器等),檢查系統(tǒng)硬件中存在的故障。</p><p> 

43、 第一步:目測。檢查外部的各種元件或者是電路是否有斷點。</p><p>  第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線與地線之間是否有短路現(xiàn)象。</p><p>  第三步:加電檢測。給系統(tǒng)加電,檢測所有器件的電源端是否符合要求。</p><p> ?。?)取穩(wěn)壓電源打開電源,檢查電源的輸出電壓是否為5V,可通過觀察電源的量程及指針

44、的讀數來判斷或用萬用表測量。(2)在確定輸出電壓正確的情況下,接好電路,用一根導線從地引出,接到P3.2口;再用另一根線從地引出分別接到P2.4、P2.5、P2.6、P2.7口,觀察數碼管的亮滅情況。</p><p>  5.2 軟件調試:</p><p>  軟件調試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。在keil編譯器下進行程序編譯,

45、檢查程序是否有語法錯誤。接好仿真機判斷接口。以子程序為單位逐個進行仿真,最后結合硬件實時調試。</p><p>  將上述各編譯好的子程序結合為總程序編譯后加載到單片機芯片中進行仿真,結果并不是出現(xiàn)穩(wěn)定的四位數字,閃的頻率比較快,調整延時時間后問題解決。</p><p><b>  調試前:</b></p><p><b>  調試后

46、:</b></p><p><b>  5.3 結果分析</b></p><p>  通過測試我們一般的手動按下按鈕再停止一般時間為165~225ms,比較符合事實情況,成功完成實驗要求。</p><p>  第六章 總結與體會</p><p>  本系統(tǒng)是以單片機89C52芯片為核心部件,通過89C52

47、芯片內部軟件計數來測量脈沖寬度的功能。此次在軟件上是花費時間最多的,我們上網找資料,上圖書館,盡可能的了解有關于脈沖寬度測量這方面的知識。通過這次課程設計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機的基本原理、單片機應用系統(tǒng)結合過程,以及在常用編程設計思路技巧(特別是匯編語言C51語言)的掌握方面都能向前邁了一大步。 </p><p>  第七章 教材

48、及參考書</p><p>  [1] 胡漢才,單片機原理及其接口技術,清華大學出版社</p><p>  [2] 鄒逢興,微型計算機接口原理與技術,國防科技大學出版社</p><p>  [3] 閻凱,微型計算機硬件設計原理分析與維修,科學出版社</p><p>  [4] 何立民,MCS-51系列單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術,北京航

溫馨提示

  • 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

提交評論