數(shù)字電壓表的仿真設計測控劉萌萌_第1頁
數(shù)字電壓表的仿真設計測控劉萌萌_第2頁
數(shù)字電壓表的仿真設計測控劉萌萌_第3頁
數(shù)字電壓表的仿真設計測控劉萌萌_第4頁
數(shù)字電壓表的仿真設計測控劉萌萌_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 單片機系統(tǒng)課程設計 單片機系統(tǒng)課程設計題目名稱: 數(shù)字電壓表的仿真設計 專業(yè)班級: 測控1201班 學生姓名: 劉萌萌 學 號: 201223030121 指導教師: 郭廣靈 成績:評語:指導老師簽名: 日期: 單片機系統(tǒng)課 程 設 計課程設計名稱: 數(shù)字電壓表的仿真設計 專 業(yè) 班 級 : 測控1201班 學 生 姓 名 : 劉萌萌 學 號 : 201223030121 指 導 教 師 : 郭廣靈 課程設計地點: 31 號樓 課程設計時間: 2014-12-92014-12-20 單片機系統(tǒng) 課程設計任務書學生姓名劉萌萌專業(yè)班級測控1201班學號201223030121題 目數(shù)字電壓表的仿

2、真設計課題性質工程設計課題來源自擬指導教師郭廣靈主要內容(參數(shù))該數(shù)字電壓表是利用單片機C51與ADC0808設計一個數(shù)字電壓表,將模擬信號05V之間的電壓值轉換成數(shù)字量信號,以兩位數(shù)碼管顯示,并通過虛擬電壓表觀察ADC0808模擬量輸入信號的電壓值,LED數(shù)碼管實時顯示相應的數(shù)值量。任務要求(進度)第1-2天:熟悉課程設計任務及要求,查閱技術資料,確定設計方案。第3-4天:按照確定的方案設計單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設計要有詳細論述。第5-6天:軟件設計,編寫程序。第7-8天:程序調試。第9-12天:撰寫課程設計報告。要求內容完整、圖表清晰、文理流

3、暢、格式規(guī)范、方案合理、設計正確。主要參考資料【1】單片微型計算機原理及接口技術審查意見系(教研室)主任簽字: 年 月 日 目錄一 系統(tǒng)概述11.1 課題設計的目的.11.2 課程設計內容11.3 課程設計實現(xiàn)的目標1二 設計方案12.1總體設計思路12.2 數(shù)字電壓表的PROTEUS軟件仿真電路設計2三、 數(shù)字電壓表的程序設計33.1 程序流程圖33.2 程序編譯設計4四 數(shù)字電壓表的軟件設計54.1 數(shù)字電壓表的硬件電路54.2 C51單片機和數(shù)碼管顯示電路的接口設計74.3 A/D轉換電路的接口設計7五 數(shù)字電壓表的系統(tǒng)仿真調試7六 設計心得8參考文獻9附錄110附錄211一 系統(tǒng)概述1

4、.1 課題設計的目的.1、通過單片機課程設計,熟練掌握C語言的編程方法,將理論聯(lián)系到實踐中去,提高我們的動腦和動手的能力。2、通過定時鬧鐘控制系統(tǒng)的設計,掌握定時/計數(shù)器、中斷的使用方法,和簡單程序的編寫,最終提高我們的邏輯抽象能力。1.2 課程設計內容   1.  由于ADC0809在進行A/D轉換時需要有CLK信號,而此時的ADC0809的CLK是接在AT89S51單片機的P3.3端口上,也就是要求從P3.3輸出CLK信號供ADC0809使用。因此產生CLK信號的方法就得用軟件來產生了。2.由于ADC0809的參考電壓VREFVCC,所以轉

