基于MCS-51單片機-數(shù)字電壓表設計_第1頁
基于MCS-51單片機-數(shù)字電壓表設計_第2頁
基于MCS-51單片機-數(shù)字電壓表設計_第3頁
基于MCS-51單片機-數(shù)字電壓表設計_第4頁
基于MCS-51單片機-數(shù)字電壓表設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 引言 在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經常。而且隨著電子技術的發(fā)展,更是經常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。數(shù)字電壓表簡稱DVM,它是采用數(shù)字化測量技術,把連續(xù)的模擬量轉換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。最近的幾十年來,隨著半導體技術、集成電路(IC)和微處理器技術的發(fā)展,數(shù)字電路和數(shù)字化測量技術也有了巨大的進步,從而促使了數(shù)字電壓表的快速發(fā)展,并不斷出現(xiàn)新的類型。數(shù)字電壓表從1952年問世以來,經歷了不斷改進的過程,從最早采用繼電器、電子管和形式發(fā)展到了現(xiàn)在的全固態(tài)化、集成化(IC化),另一方面,精度也

2、從0.01%-0.005%。本文是以簡易數(shù)字直流電壓表的設計為研究內容,本系統(tǒng)主要包括三大模塊:轉換模塊、數(shù)據處理模塊及顯示模塊。其中,A/D轉換采用ADC0808對輸入的模擬信號進行轉換,控制核心AT89C51再對轉換的結果進行運算處理,最后驅動輸出裝置LED顯示數(shù)字電壓信號。2 設計總體方案2.1設計要求 以MCS-51系列單片機為核心器件,組成一個簡單的直流數(shù)字電壓表。采用1路模擬量輸入,能夠測量0-5V之間的直流電壓值。電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 盡量使用較少的元器件。2.2 設計思路根據設計要求,選擇AT89C51單片機為核心控制器件。A/D轉換采用

3、ADC0808實現(xiàn),與單片機的接口為P1口和P2口的高四位引腳。電壓顯示采用4位一體的LED數(shù)碼管。LED數(shù)碼的段碼輸入,由并行端口P0產生:位碼輸入,用并行端口P2低四位產生。2.3 設計方案硬件電路設計由6個部分組成; A/D轉換電路,AT89C51單片機系統(tǒng),LED顯示系統(tǒng)、時鐘電路、復位電路以及測量電壓輸入電路。硬件電路設計框圖如圖1所示。 時鐘電路 復位電路A/D轉換電路測量電壓輸入顯示系統(tǒng)AT89C51 P1 P2 P2 P0 圖1 數(shù)字電壓表系統(tǒng)硬件設計框圖3硬件電路設計基于單片機的數(shù)字直流電壓表硬件電路原理圖如圖2所示。圖2 簡易數(shù)字電壓表電路圖此電路的工作原理是:+5V模擬電

4、壓信號通過變阻器VR1分壓后由ADC0808的IN0通道進入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經過模/數(shù)轉換后,產生相應的數(shù)字量經過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負責把接收到的數(shù)字量經過數(shù)據處理,產生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產生位選信號控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0808的工作。其中,單片機AT89C51通過定時器中斷從P2.4輸出方波,接到ADC0808的CLOCK,P2.6發(fā)正脈沖啟動A/D轉換,P2.5檢測A/

5、D轉換是否完成,轉換完成后,P2.7置高從P1口讀取轉換結果送給LED顯示出來。.簡易數(shù)字直流電壓表的硬件電路已經設計完成,就可以選取相應的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細地檢查修改,直至形成完善的硬件原理圖。但要真正實現(xiàn)電路對電壓的測量和顯示的功能,還需要有相應的軟件配合,才能達到設計要求。4程序設計4.1 程序設計總方案 根據模塊的劃分原則,將該程序劃分初始化模塊,A/D轉換子程序和顯示子程序,這三個程序模塊構成了整個系統(tǒng)軟件的主程序,如圖3所示。開始初始化調用A/D轉換子程序調用顯示子程序結束圖3 數(shù)字式直流電壓表主程序框圖4.2 系統(tǒng)子程序設計4.2.1 初

6、始化程序所謂初始化,是對將要用到的MCS_51系列單片機內部部件或擴展芯片進行初始工作狀態(tài)設定,初始化子程序的主要工作是設置定時器的工作模式,初值預置,開中斷和打開定時器等。4.2.2 A/D轉換子程序A/D轉換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數(shù)值存入相應的內存單元,其轉換流程圖如圖4所示。開始啟動轉換A/D轉換結束?輸出轉換結果數(shù)值轉換顯示結束圖4 A/D轉換流程圖4.2.3 顯示子程序顯示子程序采用動態(tài)掃描實現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得LED顯示的比較均勻,又有足夠的亮度,需要設置適當?shù)膾呙桀l率,當掃描頻率在70HZ左右時,能夠產生比較好

