基于STC89C52的數字電壓表設計報告_第1頁
基于STC89C52的數字電壓表設計報告_第2頁
基于STC89C52的數字電壓表設計報告_第3頁
基于STC89C52的數字電壓表設計報告_第4頁
基于STC89C52的數字電壓表設計報告_第5頁
已閱讀5頁,還剩6頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

..荊楚理工學院單片機課程設計成果學院:電子信息工程學院班級:13電氣2班學生姓名:xxx學號:xxxxxxxxxxxxxxxx設計地點〔單位單片機實驗室D1302設計題目:數字電壓表完成日期:2015年7月3日指導教師評語:_________________________________成績<五級記分制>:教師簽名:摘要電壓表是測量儀器中不可缺少的設備,目前廣泛應用的是采用專用集成電路實現的數字電壓表。本系統以STC89C52單片機為核心,以逐次逼近式A/D轉換器ADC0809、數碼管顯示器為主體,設計了一款簡易的數字電壓表,能夠測量0~5V的直流電壓。該設計大體分為以下幾個部分,同時,各部分選擇使用的主要元器件確定如下:1、單片機部分。使用常見的STC89C52單片機,同時根據需要設計單片機電路。2、測量部分。該部分是實驗的重點,要求將外部采集的模擬信號轉換成數字信號,通過單片機的處理顯示在顯示器上。根據需要本設計采用逐次逼近型A∕D轉換器ADC0809進行模數轉換。3、數碼管顯示部分。其中一位為整數部分,其余位小數部分。關鍵詞:STC89C52模數轉換數碼管顯示目錄1.方案設計與論證41.1方案設計41.2方案論證42.系統硬件電路設計42.1系統原理框圖42.2A/D轉換電路52.3單片機主控電路52.4電壓顯示電路72.5總體電路設計83.系統測試103.1測試方法與結果103.2測試結論113.3誤差分析114.設計總結11參考文獻13附錄141.方案設計與論證數字電壓表〔DigitalVoltmeter簡稱DVM,目前采用單片機設計的數字電壓表,由于精度高、抗干擾能力強、可擴展性強、集成方便,還可以與PC進行實時通信,所以以下方案均采用單片機設計。1.1方案設計方案一:使用AT89C51單片機作為核心控制芯片,并用TLC549串行芯片作模數采樣芯片。其占用的單片機的I/O口少且占用電路面積小。其缺點是編程比較復雜。方案二:使用STC89C52RC單片機作為核心控制芯片,并采用ADC0809數模轉換芯片其需要占用一個I/O口,可以循環采樣8路模擬通道。編程相對更為簡單。1.2方案論證結合實際情況,采用TLC549串行芯片實現電路不具有可行性,所以本設計采用方案二。2.系統硬件電路設計2.1系統原理框圖圖2-1系統原理框圖2.2A/D轉換電路本設計采用ADC0809芯片進行數模轉換,ADC0809是具有8通道、8位逐次逼近式A/D模數轉換器。其內部有一個8通道多路開關,它可以根據地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉換。A/D轉換工作原理:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復位。下降沿啟動A/D轉換,之后EOC輸出信號變低,指示轉換正在進行。直到A/D轉換完成,EOC變為高電平,指示A/D轉換結束,結果數據已存入鎖存器,這個信號可用作中斷申請。當OE輸入高電平時,輸出三態門打開,轉換結果的數字量輸出到數據總線上。其結構原理圖和外部引腳圖如圖1-2所示。圖2-2ADC0809內部結構框圖及引腳圖本設計通過輸入電路將8路輸入電壓送入ADC0809。并通過單片機P3端口控制實現模數轉換,并將轉換后的數字信號送入單片機的P2口。ADC0809芯片的時鐘信號由單片機產生,送入芯片clock端口。芯片的基準電壓和電源電壓均由單片機學習板提供。2.3單片機主控電路STC89C52性能STC89C52是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含有4KB的可反復擦寫的只讀程序存儲器和128字節的隨機存儲器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的STC89C52是一種高效微控制器,它為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。STC89C52功能性能:與MCS-51成品指令系統完全兼容;4KB可編程閃速存儲器;壽命:1000次寫/擦循環;數據保留時間:10年;全靜態工作:0-24MHz;三級程序存儲器鎖定;128*8B內部RAM;32個可編程I/O口線;2個16位定時/計數器;5個中斷源;可編程串行UART通道;片內震蕩器和掉電模式。2.3.2STC89C52RC各引腳功能2-3-2引腳配置圖P0端口:P0口是一個漏極開路的8位雙向I/O口。作為輸出端口每個引腳能驅動8個TTL負載對端口P0寫入"1"時可以作為高阻抗輸入。在訪問外部程序和數據存儲器時P0口也可以提供低8位地址和8位數據的復用總線。此時P0口內部上拉電阻有效。在FlashROM編程時P0端口接收指令字節而在校驗程序時則輸出指令字節。驗證時要求外接上拉電阻。P1端口:P1口是一個帶內部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅動吸收或者輸出電流方式4個TTL輸入。對端口寫入1時通過內部的上拉電阻把端口拉到高電位這是可用作輸入口。P1口作輸入口使用時因為有內部上拉電阻那些被外部拉低的引腳會輸出一個電流。P2端口:P2口是一個帶內部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅動吸收或輸出電流方式4個TTL輸入。對端口寫入1時通過內部的上拉電阻把端口拉到高電平這時可用作輸入口。P2作為輸入口使用時因為有內部的上拉電阻那些被外部信號拉低的引腳會輸出一個電流。在訪問外部程序存儲器和16位地址的外部數據存儲器如執行"MOVXDPTR"指令時P2送出高8位地址。在訪問8位地址的外部數據存儲器如執行"MOVXR1"指令時P2口引腳上的內容就是專用寄存器SFR區中的P2寄存器的內容在整個訪問期間不會改變。在對FlashROM編程和程序校驗期間P2也接收高位地址和一些控制信號。

