第十一章8051數(shù)據(jù)采集C編程_第1頁(yè)
第十一章8051數(shù)據(jù)采集C編程_第2頁(yè)
第十一章8051數(shù)據(jù)采集C編程_第3頁(yè)
第十一章8051數(shù)據(jù)采集C編程_第4頁(yè)
第十一章8051數(shù)據(jù)采集C編程_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第十一章8051數(shù)據(jù)采集C編程第一頁(yè),共30頁(yè)。A/D轉(zhuǎn)換器的原理實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換按其轉(zhuǎn)換原理可分為:計(jì)數(shù)器式A/D轉(zhuǎn)換器雙積分式A/D轉(zhuǎn)換器逐次逼近式A/D轉(zhuǎn)換器并行A/D轉(zhuǎn)換器第二頁(yè),共30頁(yè)。A/D轉(zhuǎn)換器的性能參數(shù)與選型主要參數(shù):量化誤差與分辨率:以輸出二進(jìn)制數(shù)的位數(shù)表示轉(zhuǎn)換精度:轉(zhuǎn)換時(shí)間與轉(zhuǎn)換速度計(jì)數(shù)器式A/D轉(zhuǎn)換器:ms雙積分式A/D轉(zhuǎn)換器:ms逐次逼近式A/D轉(zhuǎn)換器:us并行A/D轉(zhuǎn)換器:ns第三頁(yè),共30頁(yè)。A/D轉(zhuǎn)換器的選取原則精度:A/D轉(zhuǎn)換器用于什么系統(tǒng)?輸出數(shù)據(jù)的位數(shù)是多少?系統(tǒng)應(yīng)該達(dá)到多高的精度和線性度?轉(zhuǎn)換速率:系統(tǒng)是在靜態(tài)下工作還是在動(dòng)態(tài)下工作?帶寬多少?采樣速率為多少?是否要經(jīng)過(guò)緩沖濾波和采樣/保持?輸入信號(hào):提供給A/D轉(zhuǎn)換器的輸入信號(hào)范圍多大?是單極性的還是雙極性的?信號(hào)的驅(qū)動(dòng)能力怎樣?輸出信號(hào):對(duì)A/D轉(zhuǎn)換器輸出的數(shù)字代碼及邏輯電平的要求如何?是二進(jìn)制碼還是BCD碼,是串行還是并行?環(huán)境參數(shù):A/D轉(zhuǎn)換器的工作環(huán)境如何?噪聲、溫度、振動(dòng)等條件如何?其他:電源電壓、功耗、幾何尺寸、價(jià)格等其它因素。第四頁(yè),共30頁(yè)。ADC0809的內(nèi)部結(jié)構(gòu)8路模量擬選通開(kāi)關(guān)通道地址鎖存與譯碼邏輯控制與定時(shí)電路逐次逼近寄存器SAR樹(shù)狀模擬開(kāi)關(guān)陣譯碼器256R電阻分壓器三態(tài)輸出數(shù)據(jù)鎖存器A電壓比較器8位A/D轉(zhuǎn)換器VccGNDVREF(+)VREF(-)IN0IN1IN2IN3IN4IN5IN6IN7ADDAADDBADDCALEEOCD0D1D2D3D4D5D6D7OESTARTCLK第五頁(yè),共30頁(yè)。ADC0809的引腳D0~D7:8位數(shù)字量輸出引腳。IN0~I(xiàn)N7:8路模擬量輸入引腳。Vcc:+5V工作電源。GND:地。VREF(+):參考電壓正端。VREF(-):參考電壓負(fù)端。START:A/D轉(zhuǎn)換啟動(dòng)信號(hào)輸入端。ALE:地址鎖存允許信號(hào)輸入端。EOC:轉(zhuǎn)換結(jié)束輸出引腳。OE:輸出允許控制端。CLK:轉(zhuǎn)換時(shí)鐘信號(hào)。500kHz左右。ADDA、ADDB、ADDC:地址輸入線。VCC11VREF(+)12D114GND13IN31EOC7IN42START6IN64IN75IN53CLK10OE9D3828IN222ALE27IN123ADDC25ADDA24ADDB26IN019D520D621D718D417D015D216VREF(-)ADC0809第六頁(yè),共30頁(yè)。ADC0809的通道選擇:被選通的通道ADDCADDBADDA被選通的通道ADDCADDBADDAIN0000IN4100IN1001IN5101IN2010IN6110IN3011IN7111第七頁(yè),共30頁(yè)。ADC0809的工作時(shí)序:ALE地址模擬量STARTEOCOED7~D0START信號(hào)后約10us,EOC信號(hào)才變低!第八頁(yè),共30頁(yè)。ADC0809的主要性能指標(biāo):分辨率:8位不可調(diào)誤差:≤±1LSB轉(zhuǎn)換時(shí)間:100μs溫度范圍:-40℃~+85℃功耗:15mW單電源:+5V供電轉(zhuǎn)換的模擬電壓范圍:0~5V第九頁(yè),共30頁(yè)。ADC0809與單片機(jī)接口通道地址:78H~7FH第十頁(yè),共30頁(yè)。A/D轉(zhuǎn)換器的程序設(shè)計(jì)分為三步:?jiǎn)?dòng)轉(zhuǎn)換:向所選通道執(zhí)行寫(xiě)操作等待轉(zhuǎn)換結(jié)束:中斷,查詢(xún),定時(shí)等待讀取轉(zhuǎn)換結(jié)果第十一頁(yè),共30頁(yè)。程序控制查詢(xún)方式#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineIN0XBYTE[0xff78] //設(shè)置IN0通道地址sbitadbusy=P3^2;voidad0809(ucharidata*a);voidmain(void){ staticucharidataad[10]; ad0809(ad);}第十二頁(yè),共30頁(yè)。voidad0809(ucharidata*x){ uchari; ucharxdata*ad_adr; ad_adr=&IN0; for(i=0;i<8;i++) //處理8個(gè)模擬量通道 { *ad_adr=0; //啟動(dòng)A/D轉(zhuǎn)換 i=i;i=i; //延時(shí)等待EOC信號(hào)變低 while(adbusy==1); //查詢(xún)轉(zhuǎn)換是否結(jié)束 x[i]=*ad_adr; //讀取轉(zhuǎn)換結(jié)果 ad_adr++; //8通道未完,則采集下一通道 }}第十三頁(yè),共30頁(yè)。中斷方式#include<reg51.h>#include<absacc.h>#defineucharunsignedchar#defineIN0XBYTE[0xff78] //設(shè)置IN0通道地址ucharidataad[10];voidmain(void){ IT0=1; //外部中斷0為邊沿觸發(fā)方式 EX0=1; //允許外部中斷0中斷 EA=1; //開(kāi)放CPU中斷 IN0=0; //啟動(dòng)A/D轉(zhuǎn)換 while(1);}

