基于單片機的簡易數(shù)字直流電壓表畢業(yè)設計_第1頁
基于單片機的簡易數(shù)字直流電壓表畢業(yè)設計_第2頁
基于單片機的簡易數(shù)字直流電壓表畢業(yè)設計_第3頁
基于單片機的簡易數(shù)字直流電壓表畢業(yè)設計_第4頁
基于單片機的簡易數(shù)字直流電壓表畢業(yè)設計_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、基于MCS-51單片機的簡易數(shù)字直流電壓表設計設計一個簡易數(shù)字直流電壓表.(量程0V-2V、測量速度為大于等于2次/秒、測量誤差在土0.05V以內,有超限報警、數(shù)碼管顯示.)1:系統(tǒng)設計(1)分析任務要求,寫出系統(tǒng)整體設計思路從試題的要求分析,主要包括的內容為ADC轉換電路的限制、采用定時器定時讀取ADC轉換器的數(shù)據(jù)、將ADC轉換器的數(shù)據(jù)計算為對應的電壓值,最后在數(shù)碼管上顯示出來.整體設計思路:硬件采用單片機的P0輸出數(shù)碼管的7段碼,P2口輸出數(shù)碼管的位控信號.用P1的三個I/O管腳連接ADC轉換器的接口,通過查詢定時器T0中斷標志是否有效來啟動ADC轉換器的工作,并讀取ADC轉換器的轉換結果

2、.然后,根據(jù)ADC轉換器的參考電壓將ADC轉換器的轉換結果計算為對應的電壓值,并在數(shù)碼管上顯示出來.(2)選擇單片機型號和所需外圍器件型號,設計單片機硬件電路原理圖采用MCS51系列單片機At89S51作為主限制器,外圍電路器件包括數(shù)碼管驅動、AD轉換器TLC549、基準電壓TL431等.數(shù)碼管驅動采用2個四聯(lián)共陰極數(shù)碼管顯示,由于單片機驅動水平有限,采用74HC244作為數(shù)碼管的驅動.在74HC244的7段碼輸出線上串聯(lián)100歐姆電阻起限流作用.AD轉換器的參考電壓由精密基準電源TL431提供,標準參考電壓Vref+為2.5伏,Vref-為0伏.由于0V-2V內的測量誤差限制在土0.05V內

3、,因此8位A/D轉換器即可滿足要求.AD轉換器TLC549是以8位開關電容逐次逼近A/D轉換器為根底而構造的CMOSA/D轉換器.它們設計成能通過3態(tài)數(shù)據(jù)輸出和模擬輸入與微處理器或外圍設備串行接口.TLC549僅用輸入/輸出時鐘(I/OCLOCK)和芯片選擇(CS)輸入作數(shù)據(jù)限制.TLC549的IOCLOCK輸入頻率最高可達1.1MHz.TLC549提供了片內系統(tǒng)時鐘,它通常工作在4MHz且不需要外部元件.片內系統(tǒng)時鐘使內部器件的操作獨立于串行輸入/輸出的時序并允許TLC548和TLC549象許多軟件和硬件所要求的I/OCLOCK和內部系統(tǒng)時鐘一起可以實現(xiàn)高速數(shù)據(jù)傳送以及對于TLC549為每秒

4、40,000次轉換的轉換速度.TLC549的引腳排列分別如圖1.REF+1V(xANALOGIN2THI/OCLOCKRFF-卜6口心OUTGND451cs圖1TLC549的引腳排列TLC549的工作時序如圖2所示.圖2TLC549的工作時序轉換周期需要36個系統(tǒng)時鐘周期最大為17.,它開始于CS變?yōu)榈碗娖街驣/OCLOCK的第8個下降沿,這適用于該時刻其地址存在于存儲器中的通道.在CS變?yōu)榈碗娖胶?最高有效位A7自動被放置在DATAOUT總線上.其余的7位A6-A0在前7個I/OCLOCK下降沿由時鐘同步輸出.TLC549的工作原理TLC549是在單個芯片內的完善的數(shù)據(jù)采集系統(tǒng).每一個器件

5、包含內部系統(tǒng)時鐘,采樣和保持,8位A/D轉換器,數(shù)據(jù)存放器以及限制邏輯電路.為了提升靈活性和訪問速度,器件有兩個限制輸入:I/OCLOCK和芯片選擇CS.這些限制輸入和與TTL兼容的3態(tài)輸出易于與微處理器或小型計算機的串行通信.器件可在17ds或更短時間內完成轉換.TLC549每251s重復一次完整的輸入-轉換-輸出input-conversion-output周期.內部系統(tǒng)時鐘和I/OCLOCK獨立使用且不需要任何特定的速度或二者之間的相位關系.這種獨立性簡化了器件的硬件和軟件限制任務.由于這種獨立性和系統(tǒng)時鐘的內部產生,限制硬件和軟件只需關心利用I/O時鐘讀出先前轉換結果和啟動轉換.內部系

6、統(tǒng)時鐘以這種方式驅動轉換電路以便限制硬件和軟件不需要涉及此項任務.當CS為高電平時,DATAOUTM于高阻狀態(tài)且I/OCLOCKI/O時鐘被禁止.正常限制時序為:1 .CS被拉至低電平.當CS變?yōu)榈碗娖綍r,前次轉換結果的最高有效位MSB開始出現(xiàn)在DATAOUT.2 .前4個I/OCLOCK周期的下降沿輸出前次轉換結果的第2、第3、第4和第5個最高有效位.在I/OCLOCK第4個高電平至低電平的跳變之后,片內采樣和保持電路開始對模擬輸入采樣.采樣操作主要包括內部電容器充電到模擬輸入電壓的電平.3 .其后再把三個I/OCLOCK周期加至I/OCLOCK端,在這些時鐘周期的下降沿,第6、第7和第8個