5、換之后的數(shù)據(jù)要經過數(shù)據(jù)處理,在數(shù)碼管上顯示出電壓值。實際顯示的電壓值(D/256*VREF)1.3 課程設計實現(xiàn)的目標利用單片機C51與ADC0808設計一個數(shù)字電壓表,將模擬信號05V之間的電壓值轉換成數(shù)字量信號,以兩位數(shù)碼管顯示,并通過虛擬電壓表觀察ADC0808模擬量輸入信號的電壓值,LED數(shù)碼管實時顯示相應的數(shù)值量。二 設計方案2.1總體設計思路 按系統(tǒng)功能要求,決定控制系統(tǒng)采用AT89C51單片機,A/D轉換采用ADC0808。系統(tǒng)除能確保實現(xiàn)要求的功能以外還可以方便的進行其功能的擴展。本文采用AT89C51作為核心元件,AT89C51是一個低功耗,高性能的CMOS 8位單片機。數(shù)字

6、電壓表電路組成框圖如圖2-1所示。 單 片 機 芯 片 模 擬 轉 換 譯 碼 器 數(shù) 碼 管 顯 示 模 擬 被 測 電 壓 程序處理 驅動數(shù)碼管 數(shù)字量 圖2-1 系統(tǒng)組成框圖 本設計中需要用到的電路有電源電路、模/數(shù)轉換電路、單片機控制電路、顯示電路等。設計中需要用到的芯片有AT89C51單片機、ADC0808、74LS74、LED數(shù)碼管等。2.2 數(shù)字電壓表的PROTEUS軟件仿真電路設計 待測電壓輸入信號在ADC0808芯片承受的最大工作電壓范圍內,經過模/數(shù)轉換電路實現(xiàn)A/D轉換,通過單片機控制電路進行程序數(shù)據(jù)處理,然后通過七段譯碼/驅動顯示電路實現(xiàn)數(shù)碼管顯示輸入電壓。硬件電路原理

7、圖如圖2-2所示。圖2-2 PROTEUS軟件仿真電路圖3、 數(shù)字電壓表的程序設計3.1 程序流程圖系統(tǒng)上電狀態(tài),初始化ADC0808的啟動地址,數(shù)碼管顯示關閉,開始啟動A/D轉換。等待啟動結束后,將ADC0808的0號通道模擬量輸入信號轉換輸出的數(shù)字量結果通過數(shù)碼管動態(tài)顯示的方式顯示到三位數(shù)碼管上。根據(jù)設計要求結合硬件電路,在輸入模擬信號時采用電阻分壓,最終的采樣輸入電壓只有實際輸入電壓的十分之一,所以在編寫程序中要編寫一段數(shù)據(jù)調整程序,其中還應注意硬件顯示電路采用了動態(tài)掃描顯示,在動態(tài)掃描顯示方式中,動態(tài)掃描的頻率有一定的要求,頻率太低,數(shù)碼管LED將會出現(xiàn)閃爍現(xiàn)象,通常數(shù)碼管點亮時間間隔

8、一般均取5ms左右為宜,這就要求在編寫程序時,使其點亮并保持一定的時間。總結以上分析,程序流程圖如圖3-1,圖3-2所示。主程序 初始化,驅動A/D轉換 數(shù)碼管LED顯示 延時20ms 取 段 碼 結 束 圖3-1 主程序流程圖開 始 地 址 指 針 設 置 取 段 碼 段 碼 左 移 一 位 輸 出 一 位 段 碼 輸 出 一 個 移 位 脈 沖 取 段 碼 結束 Y 圖3-2 LED數(shù)碼顯示程序流程圖3.2 程序編譯設計 數(shù)字電壓表由主程序,定時器中斷子程序和顯示子程序等組成。在KEIL軟件中進行程序設計,如圖3-3所示 圖3-3 用KEIL軟件編譯和生成HEX文件 主程序主要包括初始化程

9、序,A/D轉換程序,數(shù)值轉換程序組成。初始化程序對顯示存儲區(qū)清零,同時設置定時器初值,工作方式和中斷允許。數(shù)值轉換程序的功能是將A/D轉換后的數(shù)字量轉換成可供顯示的十進制非壓縮BCD碼,存入30H33H中,用KEIL軟件編譯程序和生成HEX文件。四 數(shù)字電壓表的軟件設計4.1 數(shù)字電壓表的硬件電路數(shù)字電壓表的硬件電路圖由單片機最小系統(tǒng),ADC0808數(shù)據(jù)采集電路和四位一體的共陽極顯示電路構成,如圖4-1所示。ADC0808數(shù)據(jù)采集電路的D0D7端與P1口相連,通道選擇端ADDA,ADDB,ADDC直接接地,因此該電路道固定為INO。時鐘信號CLOCK,啟動信號START,轉換結束信號EOC及輸