7、的顯示效果,一般可以采用間隔10ms對LED進行動態(tài)掃描一次,每一位LED的顯示時間為1ms。在本設計中,為了簡化硬件設計,主要采用軟件定時的方式,即用定時器0溢出中斷功能實現(xiàn)11s定時,通過軟件延時程序來實現(xiàn)5ms的延時。4.3程序代碼LED_0 EQU 30HLED_1 EQU 31HLED_2 EQU 32HADC EQU 35HCLOCK BIT P2.4ST BIT P2.5EOC BIT P2.6OE BIT P2.7 ORG 00H SJMP START ORG 0BH SJMP INT_T0 START:MOV LED_0,#00H MOV P2,#0FFH MOV LED_1

8、,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV TMOD,#02H MOV TH0,#245 MOV TL0,#00H MOV IE,#82H SETB TR0 WAIT:CLR ST SETB STCLR STJNB EOC,$SETB OEMOV ADC,P1CLR OEMOV A,ADCMOV B,#51DIV ABMOV LED_2,AMOV A,BMOV B,#5DIV ABMOV LED_1,AMOV LED_0,BLCALL DISPSJMP WAITINT_T0:CPL CLOCK RETIDISP:MOV A,LED_0 MOVC A,A+D

9、PTR CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3 MOV A,LED_1 MOVC A,A+DPTR CLR P2.2 MOV P0,A LCALL DELAY SETB P2.2 MOV A,LED_2 MOVC A,A+DPTR CLR P2.1;ORL A,#80H; SETB ACC.7 MOV P0,A LCALL DELAY SETB P2.1 RETDELAY:MOV R6,#10D1:MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H

10、,7FH,6FH END5仿真5.1 仿真過程1 將設計的電路在單片機仿真軟件Proteus7中進行仿真,仿真電路圖需要的元件如下: 接地ground Power AT89C51 CAP CAP-ELEC CRYSTAL RES ADC0808 PULLUPRES-VAR BUTTON連接好電路圖.5.2 軟件調試軟件調試的主要任務是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。本系統(tǒng)的調試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序寫入單片機。5.3

11、顯示結果 1. 當IN0口輸入電壓值為0V時,顯示結果如圖5所示,測量誤差為0V。 圖5 輸入電壓為0V時,LED的顯示結果2. 當IN0輸入電壓值為1.50V時,顯示結果如圖6所示。測量誤差為0.01V。 圖6 輸入電壓為1.50V時,LED的顯示結果3. 當IN0口輸入電壓值為3.50V時,顯示結果如圖7。測量誤差為0.01V。 圖7 輸入電壓為3.50V時,LED的顯示結果5試驗臺效果圖:6結論經過一段時間的努力,課程設計-基于MCS-51單片機數(shù)字電壓表設計基本完成。但設計中的不足之處仍然存在。在這過程中,我對電路設計,單片機的使用等都有了新的認識。通過這次設計學會了Proteus和K

12、eil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設計、功能模塊的劃分、原理圖的設計和電路圖的仿真的設計流程,積累了不少經驗?;趩纹瑱C的數(shù)字電壓表使用性強、結構簡單、成本低、外接元件少。在實際應用工作應能好,測量電壓準確,精度高。系統(tǒng)功能、指標達到了課題的預期要求、系統(tǒng)在硬件設計上充分考慮了可擴展性,經過一定的改造,可以增加功能。本文設計主要實現(xiàn)了簡易數(shù)字電壓表測量一路電壓的功能,詳細說明了從原理圖的設計、電路圖的仿真再到軟件的調試。通過本次設計,我對單片機這門課有了進一步的了解。無論是在硬件連接方面還是在軟件編程方面。本次設計采用了AT89C51單片機芯片,與以往的單片機相比增加了許多新的功能,使其功能更為完善,應用領域也更為廣泛。設計中還用到了模/數(shù)轉換芯片ADC0808,以前在學單片機課程時只是對其理論知識有了初步的理解。通過這次設計,對它的工作原理有了更深的理解??傊@次電路的設計和仿真,基本上達到了設計的功能要求。在以后的實踐中,我將繼續(xù)努力學習電路設計方面的理論知識,并理論聯(lián)系實際,爭取在電路設計方面能有所提升。參 考 文 獻1 李朝青單片機原理及接口技術第三版北京:北京航天航空大學出版社,200517242 苗紅霞. 單片機實現(xiàn)數(shù)字電壓表的軟硬

溫馨提示

  • 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

提交評論