單片機課程設計方案脈沖寬度測量_第1頁
單片機課程設計方案脈沖寬度測量_第2頁
單片機課程設計方案脈沖寬度測量_第3頁
單片機課程設計方案脈沖寬度測量_第4頁
單片機課程設計方案脈沖寬度測量_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

1、JIANGSU TEACHERS UNIVERSITYOF TECHNOLOGY單片機課程設計報告 200911 2.12.22.3 3.13.23.3 4.14.2T04.3 5.15.25.3 AT89C51試,并在計算機上編寫匯編程序調(diào)試運行,并實現(xiàn)參考選題中要求的設計。第二章 方案選擇及工作原理2.1 硬件技術(shù)指標輸入脈沖幅度:0-5V脈寬測量范圍:0.1-50ms測量精度: 1%顯示方式:四位數(shù)字顯示2.2 方案選擇及工作原理將脈沖信號從P3.2 腳引入。將T0 設為定時器方式工作。并工作在門控方式。初值TH0 、TL0 設為零。在待測脈沖高電平期間,T0 對內(nèi)部周期脈沖進行計數(shù)。在

2、待測脈沖高電平結(jié)束時,其下降沿向 P3.2 發(fā)中斷,在外中斷 0 的中斷服務程序中,讀取 TH0 、TL0 的計數(shù)值,該值就是待測脈沖的脈寬。隨后清零 TH0 和 TL0 ,以便下一脈寬的測量。2.3 系統(tǒng)實現(xiàn)功能在電源正確接入的前提下,由RC 震蕩器產(chǎn)生信號從P3.2 口輸入,利用內(nèi)部脈沖對外部信號進行計數(shù)。計數(shù)值經(jīng)過二 十轉(zhuǎn)換后,判斷高位是否為零,如果為零即顯示低四位,如果不為零即顯示高四位。通過數(shù)碼管顯示計數(shù)脈沖的個數(shù),其個數(shù)即為脈沖寬度。第三章控制系統(tǒng)的硬件設計3.1 系統(tǒng)模塊構(gòu)成3.2 系統(tǒng)工作原理圖3.3 管腳說明VCC :供電電壓。GND :接地。P0 口: P0 口為一個8 位

3、漏級開路雙向I/O 口,每腳可吸收8TTL 門電流。當P1 口的管腳第一次寫1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在編程時,P0口作為原碼輸入口,當進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P2 口: P2 口為一個內(nèi)部上拉電阻的8 位雙向 I/O 口, P2 口緩沖器可接收,輸出4 個 TTL門電流,當P2 口被寫 “1時”,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當用于外部程序存儲器或16 位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸出地址的

4、高八位。在給出地“ 1時”,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2 口在編程和校驗時接收高八位地址信號和控制信號。P3 口也可作為89C51 的一些特殊功能口,在本次課程設計中用到的P3 口如下所示:P3.2 /INT0 (外部中斷0)RST:復位輸入。當振蕩器復位器件時,要保持RST 腳兩個機器周期的高電平時間。XTAL1 :反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2 :來自反向振蕩器的輸出。第四章軟件設計及程序4.1 軟件設計流程4.2 各子程序功能描述:定時器T0 中斷服務程序:設為通過對方式寄存器TMOD 和控制寄

5、存器09H,表示門控方式為1, 16 位定時器。TCON 的編程來選擇T0 的工作方式。 TMODTCON 的低四位為外部中斷的觸發(fā)方式控制位和外部中斷請求標志,設為13H,門控位為1 時,僅當TR0 等于 1 且 P3.2 輸入為高電平時 T0 才計數(shù), TR0 為 0 或 P3.2 輸入低電平時都禁止計數(shù),以此來判斷輸入脈沖高電平的開始和結(jié)束。顯示子程序:時間顯示子程序每次顯示4 個連續(xù)單元的十進制數(shù)。首先判斷高位是否為0,為0 調(diào)用低四位顯示,不為0 則顯示高四位。顯示時,先取出內(nèi)存地址中的數(shù)據(jù),然后從P2.4、 P2.5、P2.6、 P2.7 口依次由低位到高位顯示,在顯示過程中通過延

6、時程序控制四個數(shù)碼管的顯示時間長度,以達到可以清晰讀出四位數(shù)。4.3 系統(tǒng)總程序ORG 0000HAJMP MAINORG 0003HAJMP JISHIMAIN: MOV SP,#60H;設堆棧MOV TMOD,#09H;設置控制字方式方式 0 門控MOV TH0,#00H;定時器清零MOV TL0,#00HSETB EA;開總中斷SETB EX0;開 T0 中斷SETB TR0SETB IT0MAIN1:ACALL EX;調(diào)用二進制轉(zhuǎn)換為十進制子程序ACALL NEX;調(diào)用拆為非壓縮BCD 碼數(shù)子程序MOV 50H,#0FAH;延時程序MOV A,23H;將 R4 中低位給累加器CJNE

