51單片機AD0809電路設(shè)計程序+原理圖

上傳人:燈火****19 文檔編號:28406823 上傳時間:2021-08-27 格式:DOC 頁數(shù):7 大?。?23.51KB
收藏 版權(quán)申訴 舉報 下載
51單片機AD0809電路設(shè)計程序+原理圖_第1頁
第1頁 / 共7頁
51單片機AD0809電路設(shè)計程序+原理圖_第2頁
第2頁 / 共7頁
51單片機AD0809電路設(shè)計程序+原理圖_第3頁
第3頁 / 共7頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《51單片機AD0809電路設(shè)計程序+原理圖》由會員分享,可在線閱讀,更多相關(guān)《51單片機AD0809電路設(shè)計程序+原理圖(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、AD0809在51單片機中的應(yīng)用 我們在做一個單片機系統(tǒng)時,常常會遇到這樣那樣的數(shù)據(jù)采集,在這些被采集的數(shù)據(jù)中,大部分可以通過我們的I/O口擴展接口電路直接得到,由于51單片機大部分不帶AD轉(zhuǎn)換器,所以模擬量的采集就必須靠A/D或V/F實現(xiàn)。下現(xiàn)我們就來了解一下AD0809與51單片機的接口及其程序設(shè)計。 1、AD0809的邏輯結(jié)構(gòu) ADC0809是8位逐次逼近型A/D轉(zhuǎn)換器。它由一個8路模擬開關(guān)、一個地址鎖存譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成(見圖1)。多路開關(guān)可選通8個模擬通道,允許8路模

2、擬量分時輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。 2、AD0809的工作原理 IN0-IN7:8條模擬量輸入通道 ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進(jìn)行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。 地址輸入和控制線:4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高電平時,地址鎖存與譯碼器將A, B,C三條地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后

3、被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸入。通道選擇表如下表所示。 C B A 選擇的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 數(shù)字量輸出及控制線:11條 ST為轉(zhuǎn)換啟動信號。當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當(dāng)EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正

4、在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。 CLK為時鐘輸入信號線。因ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ, VREF(+),VREF(-)為參考電壓輸入。 3、 ADC0809應(yīng)用說明 (1). ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 (2). 初始化時,使ST和OE信號全為低電平。 (3). 送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4). 在ST端給出

5、一個至少有100ns寬的正脈沖信號。 (5). 是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。 (6). 當(dāng)EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機了。 4、AD0809的應(yīng)用 了解完A/D轉(zhuǎn)換芯片,下面我們以圖2為例來完成它的程序設(shè)計。 電路說明: 電路見圖(2),主要由AD轉(zhuǎn)換器AD0809,頻率發(fā)生器SUN7474,單片機AT89S51及顯示用數(shù)碼管組成。 AD0809的啟動方式為脈沖啟動方式,啟動信號START啟動后開始轉(zhuǎn)換,EOC信號在START的下降沿10us后才變?yōu)闊o效的低電平。這要求查詢程序待EOC無效后再開始查詢,轉(zhuǎn)換完成后,EOC輸出

6、高電平,再由OE變?yōu)楦唠娖絹磔敵鲛D(zhuǎn)換數(shù)據(jù)。我們在設(shè)計程序時可以利用EOC信號來通知單片機(查詢法或中斷法)讀入已轉(zhuǎn)換的數(shù)據(jù),也可以在啟動AD0809后經(jīng)適當(dāng)?shù)难訒r再讀入已轉(zhuǎn)換的數(shù)據(jù)。 AT89S51的輸出頻為晶振頻的1/6(2MHZ),AT89S1與SUN7474連接經(jīng)與7474的ST腳提供AD0809的工作時鐘。AD0809的工作頻范圍為10KHZ-1280KHZ,當(dāng)頻率范圍為500KHZ時,其轉(zhuǎn)換速度為128us。 AD0809的數(shù)據(jù)輸出公式為:Dout=Vin*255/5=Vin*51,其中Vin為輸入模擬電壓,Vout 為輸出數(shù)據(jù)。 當(dāng)輸入電壓為5V時,讀得的數(shù)據(jù)為255再乘