P3端口:P3口是一個帶內部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅動吸收或輸出電流方式4個TTL輸入。對端口寫入1時通過內部的上拉電阻把端口拉到高電位這時可用作輸入口。P3做輸入口使用時因為有內部的上拉電阻那些被外部信號拉低的引腳會輸入一個電流。在對FlashROM編程或程序校驗時P3還接收一些控制信號。2.4電壓顯示電路在應用系統中,設計要求不同,使用的LED顯示器的位數也不同,因此就生產了位數,尺寸型號不同的LED顯示器供選擇。在本設計中,選擇四位一體的數碼型LED顯示器,即SMA420564:圖2-4SMA420564顯示器引腳圖它是一個共陰極接法的四位LED數碼顯示管,其中a,b,c,d,e,f,g為四位LED各段公共輸出端,1,2,3,4分別為每一位的位數選端,dp是小數點引出端2.5總體電路設計元器件清單品名規格型號數量單片機STC89C52RC18位模數A/D轉換器ADC08091四位共陰數碼管SMA42056413296W電位器10310k2IC座28P、40P1三極管9012、80501獨石電容100PF、0.01μF1排阻1K1電阻10K3彈性小按鍵2LED燈紅色2仿真圖經過以上的設計過程可設計出在pruteus軟件中基于單片機的簡易數字直流電壓表硬件電路原理圖如圖2-5-2所示圖2-5-2數字直流電壓表硬件電路原理圖原理是采用中斷方式,對2路0~5V的模擬電壓進行循環采集,采集的數據送LED顯示,并存入內存。超過界限時指示燈閃爍。本質上是以單片機為控制器,ADC器件采用ADC0809,要求的電壓顯示,是對ADC采集所得信號的進一步處理。為得到可讀的電壓值,需根據ADC的原理,對采集所得的信號進行計算,并顯示在LED上。本項目中ADC0809的參考電壓為+5V,根據定義,采集所得的二進制信號addata所指代的電壓值為:而若將其顯示到小數點后兩位,不考慮小數點的存在〔將其乘以100,其計算的數值為:將小數點顯示在第二位數碼管上,即為實際的電壓。本程序將1.25V和2.5V作為兩路輸入的報警值,反映在二進制數字上,分別為0x40和0x80。當A/D轉換結果超過這一數值時,將會出現二極管閃爍和蜂鳴器發聲軟件設計主程序包括初始化部分,A/D轉換控制部分和定時子程序。同時還設置了多路循環顯示和報警子程序。程序框圖如圖1-3-2所示。圖2-5-2主程序流程圖3.系統測試3.1測試方法與結果〔1測試方法實物電路的測試,首先根據仿真電路圖焊接實物電路,連接好后,將C語言程序下載到單片機內,進行測試,將側的的數值記錄下來,然后再用已有的數字電壓表對可變電阻的電壓進行測量,將兩組數據進行比較,看結果是否一致,如果不一致,計算測量誤差?!?測試結果R0R1R2R3R4R5R6R7第一次真實值〔v3.173.021.783.341.833.632.882.13測得值3.203.031.803.341.843.652.892.14第二次真實值3.274.981.680.924.152.153.151.33測得值3.284.981.680.924.172.173.171.34表3-1實物電路的測試結果3.2測試結論通過使用萬用表多次測量,并與實際值進行對比。測試結果表明,本設計完成了基本要求。3.3誤差分析通過分析以上測試數據,得出一下結論:〔1測量值與實際值有一定的誤差,其主要原因是因為A/D轉換芯片自身的轉換誤差和實際電路延時問題造成的。〔2兩次測量值有一定的偏差,其主要原因是因為使用單片機學習班提供5V供電,由于單片機輸出電壓不穩定,造成以上結果。4.設計總結經過近二周的單片機課程設計,終于完成了我的數字電壓表的設計,基本達到設計要求。對于此次課程設計,有許多的感觸與體會,遇到的難題多,學習到的知識也就更多。第一,硬件電路遇到了ADC0809無內部時鐘,需外接外部時鐘,如何解決這個問題,我們小組進行了多次討論,最終確定了在程序中提供時鐘信號,大大降低了硬件電路的復雜度。第二,在一個課題中,要設計一個成功的電路,必須要有耐心,要有堅持的毅力。在整個電路的設計過程中,重要的是各個單元電路的連接及電路的細節設計上,如在多種方案的選擇中,我們仔細比較分析其原理以及可行的原因。這就要求我們對硬件系統中各組件部分有充分透徹的理解和研究,并能對之靈活應用。完成這次設計后,我在書本理論知識的基礎上又有了更深層次的理解。第三,在本次設計的過程中,我還學會了高效率的查閱資料、運用工具書、利用網絡查找資料。我發現,在我們所使用的書籍上有一些知識在實際應用中其實并不是十分理想,各種參數都需要自己去調整,這就要求我們應更加注重實踐環節。最后,還要在此感謝課程設計的指導老師們和我的組員們,他們在整個過程中都給予了我充分的幫助與支持。參考文獻[1].李建忠,《單片機原理及應用》第二版,XX電子科技出版社,2008[2].李光飛樓然苗,《單片機課程設計指導》航空航天大學出版社,2007[3].周立功.《單片機實驗與實踐》.北京航空航天大學出版社,2011[4].吳國經.《單片機應用技術》.中國電力出版社,2003.[5].徐惠民安德寧丁玉珍.《單片微型計算機原理、接口及應用》.北京郵電大學出版社,20XX.[6].徐愛鈞.《智能化測量控制儀表原理與設計》第二版.北京航空航天大學出版社,2004.附錄#include<reg52.h>sbitled1=P1^0;sbitled2=P1^1;sbitled3=P1^2;sbitled4=P1^3;sbitled=P3^1;sbitbeep=P1^7;sbitADDA=P1^6;sbitADDB=P1^5;sbitADDC=P1^4; //地址選擇端sbitALE=P3^4; //高電平鎖存地址,低電平改變地址sbitOE=P3^5;//AD轉換結束,置1,讀數據sbitSTART=P3^7;//高電平啟動轉換sbitEOC=P3^2;//外部中斷0#defineucharunsignedchar#defineuintunsignedintucharchannel=0;ucharvoltage_temp;ucharaa,ab1,ab2,ab3;bitflag;ucharcodetable[]={0xd7,0x12,0x67,0x37,0xb2,0xb5,0xf5,0x13,0xf7,0xb7};voiddelay<uintz>{ uinti,j; for<i=z;i>0;i--> for<j=110;j>0;j-->;}voidmain<void>{ uchari; led=1; beep=1; OE=0;// START=0;//高電平啟動轉換 EA=1; EX0=1;//允許外部中斷 EX1=1; IT0=1;//跳變沿觸發中斷 IT1=1; TMOD=0x21; TH0=<65536-50000>/256;

溫馨提示

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

評論

0/150

提交評論