10、出允許信號OE分別接至P2.4P2.7端。共陽極顯示電路的位選線接至P2.0P2.3,段落接至P0口,AT89C51單片機的輸出端口不足以驅動共陽極動態(tài)顯示電路,可加三極管放大電路或74LS224,74LS373等集成芯片進行驅動。圖4-1 數(shù)字電壓表仿真圖在軟件中找到所需要的元件即可制作硬件電路圖,數(shù)字電壓表仿真電路元件清單如表4-1所示。表4-1 數(shù)字電壓表元件清單序號元件名稱規(guī)格數(shù)量151單片機AT89C51個2晶振12個3起振電容陶瓷電容個4復位電容,電解電容個5復位電容電阻個6轉換器個7電阻,若干8可調電阻個9數(shù)碼管共陽極四位一體數(shù)碼管個4.2 C51單片機和數(shù)碼管顯示電路的接口設計

11、利用單片機C51與ADC0808設計一個數(shù)字電壓表,將模擬信號05V之間的直流電壓值轉換成數(shù)字量信號0FF,以兩位數(shù)碼管顯示。Proteus軟件啟動仿真,當前輸入電壓為2.5V,轉換成數(shù)字值為7FH,用鼠標指針調節(jié)電位器RV1,可改變輸入模/數(shù)轉換器ADC0808的電壓,并通過虛擬電壓表觀察ADC0808模擬量輸入信號的電壓值,LED數(shù)碼管實時顯示相應的數(shù)值量。在Proteus軟件中設置AT89C51單片機的晶振頻率為12MHz。本電路EA接高電平,沒有擴展片外ROM。4.3 A/D轉換電路的接口設計 A/D轉換器采用集成電路ADC0808。ADC0808具有8路模擬量輸入信號IN0IN7(1

12、5腳、2628腳),地址線C、B、A(2325腳)決定哪一路模擬輸入信號進行A/D轉換,本電路將地址線C、B、A均接地,即選擇0號通道輸入模擬量電壓信號。22腳ALE為地址鎖存允許控制信號,當輸入為高電平時,對地址信號進行鎖存。6腳START為啟動控制信號,當輸入為高電平時,A/D轉換開始。本電路將ALE腳與START腳接到一起,共同由單片機的P2.0腳和WR腳通過或非門控制。7腳EOC為A/D轉換結束信號,當A/D轉換結束時,7腳輸出一個正脈沖,此信號可作為A/D轉換是否結束的檢測信號或向CPU申請中斷的信號,本電路通過一個非門連接到單片機的P3.2腳。9腳OE為A/D轉換數(shù)據(jù)輸出允許控制信

13、號,當OE腳為高電平時,允許讀取A/D轉換的數(shù)字量。該OE腳由單片機的P2.0腳和RD腳通過或非門控制。l0腳CLOCK為ADC0808的實時時鐘輸入端,利用單片機30引腳ALE的六分頻晶振頻率得到時鐘信號。數(shù)字量輸出端8個接到單片機的P0口。 量 五 數(shù)字電壓表的系統(tǒng)仿真調試畫出硬件接線圖,可省略動態(tài)掃描顯示驅動電路,但必須對源程序位選線狀態(tài)做適當調試。PROTEUS仿真電路圖如圖5-1所示,晶振電路和復位電路可省略。將KEIL軟件編譯并生成的HEX文件加載到AT89C51單片機中,運行結果如圖2.2-3所示。將“數(shù)字電壓表.HEX”文件加入PROTEUS中,進行虛擬仿真,然后雙擊AT89C

