項目9 數(shù)字式電壓表的設(shè)計.ppt

項目9 數(shù)字式電壓表的設(shè)計.ppt

ID:52652498

大小:683.00 KB

頁數(shù):25頁

時間:2020-04-12

項目9  數(shù)字式電壓表的設(shè)計.ppt_第1頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第2頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第3頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第4頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第5頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第6頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第7頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第8頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第9頁
項目9  數(shù)字式電壓表的設(shè)計.ppt_第10頁
資源描述:

《項目9 數(shù)字式電壓表的設(shè)計.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫。

1、項目9數(shù)字式電壓表的設(shè)計★知識目標:1.A/D轉(zhuǎn)換器相關(guān)的基本知識;2.A/D轉(zhuǎn)換器與單片機的接口技術(shù)?!锬芰δ繕耍?.能夠正確使用A/D轉(zhuǎn)換器;2.能夠設(shè)計單片機與A/D轉(zhuǎn)換器的接口并編程控制A/D轉(zhuǎn)換器;3.會用KeilC51軟件對源程序進行編譯調(diào)試及與Protues軟件聯(lián)調(diào),實現(xiàn)電路仿真。項目9數(shù)字式電壓表的設(shè)計1.提出任務(wù)利用單片機和A/D轉(zhuǎn)換器設(shè)計一個測量系統(tǒng),可以實現(xiàn)0-5V的模擬電壓,并在數(shù)碼管上顯示出來。電壓表應(yīng)用非常廣泛,在電力工業(yè)生產(chǎn)中經(jīng)常要用電壓表來檢測電網(wǎng)電壓,在儀器、儀表及家用電器的維修中經(jīng)常要用電壓表來檢測電壓。以下介紹用AT89S51單片機

2、設(shè)計實現(xiàn)這一功能的方法。項目9數(shù)字式電壓表的設(shè)計(1)硬件電路設(shè)計系統(tǒng)要求的是實現(xiàn)模擬電壓的測量,并實現(xiàn)數(shù)字顯示,由于單片機輸入量和輸出量信號都是數(shù)字量,因此需要一種特殊的電路,將模擬量轉(zhuǎn)換為單片機能夠識別的數(shù)字量。A/D轉(zhuǎn)換器就是用來實現(xiàn)這一過程的電路。根據(jù)數(shù)字式電壓表的實現(xiàn)功能,硬件電路的設(shè)計與器件選擇,也可從如下4個方面考慮:A/D轉(zhuǎn)換電路、單片機控制器電路、LED顯示電路等。這里選擇具有內(nèi)部程序存儲器的AT89S51單片機作為控制電路,加上典型的8位并得傳輸?shù)腁/D轉(zhuǎn)換芯片ADC0809作為模/數(shù)轉(zhuǎn)換器,硬件電路原理圖如圖9.1所示。由于ADC0809的時鐘最大

3、是1280kHz,而在系統(tǒng)中使用的是12MHz,超出了ADC0809的極限。在程序設(shè)計中為了簡化電路,使用定時器來完成ADC0809的時鐘輸入。電路中使用P2.7作為脈沖輸入端。項目9數(shù)字式電壓表的設(shè)計ADC0809芯片的EOC與單片機P2.0連接,START和ALE與單片機P2.6連接,OE與單片機P2.5連接,單片機P0定義為數(shù)據(jù)讀入端口,ADC0809芯片的ADDA、ADDB和ADDC接地。顯示使用的是LED數(shù)碼管,采用動態(tài)顯示的方式實現(xiàn)電壓的顯示。P1.0至P1.4接是數(shù)碼管的位選,P3接的是數(shù)碼管的段碼?;鶞孰婋妷航拥氖钦娫矗?V,RV2分壓輸出作為輸入的測

4、試電壓,接入ADC0809芯片的INO通道。仿真試驗時可采用A/D轉(zhuǎn)換集成電路ADC0808芯片來進行仿真分析。有些Proteus仿真軟件未帶A/D轉(zhuǎn)換集成電路ADC0809芯片。項目9數(shù)字式電壓表的設(shè)計圖9.1數(shù)字電壓表電路圖項目9數(shù)字式電壓表的設(shè)計(2)軟件設(shè)計思路對于顯示采用動態(tài)顯示。為了使人能夠更好地觀看顯示結(jié)果,顯示數(shù)據(jù)的頻率不能過快,程序中設(shè)定間隔為1S電壓轉(zhuǎn)換一次。對于ADC0809數(shù)據(jù)的是如何讀取的呢?主要有以下幾個步驟:(1)初始化時使START和OE信號全為低電平(2)將要轉(zhuǎn)換的通道地址送A、B、C端口上,在ALE上加鎖存脈沖(3)在START端給出

5、一個至少有100ns寬的正脈沖信號(4)是否轉(zhuǎn)換完畢根據(jù)EOC信號來判斷。如果EOC為低電平,表示在轉(zhuǎn)換過程中;如果EOC變?yōu)楦唠娖?,表示轉(zhuǎn)換完畢。(5)使OE為高電平,轉(zhuǎn)換數(shù)據(jù)就輸出給單片機。當數(shù)據(jù)傳送完畢后,將OE置為低電平,使ADC0809輸出為高阻狀態(tài),讓出數(shù)據(jù)線。項目9數(shù)字式電壓表的設(shè)計根據(jù)程序流程圖編寫的源程序如下://文件名dy9-1.c#include#defineucharunsignedchar#includecodeucharTAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

6、0xf8,0x80,0x90};//定義數(shù)碼管顯示數(shù)值ucharstr_TME[4]={0,0,0,0,};//定義數(shù)碼管顯示初始值voiddelay(ucharms)//定義延遲程序{uchari;while(ms--)for(i=0;i<125;i++);}uchartmel=0;ucharad_dat;bitsim=1;3.源程序編寫項目9數(shù)字式電壓表的設(shè)計/***********************計數(shù)器中斷函數(shù),用于控制電壓轉(zhuǎn)****************************************時間間隔,此程序設(shè)定間隔為1S電壓轉(zhuǎn)換一次*****

7、**********/voidtme_tr0(void)interrupt1{TL0=0xb0;TH0=0x3c;if(++tmel==20){tmel=0;sim=1;}}/*****************定義數(shù)碼管顯示***************************/sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;voidVAL_xs(){P3=(TAB[str_TME[0]])&0x7f;//顯示小數(shù)點k1=1;delay(5);3.源程序編寫項目9數(shù)字式電壓表的設(shè)計k1=0;

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。