7、以2,得510。我們用510*98%得499,再將百位數(shù)碼管的小數(shù)點點亮,顯示為4.99V,顯示值與輸入值基本吻合。 軟件設(shè)計思路及程序流程 編程思路: (1) 向AD0809寫入通道號并啟動轉(zhuǎn)換 (2) 延時1ms后等待EOC出現(xiàn)高電平(JNB EOC,$) (3) 給OE置高并讀入轉(zhuǎn)換數(shù)據(jù)存入數(shù)據(jù)地址或數(shù)組中。 (4) 顯示 (5)           初始化 1、寫入通道號 2、延時20us后等待EOC變高 3、讀入采集到的數(shù)據(jù)并存入數(shù)組存入下一通道 #include #define ucharunsig

8、ned char #define uint unsigned int sbit st=P3^2; sbit oe=P3^1; sbit eoc=P3^0; uchar codetab[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//數(shù)碼管顯示段碼 ucharcode td[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};//通道先擇數(shù)組 uint ad_0809,ad_data1,ad_data2,ad_data3,ad_data0; uchar m,number; uch

9、ar x[8];//八通道數(shù)據(jù)待存數(shù)組 void delaynms(uint x);//nms延時程序 void display();//顯示程序 void ad0809();//芯片啟動程序 voidkey();//鍵掃描程序 main() { number=1; P1=0x00; while(1) { ad0809();//調(diào)AD0809啟動子程序 key();//調(diào)按鍵子程序 ad_0809=x[number];//把相關(guān)通道數(shù)據(jù)給ad_0809,用做顯示 display();//調(diào)顯示 }} //nms延時程序 voiddelaynms(uint x)

10、 { uchari; while(x-->0) { for(i=0;i<125;i++) {;}}} void display() { uchar a; ad_data1=(ad_0809*49/25)/100;//讀得的數(shù)據(jù)乘以2再乘以98%除以100得百位 ad_data2=((ad_0809*49/25)%100)/10;//讀得的數(shù)據(jù)乘以2再乘以98%再分出十位 ad_data3=(((ad_0809*49/25)%100)%10);//讀得的數(shù)據(jù)乘以2再乘以98%再分出個位 for(a=0;a<10;a++) { P0=tab[ad_data3];//送

11、小數(shù)點后第二位顯示 P2=0x07;//選通第一個數(shù)碼管 delaynms(3); P0=tab[ad_data2];//送小數(shù)點后第一位顯示 P2=0x0b;//選通第二個數(shù)碼管 delaynms(3); P0=tab[ad_data1];//送整數(shù)顯示 P0_7=0;//點亮第三個數(shù)碼管小數(shù)點 P2=0x0d;//選通第三個數(shù)碼管 delaynms(3); P0=tab[number];//送通道號顯示 P2=0x0e; delaynms(3); }} void ad0809() { uchari,m=1; for(i=0;i<8;i++) { P0=

12、td[i];//選通通道 oe=0; //OE:輸出允許信號; //用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高電阻;OE=1,輸出轉(zhuǎn)換//得到的數(shù)據(jù); //以下三條指令為起動AD0809 //注:st與ALE連載一起 //ALE為地址鎖存允許輸入線,當(dāng)ALE=1,地址鎖存與譯碼器將A, B,C三條 //地址線的地址信號進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行 //轉(zhuǎn)換。 st=0;//ST為轉(zhuǎn)換啟動信號。 st=1;// 當(dāng)ST上跳沿時,所有內(nèi)部寄存器清零; st=0; //下跳沿時,開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持

13、低電平。 delaynms(1);// EOC信號在START的下降沿10us后才變?yōu)闊o效的低電平。 while(!eoc);//等待轉(zhuǎn)換結(jié)束,轉(zhuǎn)換完成后,EOC輸出高電平, oe=1;//取出讀得的數(shù)據(jù),OE變?yōu)楦唠娖絹磔敵鲛D(zhuǎn)換數(shù)據(jù) x[m]=P2;//送相關(guān)通道數(shù)組 oe=0; m++; }} void key() { if(!P3_5)//P3.5是否按下 { delaynms(20);//延時去抖動判誤 if(!P3_5)//再一次判斷P3。5是否按下 { while(!P3_5);//等待P3。5為高電平,按鍵松開 number++;//通道號顯示加一 if(number>8)number=1;//八通道 }}}    

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