7、轉換位被移出.4 .最后第8個時鐘周期被加至I/OCLOCK此時鐘周期高電平至低電平的跳變使片內采樣和保持電路開始保持功能.保持功能在接著四個內部系統(tǒng)時鐘周期內繼續(xù)進行,在此之后保持功能結束且在下面32個系統(tǒng)時鐘周期內完成轉換,總共為36個周期.在第8個I/OCLOCK周期之后,C%、須變?yōu)楦唠娖?否那么I/OCLOCK必須保持低電平達至少36個系統(tǒng)時鐘周期以供保持和轉換功能的完成.在多個轉換周期內CS可保持低電平.在多個轉換周期內使CS保持低電平時必須特別注意預防I/OCLOCK線上的噪聲閃變.如果在I/OCLOCK上發(fā)生閃變,那么在微處理器/限制器和器件之間的I/O時序將失去同步.此外,如

8、果CS變?yōu)楦唠娖?那么它必須保持高電平直至轉換結束為止.否那么,CS的有效高電平至低電平跳變將引起復位,它使正在進行的轉換失敗.在36個系統(tǒng)時鐘周期發(fā)生之前,通過完成步驟1至4可以啟動新的轉換,同時正在進行的轉換中止.此操作產生先前的轉換結果而不是正在進行的轉換結果.3分析軟件任務要求,寫出程序設計思路,分配單片機內部資源,畫出程序流程圖軟件的任務包括定時器的定時功能、AD轉換器TLC549的限制與數(shù)據(jù)的讀取,數(shù)碼管的動態(tài)掃描.程序設計思路,采用查詢定時器中斷標志的方式來啟動AD轉換器TLC549的工作,在讀取AD專換器的數(shù)據(jù)之后,再對數(shù)據(jù)進行計算換算為對應的電壓值.需要分配的單片機存儲資源包

9、括AD轉換器數(shù)據(jù)的暫存變量re_data、定時器溢出次數(shù)的計數(shù)變量T_cnt、數(shù)據(jù)換算白系數(shù)xishu以及電壓值volt等.主程序的流程圖如圖3所示.由于采用查詢中斷標志的方式來響應的中斷,所以主程序要循環(huán)完成如下任務:中斷標志的查詢、AD轉換器數(shù)據(jù)的讀取、電壓值的換算以及數(shù)碼管的動態(tài)掃描顯示.圖3數(shù)字電壓表的主程序流程圖4設計系統(tǒng)軟件調試方案、硬件調試方案及軟硬件聯(lián)合調試方案軟件調試方案:偉福軟件中,在“文件新建文件中,新建C語言源程序文件,編寫相應的程序.在“文件新建工程的菜單中,新建工程并將C語言源程序文件包括在工程文件中.在“工程編譯菜單中將C源文件編譯,檢查語法錯誤及邏輯錯誤.在編譯

10、成功后,產生以“*.hex和“*.bin后綴的目標文件.硬件調試方案:在設計平臺中,將單片機的P1.0接TLC549的CLK管腳,P1.1接TLC549的DOUT管腳,P1.2接TLC549的CS管腳.在偉福中將程序文件編譯成目標文件后,將下載線安裝在實驗平臺上,運行“MCU下載程序,選擇相應的flash數(shù)據(jù)文件,點擊“編程按鈕,將程序文件下載到單片機的Flash中.然后,上電重新啟動單片機,檢查所編寫的程序是否到達題目的要求,是否全面完整地完成試題的內容.2程序設計/晶振:11.0592MHz,定日器T0每50ms中斷一次,每隔0.1秒讀ADC一次/*AD轉換器使用TLC549p1.0-Cl

11、ockp1.1-Dataoutp1.2-CS*/#include"reg51.h"#include"intrins.h"#include"math.h"sbitad_clk=P1A0;sbitad_dout=P1A1;sbitad_cs=P1A2;unsignedchardatare_data;unsignedintdataT_cnt;doublevolt,xishu;charcodeled_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/led_seg_

12、code0-9代表0-9的7段碼/voiddelay(unsignedinti)/延時while(-i);/voidled_show(doublef)unsignedchari,s;unsignedintk,*j;if(f<2)k=f;/取整數(shù)局部i=k;P0=led_seg_codei|0x80;P2=0xfb;delay(50);i=f*10;i=i%10;P0=led_seg_codei;P2=0xfd;delay(50);i=f*100;/取小數(shù)后1位i=i%10;P0=led_seg_codei;P2=0xfe;delay(50);else/超限報警,顯示“-P0=0x40;P

13、2=0xfb;delay(50);/P2=0xfd;delay(50);/P2=0xfe;delay(50);/-讀取ADC轉換器TLC549的數(shù)據(jù)-unsignedcharreceive_data()unsignedchari,d;d=0;ad_cs=1;/CS置高,片選無效ad_clk=0;ad_cs=0;_nop_();for(i<0;i<8;i+)ad_clk=1;d=d<<1;if(ad_dout)d+;ad_clk=0;)ad_cs=1;for(i=0;i<10;i+)/適當延日超過17us_nop_();returnd;)/main()T_cnt=0;TMOD=0x01;/定時器設置T0TH0=0x4c;50000us=(65536-0x4c00)*12/11.0592TL0=00;EA=0;TR0=1;re_data=0x00;volt=0;xishu=2.5/255.0;/while(1)if(T

溫馨提示

  • 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

提交評論