數字電壓表課設報告_第1頁
數字電壓表課設報告_第2頁
數字電壓表課設報告_第3頁
數字電壓表課設報告_第4頁
數字電壓表課設報告_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

單片機原理及系統課程設計報告單片機原理及系統課程設計評語:考勤(10)守紀(10)過程(30)設計報告(30)答辯(20)總成績(100)專業:自動控制班級:自控控1203姓名:蘇龍學號:201209429指導教師:閔永智蘭州交通大學自動化與電氣工程學院2014年12月31日基于單片機的數字電壓表設計1設計題目本次單片機課程設計的題目是基于單片機的數字電壓表設計,基本要求是利用ADC0808測量電路電壓,并通過數碼管顯示一位小數,能輸出0~5V電壓。擴展要求是能使ADC0808能測量-5V~+5V電壓,并將基本要求中測量電路的輸出范圍擴展成-5V~+5V,精確到兩位小數。2設計目的隨著微電子技術的不斷發展,微處理器芯片的集成程度越來越高,單片機已可以在一塊芯片上同時集成CPU、存儲器、定時器/計數電路,這就很容易將計算機技術與測量控制技術結合,組成智能化測量控制系統。數字電壓表(DigitalVoltmeter)簡稱DVM,它是采用數字化測量技術,把連續的模擬量(直流輸入電壓)轉換成不連續、離散的數字形式并加以顯示的儀表。與此同時,由DVM擴展而成的各種通用及專用數字儀器儀表,也把電量及非電量測量技術提高到嶄新水平。由各種單片A/D轉換器構成的數字電壓表,已被廣泛用于電子及電工測量、工業自動化儀表、自動測試系統等智能化測量領域,示出強大的生命力理。本設計AT89C51單片機的一種電壓測量電路,該電路采用ADC0808A/D轉換電路,測量范圍直流正負5V的單路輸入電壓值,并在四位LED數碼管上顯示。測量最小分辨率為0.019V,測量誤差約為正負0.02V。3設計方案及原理3.1設計總體方案根據設計要求,選擇AT89C51單片機為核心控制器件。A/D轉換采用ADC0808實現,與單片機的接口為P1口和P2口的高四位引腳。電壓顯示采用4位一體的LED數碼管。并行端口P0產生LED數碼的段碼:并行端口P2高四位產生位碼。數字電壓表主要設計分為測量部分和顯示部分兩大部分,測量部分主要實現電壓的采集,顯示部分結合程序便可以在數碼管上實現正確顯示。3.2系統組成本設計主要有A/D轉換電路,AT89C51單片機系統,LED顯示系統、時鐘電路、復位電路以及測量電壓輸入電路。3.3系統原理結構數字電壓表主要部分是數據采集部分和控制部分,即0808和AT89C51。數字電壓表硬件電路設計框圖如圖1所示。圖1數字電壓表基本結構4硬件設計4.1電壓輸入電路正負5伏的電壓經滑變分壓后從ADC0808的IN0口輸入到0808中進行A/D轉換,由于ADC0808既可以實現單極性輸入也可以實現雙極性輸入,因此在模擬電壓為正負5伏的時候就不用再外加電路,可以直接輸入。電壓輸入模塊電路如圖2所示。圖2電壓輸入電路4.2LED數碼管顯示電路LED是發光二極管顯示器的縮寫。LED由于結構簡單、價格便宜、與單片機接口方便等優點而得到廣泛應用。LED顯示器是由若干個發光二極管組成顯示字段的顯示器件。在單片機中使用最多的是七段數碼顯示器。LED七段數碼顯示器由8個發光二極管組成顯示字段,其中7個長條形的發光二極管排列成“日”字形,另一個圓點形的發光二極管在顯示器的右下角作為顯示小數點用,其通過不同的組合可用來顯示各種數字。單片機的P1口連接數碼管的段控制端口,P2口連接數碼管的位控制口,對數碼管顯示哪一位進行相應的控制。由于數碼管采用的是共陰極接法,因此當P1口出現高電平的時候數碼管就會發光。數碼管顯示電路如圖3所示。圖3數碼管顯示電路4.3時鐘電路晶振電路的設計由兩個電容與一個晶振組成,XTAL1、XTAL2分別是系統時鐘信號fosc的輸入和輸出端。用來產生一個12MHZ的頻率。晶振電路如圖4所示。圖4晶振電路5軟件設計采用AT89C51作為控制元件來實現對整體電路的控制,并結合Proteus和Keil等仿真及語言編譯軟件來實現。當有電壓輸入時運行整個系統就能在數碼管上顯示相應的電壓值。程序語言見附錄。具體流程圖如圖5所示。圖5主流程圖6系統仿真及調試在Proteus仿真軟件里進行仿真,當有模擬電壓輸入的時候整個系統就會工作起來,數碼管就會顯示相應的電壓值,電壓值的誤差都在可控制范圍。系統仿真電路如圖6所示。圖6系統仿真