第十四頁(yè),共30頁(yè)。voidad0809(void)interrupt0using1{ staticuchari; staticucharxdata*ad_adr=&IN0;

EX0=0; //停止中斷 ad[i]=*ad_adr; //讀取存放轉(zhuǎn)換結(jié)果 i++; ad_adr++; //8通道未完,則采集下一通道 if(i<8) { EX0=1; //允許外部中斷0中斷 *ad_adr=0; //啟動(dòng)下一通道A/D轉(zhuǎn)換 }}第十五頁(yè),共30頁(yè)。AD574A的內(nèi)部結(jié)構(gòu)控制邏輯A段B段C段12位三態(tài)輸出緩沖器逐次逼近寄存器(SAR)時(shí)鐘A模擬輸出參考輸入D/A轉(zhuǎn)換器(AD656A)模擬公共點(diǎn)10V參考電壓+_輸出控制數(shù)字芯片轉(zhuǎn)換結(jié)束啟/停復(fù)位保持/切斷比較器模擬芯片12位12位12/8CSA0R/CCED11…D020VIN10VINAGNDBIPOFFREFINREFOUTSTSVCCVEEVLDGND第十六頁(yè),共30頁(yè)。AD574A的引腳特性D0~D11:12位數(shù)字量輸出。CE:片選信號(hào),高電平有效。CS:片選信號(hào),低電平有效。R/C:數(shù)據(jù)讀/啟動(dòng)信號(hào)。R/C=1時(shí),讀取轉(zhuǎn)換結(jié)果;R/C=0時(shí),啟動(dòng)A/D轉(zhuǎn)換。12/8:輸出數(shù)據(jù)長(zhǎng)度選擇信號(hào)。A0:字節(jié)選擇信號(hào)。在=0狀態(tài)下,A0=0啟動(dòng)12位A/D轉(zhuǎn)換,A0=1動(dòng)8位A/D轉(zhuǎn)換。在=1且=0狀態(tài)下,A0=0讀高8位數(shù)據(jù),A0=1讀低4位數(shù)據(jù)。VEE11BIPOFF1220VIN1410VIN13VL1VCC712/82CE6A04R/C5CS3REFIN10AGND9REFOUT828STS22D627D1123D725D924D826D1019D320D421D518D217D116D0AD574A15DGND第十七頁(yè),共30頁(yè)。STS:AD574A的工作狀態(tài)信號(hào)。STS=1表示正處于轉(zhuǎn)換狀態(tài);STS=0表示轉(zhuǎn)換完畢。10VIN:10V模擬電壓輸入。單極性時(shí)為0~+10V,雙極性時(shí)為-5V~+5V。20VIN:20V模擬電壓輸入。單極性時(shí)為0~+20V,雙極性時(shí)為-10V~+10V。REFIN:參考輸入,用于滿(mǎn)量程調(diào)節(jié)。REFOUT:內(nèi)部10V參考電壓輸出。BIPOFF:偏置輸入,用于零點(diǎn)調(diào)節(jié)。VCC、VEE、VL:+15V、-15V、+5V供電電源。AGND:模擬地。DGND:數(shù)字地。第十八頁(yè),共30頁(yè)。AD574A邏輯控制真值表CECSR/CA1A0工作狀態(tài)0××××禁止×1×××禁止100×0啟動(dòng)12位轉(zhuǎn)換100×1啟動(dòng)8位轉(zhuǎn)換1011×12位數(shù)據(jù)輸出10100高8位數(shù)據(jù)輸出10101低4位數(shù)據(jù)輸出第十九頁(yè),共30頁(yè)。AD574A的工作時(shí)序CECSR/CA0STSD11~D0CECSR/CA0STSD11~D0高阻數(shù)據(jù)(a)啟動(dòng)和轉(zhuǎn)換(b)讀取數(shù)據(jù)第二十頁(yè),共30頁(yè)。AD574A的主要性能指標(biāo)分辨率:12位非線性誤差:±1LSB模擬輸入: 單極性:0V~10V,0V~20V;雙極性:±5V,±10V供電電源: VL:+4.5V~+5.5V;VCC:+13.5V~+16.5V;VEE:-13.5V~-16.5V功耗:450mW溫度范圍:0~+70℃轉(zhuǎn)換時(shí)間:35μs第二十一頁(yè),共30頁(yè)。AD574的單極性轉(zhuǎn)換電路REFINBIPOFFREFOUTAD574+15V-15V100K100K10012100108第二十二頁(yè),共30頁(yè)。AD574的雙極性轉(zhuǎn)換電路REFOUTBIPOFFREFINAD57410012810100第二十三頁(yè),共30頁(yè)。AD574A與MCS-51系列單片機(jī)接口啟動(dòng)A/D地址:FF7CH讀高8位地址:FF7DH讀低4位地址:FF7FH第二十四頁(yè),共30頁(yè)。#include<reg51.h>#include<absacc.h>#defineuintunsignedint#defineADCOMXBYTE[0xff7c]//AD574COM#defineADHIXBYTE[0xff7d]//AD574高8位數(shù)據(jù)地址#defineADLOXBYTE[0xff7f]//AD574低4位數(shù)據(jù)地址sbitadbusy=P3^2;voiddelayms(uintc){ uinti; while(c--) { for(i=0;i<125;i++); }}第二十五頁(yè),共30頁(yè)。uintAD574(void){ inti; floatsum=0; for(i=0;i<5;i++) { adbusy=1; delayms(2); ADCOM=0; //啟動(dòng)A/D轉(zhuǎn)換 while(adbusy==1); //查詢(xún)轉(zhuǎn)換是否完成 sum+=((ADHI<<4)+(ADLO>>4)); } //讀取轉(zhuǎn)換結(jié)果并處理 return(uint)(sum/5);}voidmain(void){ while(1) {AD574();}}第二十六頁(yè),共30頁(yè)。頻率量的測(cè)量測(cè)量頻率法:在單位定時(shí)時(shí)間內(nèi)對(duì)被測(cè)信號(hào)脈沖進(jìn)行計(jì)數(shù)。適用于較高頻率脈沖測(cè)量。測(cè)量周期法:在被測(cè)信號(hào)周期時(shí)間內(nèi)對(duì)某一基準(zhǔn)脈沖進(jìn)行計(jì)數(shù)。適用于較低頻率的測(cè)量。第二十七頁(yè),共30頁(yè)。測(cè)量頻率法可將頻率脈沖直接連接到8051的T1端,利用T/C0作定時(shí)器,T/C1作計(jì)數(shù)器,在T/C0的定時(shí)時(shí)間里,對(duì)頻率脈沖進(jìn)行計(jì)數(shù)??赡軙?huì)造成脈沖丟失,從而降低測(cè)量精度第一個(gè)丟失的脈沖是由于開(kāi)始檢測(cè)時(shí)脈沖寬度已小于一個(gè)機(jī)器周

溫馨提示

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

評(píng)論

0/150

提交評(píng)論