7、A,#0H,MAIN3;比較累加器中數(shù)值和0,不等于0 跳轉(zhuǎn)MAIN2:ACALL DISP;調(diào)用顯示子程序1AJMP MAIN4MAIN3:ACALL DISP2;調(diào)用顯示子程序2MAIN4:DJNZ 50H,MAIN2;循環(huán) 250 次AJMP MAIN1EX:MOV R2,30H;將從信號源中讀出的數(shù)據(jù)存入R2R3 中MOV R3,31HCLR AMOV R4,AMOV R5,AMOV R6,AMOV R7,#10HLOOP: CLR CMOV A,R3RLC A; R3 帶進位左移一位MOV R3,AMOV A,R2RLC AMOV R2,A; 2* (R4R5R6 ) +C 賦值給

8、R4R5R6MOV A,R6ADDC A,R6DA AMOV R6,AMOV A,R5ADDC A,R5DA AMOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,ADJNZ R7,LOOP;( R7) -1 賦值給 R7 是否為零RETNEX: MOV A,R6ANL A,#0FHMOV 19H,AMOV A,R6;拆分為非壓縮 BCD 碼SWAP A;將 R6 中高低四位相互轉(zhuǎn)換ANL A,#0FH;將高四位清零,保持低四位不變MOV 20H,AMOV A,R5ANL A,#0FHMOV 21H,AMOV A,R5SWAP AANL A,#0FHMOV 22H,AMOV

9、 A,R4ANL A,#0FHMOV 23H,ARETDISP: MOV DPTR,#TABMOV A,19HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.4ACALL YANCHI;查表程序MOV A,20HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.5ACALL YANCHIMOV A,21HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.6ACALL YANCHIMOV A,22HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.7ACALL YANCHIR

10、ETDISP2: MOV DPTR,#TABMOV A,20HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.4ACALL YANCHIMOV A,21HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.5ACALL YANCHIMOV A,22HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ASETB P0.7CLR P2.6ACALL YANCHIMOV A,23HMOVC A,A+DPTRORL P2,#0F0HMOV P0,ACLR P2.7ACALL YANCHIRETYANCHI: MOV 51H,#5

11、0HTL: MOV 52H,#10HDJNZ 52H,$DJNZ 51H,TLRETTAB: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FHJISHI:MOV 30H,TH0MOV 31H,TL0MOV TH0,#00HMOV TL0,#00HRETIEND第五章系統(tǒng)制作與調(diào)試5.1 硬件調(diào)試調(diào)試方法硬件調(diào)試是利用基本測試儀器(萬用表、示波器等),檢查系統(tǒng)硬件中存在的故障。第一步:目測。檢查外部的各種元件或者是電路是否有斷點。第二步:用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測各種電源線與地線之間是否有短路現(xiàn)象。第三步:加電檢測。給系統(tǒng)加電

12、,檢測所有器件的電源端是否符合要求。( 1)取穩(wěn)壓電源打開電源,檢查電源的輸出電壓是否為5V ,可通過觀察電源的量程及指針的讀數(shù)來判斷或用萬用表測量。(2)在確定輸出電壓正確的情況下,接好電路,用一根導線從地引出,接到P3.2 口;再用另一根線從地引出分別接到P2.4、 P2.5、 P2.6、 P2.7口,觀察數(shù)碼管的亮滅情況。出現(xiàn)問題及解決方法在觀察信號發(fā)生器產(chǎn)生波形時發(fā)現(xiàn)所產(chǎn)生的波形并不是標準的方波。經(jīng)過老師的講解知道問題時處在波形整形步驟中,將信號源連接兩個非門后再觀察波形發(fā)現(xiàn)波形的垂直程度得到很好的改善。在觀察過程中還發(fā)現(xiàn)本次課程設計中用來產(chǎn)生信號源的方案所實現(xiàn)的方波并不等寬。在測試數(shù)

13、碼顯示器時,其中一個數(shù)碼顯示管特別暗,經(jīng)檢查得知該數(shù)碼顯示管的小數(shù)點位沒有接上拉電阻,這樣導致分流出現(xiàn)問題。接上電阻后該問題得到解決。5.2 軟件調(diào)試:軟件調(diào)試是通過對程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。在 LCA51 編譯器下進行程序編譯,檢查程序是否有語法錯誤。接好仿真機判斷接口。以子程序為單位逐個進行仿真,最后結(jié)合硬件實時調(diào)試。將上述各編譯好的子程序結(jié)合為總程序編譯后加載到單片機芯片中進行仿真,結(jié)果并不是出現(xiàn)穩(wěn)定的四位數(shù)字,閃的頻率比較快,調(diào)整延時時間后問題解決。5.3 結(jié)果分析通過數(shù)字示波器觀測,輸入信號的高電平的寬度為6.72ms,波形的峰 峰值為4.08V 。數(shù)碼管顯示脈寬為6.48 ms。輸入脈沖幅度及脈寬測量范圍都滿足要求。測量精度 =±( 6.72-6.48 ) /6.72= ±4.5%數(shù)碼管顯示時數(shù)字在不斷的跳動,可能原因是輸入信號不穩(wěn)。第六章總

溫馨提示

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

最新文檔

評論

0/150

提交評論