7總結經過一段時間的不懈努力,本次課程設計即將接近尾聲,由于是初次嘗試設計電路,由于知識及經驗的匱乏,難免遇到很多困難,如果沒有導師的督促指導以及同學們的支持,很難順利的完成此次課程設計。從開始選題到設計的順利完成,都離不開老師、同學、朋友給以的幫助,在這里請接受我的謝意!首選,在本次課程設計過程中,從選題、構思、資料收集到最后定稿的各個環節老師都給予細心教導,使我對課程的多方面的知識有了深刻的認識,使我得以最終完成課程設計,在此表示衷心感謝。其次,感謝一起做課程設計的同學們,感謝你們給我的幫助和鼓勵,感謝你們在我遇到困難時所給的幫助,正是有了你們的幫助和鼓勵,此次課程設計才得以順利的完成。最后,衷心的感謝閔老師的精心指導,使我能夠順利地完成本次課程設計。

參考文獻[1]郭天祥.新概念51單片機C語言教程[M].北京:電子工業出版社.2009:100-124.[2]楊欣.電子設計從零開始[M].北京:清華大學出版社.2005:245-324.[3]王思明等.單片機原理及應用系統設計[M].北京:科學出版社.2012:303-324.附錄源程序代碼如下。#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintunsignedcharcodedispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//數碼管段選表及正負顯示uchardispbuf[4]={0,0,0,0};//定義四個存儲空間uchargetdata;sbitST=P3^0;sbitOE=P3^1;sbitEOC=P3^2;sbitCLK=P3^3;//端口定義voidDelay(uintx){uintj,k;for(j=0;j<x;j++)for(k=0;k<120;k++)}//延時函數大約1svoidDisplay(uchara,ucharb,ucharc,uchard,uchare){if(e){P1=0x00;P2=0xef;P1=dispcode[11];Delay(5);}else{P1=0x00;P2=0xff;P1=dispcode[a];Delay(5);}P1=0x00;P2=0xdf;P1=dispcode[b]|0x80;//選通第二位數按管或者小數點Delay(5);P1=0x00;P2=0xbf;P1=dispcode[c];//選通數碼管,數據從數組中提取Delay(5);//延時5sP1=0x00;P2=0x7f;P1=dispcode[d];Delay(5);}//數碼管動態顯示voidmain(void){longinttemp;floati;ST=0;OE=0;ET0=1;EA=1;//開啟中斷TMOD=0x02;TH0=216;//給定時器0賦初值40s的定時TL0=216;TR0=1;ST=1;ST=0;while(1){if(i<=0)//如果i小于0調用顯示函數時需要顯示負號{Display(dispbuf[4],dispbuf[1],dispbuf[2],dispbuf[3],1);}Else//要顯示的數據存儲在數組中{Display(dispbuf[4],dispbuf[1],dispbuf[2],dispbuf[3],0);}if(EOC==1)//轉換結束{OE=1;getdata=P0;OE=0;i=getdata*10/255-5.0;if(i<=0){temp=-i*

溫馨提示

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

評論

0/150

提交評論