14、51單片機芯片,可以打開元件編輯對話框,選取目標代碼文件“數(shù)字電壓表.HEX”。全速啟動仿真,用鼠標單擊可調電阻兩端“+”“-”控制點,觀察LED數(shù)碼管的顯示數(shù)值。調節(jié)可調電阻的大小,數(shù)碼管的顯示值會隨之發(fā)生變化,如圖5-1a和5-1b所示。 圖5-1a圖5-1b 圖5-1 數(shù)字電壓表的仿真圖六 設計心得首先,我想說的是,在做成這個數(shù)字電壓表之后,瞬間感覺真的好有成就感。在為期兩個星期的單片機課程設計,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要我們學會將理論很好地聯(lián)系實際,并不斷地去開動自己的大

15、腦,從為人類造福的意愿出發(fā),做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝別人,超越前人。同時,更重要的是,我在這一設計過程中,學會了堅持不懈,不輕易言棄。設計過程,也好比是我們人類成長的歷程,常有一些不如意,也許這就是在對我們提出了挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會為我們而敲響。這個設計過程中,我經歷了無數(shù)次失敗,但我知道人就是要在失敗中成長,否則怎么能成才。就比如,自己對實際生活中的交通秩序的不了解給整個設計帶來的困擾,真想要就此罷休,然而,就在想要放棄的那一刻,我明白了,原來結果并不那么重要,我們更應該注重的是這一整個過程。于是,我堅持了下來。當然最終,這個設計很成功,主要

16、體現(xiàn)在,這一整個系統(tǒng),參考多了多本資料書,程序由自己獨立完成,與用匯編語言制作定時鬧鐘控制系統(tǒng)程序相比,簡單易讀,結構清楚,層次分明。但我深知單片機還有更深奧的知識,我將繼續(xù)學習單片機及其編程語言,盡量去學習匯編語言鍛煉思維能力。還有,我感覺我們的這個專業(yè)對社會真的是太有用了,無形之中給自己打了一針安心劑,我一定會努力學習單片機的。參考文獻1 張俊謨. 單片機中級教程原理與應用M.北京:北京航天航空大學出版社,2006:67.2 何立民. 單片機高級教程應用與設計M.2版. 北京:北京航天航空大學出版社,2007:2.3 劉振忠. 數(shù)字電壓表發(fā)展概況和原理:電壓-頻率(VF)變換式積分型數(shù)字電

17、壓表J.電訊工程,1998(2):39-42.4 王幸之. 單片機應用系統(tǒng)抗干擾技術M.北京:北京航空航天大學出版社,2000.5 吳金戌,沈慶陽,郭庭吉. 單片機實踐與應用M.北京:清華大學出版社,2002.6 張志良,馬彪. 單片機原理與控制技術M.北京:機械工業(yè)出版社,2001.7 沈任元,吳勇. 常用電子元器件簡明手冊M.北京:機械工業(yè)出版社,2004.8 沙占友. 新型數(shù)字電壓表原理與應用M.北京:機械工業(yè)出版社,2006.9 謝自美. 電子線路設計實驗測試M.武漢:華中科技大學出版社,2000.10 曲娜,程鳳琴,周鵬. 基于51單片機的舵機控制信號的設計J.中國科技信息,2010

18、,21(63):137.11 劉敏娜,潘宏俠,王喬. 基于C51單片機的數(shù)字電壓表仿真設計J.山西電子技術,2011(2):4647,64.12 徐毅,趙龍,王海峰. 基于單片機的新型數(shù)字電壓表設計J.河南科技2010,11(下):4445.附錄1電路原理圖 電路原理圖附錄2C語言源程序 #include <AT89X52.H> unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66, 0

19、x6d,0x7d,0x07,0x7f,0x6f,0x00; unsigned char dispbuf8=10,10,10,10,10,0,0,0; unsigned char dispcount; unsigned char getdata; unsigned int temp; long int i; 代替原來的unsigned char i; sbit ST=P30; sbit OE=P31; sbit EOC=P32; sbit CLK=P33;   void main(void) ST=0; OE=0; ET0=1; ET1=1; EA=1; TMOD=0x12; TH0=216; TL0=216; TH1=(65536-5000)/256; TL1=(65536-5000)%256; TR1=1; TR0=1; ST=1; ST=0; while(

溫馨提示

  • 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

提交評論