資源描述:
《多路數(shù)據(jù)采集器設(shè)計(jì)報(bào)告.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、多路數(shù)據(jù)采集器設(shè)計(jì)1.設(shè)計(jì)要求所設(shè)計(jì)的數(shù)據(jù)采集器,共有16路信號(hào)輸入,每路信號(hào)都是直流0~20mV信號(hào),每秒鐘采集一遍,將其數(shù)據(jù)傳給上位PC計(jì)算機(jī)。本采集器地址為50H。要求多路模擬開關(guān)用4067,A/D轉(zhuǎn)換用ADC0809,運(yùn)算放大器用OP07,單片機(jī)用89C51,通信用RS232接口,通信芯片用MAX232。與PC機(jī)的RS232串口進(jìn)行通信。設(shè)計(jì)采集器的電原理圖,用C51語(yǔ)言編制采集器的工作程序。2.方案設(shè)計(jì)按要求,設(shè)計(jì)數(shù)據(jù)采集器方案如下所示:數(shù)據(jù)采集器采用AT89C51單片機(jī)作為微控制器,模擬開關(guān)4067的地址A、B、C、D分別與P1.0~P1.3連接,通過(guò)控制P1口輸出來(lái)選擇輸
2、入信號(hào),將直流信號(hào)依次輸入ADC0809的模擬信號(hào)輸入端,ADC0809共有8路輸入通道,在使用模擬開關(guān)時(shí),僅將模擬開關(guān)的輸出端連接到ADC0809的1路輸入通道即可,本方案中使用0通道。ADC0809的轉(zhuǎn)換結(jié)果通過(guò)P0口傳給單片機(jī),單片機(jī)將采集結(jié)果通過(guò)串行通信RS232接口上傳給上位PC機(jī),實(shí)現(xiàn)數(shù)據(jù)的采集。50H數(shù)據(jù)采集器方案示意圖1.電路原理圖a)AT89C51單片機(jī)電路本實(shí)驗(yàn)中選取8位單片機(jī)AT89C51作為微控制器,需要片外11.0592MHz的振蕩器,4K字節(jié)EPROM,128字節(jié)RAM,與51單片機(jī)有很好的兼容性。在本此實(shí)驗(yàn)中程序及數(shù)據(jù)不多,故無(wú)需另加外部程序存儲(chǔ)器。單片機(jī)
3、部分的電路如下所示:AT89C51單片機(jī)電路b)數(shù)據(jù)輸入部分?jǐn)?shù)據(jù)輸入部分由模擬開關(guān)4067實(shí)現(xiàn)多路信號(hào)的切換。CD4067是單16路(單刀16位)模擬開關(guān),各開關(guān)由外部輸入二進(jìn)制的地址碼A、B、C、D來(lái)切換。其中腳10、11、14和13是地址碼A(LSB)、B、C、D(MSB)的輸入端;腳2~9和16~23是開關(guān)的輸入/輸出端(開關(guān)位);腳1是開關(guān)的輸出/輸入公共端(開關(guān)刀);腳15為控制端,低電平有效(選通),高電平禁止(開關(guān)開路)。輸入腳A、B、C、D分別與單片機(jī)P1.0~P1.3相連,改變P1輸出即可切換輸入通道,控制腳與P2.4相連。輸出腳1后接電壓放大電路。a)電壓調(diào)理放大電
4、路電壓調(diào)理電路由于輸入信號(hào)均為0~20mV的微弱電壓信號(hào),而模數(shù)轉(zhuǎn)換器ADC0809的輸入量要求為0~5V直流電壓,所以必須后接電壓放大電路。放大器選用OP07,將0~20mV電壓放大到0~5V,其放大倍數(shù)為250倍,一般情況下,放大器的放大倍數(shù)最好小于200倍,安全起見(jiàn),選用兩個(gè)OP07進(jìn)行兩級(jí)放大,前級(jí)放大25倍,后級(jí)放大10倍,放大電路如上圖所示。b)模數(shù)轉(zhuǎn)換部分ADC0809數(shù)模轉(zhuǎn)換電路模數(shù)轉(zhuǎn)換元件選用ADC0809,其主要特性有:?8路8位A/D轉(zhuǎn)換器,即分辨率8位;?具有轉(zhuǎn)換起停控制端;?轉(zhuǎn)換時(shí)間為100s;?單個(gè)+5V電源供電;?模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻
5、度校準(zhǔn);?工作溫度范圍為-40~85;?低功耗,約15mW。選擇參考電壓為+5V,當(dāng)輸入電壓為+5V時(shí),轉(zhuǎn)換數(shù)據(jù)為#FFH,當(dāng)輸入電壓為0V時(shí),轉(zhuǎn)換數(shù)據(jù)為#00H。ADC0809片內(nèi)沒(méi)有時(shí)鐘,用于51單片機(jī)系統(tǒng)時(shí),時(shí)鐘信號(hào)可由51單片機(jī)ALE端口經(jīng)過(guò)一個(gè)2分頻電路獲得。一般情況下,ALE信號(hào)頻率是51單片機(jī)時(shí)鐘頻率的1/6。若采用11.0592MHz的晶振,則ALE的輸出頻率為1.8432MHz,經(jīng)2分頻后為921.6KHz,這個(gè)頻率符合ADC0809對(duì)時(shí)鐘頻率的要求。2分頻電路由于多路輸入信號(hào)切換由模擬開關(guān)4067實(shí)現(xiàn),所以ADC0809的8路輸入開關(guān)實(shí)際只使用1路,為方便起見(jiàn),使用
6、0通道輸入,所以電路中將A、B、C腳接地處理,并且將IN1~IN7同樣做接地處理。IN0與電壓放大輸出相連。轉(zhuǎn)換結(jié)果的讀取有3種方法:?延時(shí)法:不利用EOC信號(hào),啟動(dòng)A/D轉(zhuǎn)換,等待130us后讀取轉(zhuǎn)換結(jié)果。?查詢法:將EOC信號(hào)接到IO口,檢測(cè)EOC,若EOC=0,則A/D轉(zhuǎn)換沒(méi)有結(jié)束,繼續(xù)檢測(cè);當(dāng)EOC=1時(shí),A/D轉(zhuǎn)換已經(jīng)結(jié)束,可讀取A/D轉(zhuǎn)換結(jié)果。?中斷法:將EOC信號(hào)接到INT0口,利用中斷程序獲取結(jié)果。實(shí)際應(yīng)用中,通常采用跳變觸發(fā)方式。EOC經(jīng)過(guò)一個(gè)反向器接到單片機(jī)INT0上。啟動(dòng)A/D轉(zhuǎn)換后,單片機(jī)可以做其它工作,A/D轉(zhuǎn)換結(jié)束時(shí),EOC端產(chǎn)生一個(gè)由低到高的正跳變,經(jīng)反向
7、器傳輸?shù)絀NT0,若此時(shí)單片機(jī)的CPU處于開中斷狀態(tài),并且允許INT0中斷,又沒(méi)有高一級(jí)的或同一級(jí)的其他中斷正在服務(wù),則CPU立即執(zhí)行中斷服務(wù)程序,在中斷服務(wù)程序中讀取A/D轉(zhuǎn)換結(jié)果。本次試驗(yàn)中,采取中斷法實(shí)現(xiàn)轉(zhuǎn)換結(jié)果的讀取。a)串行通信部分串行數(shù)據(jù)通信單片機(jī)串口通信采用RS232C標(biāo)準(zhǔn),由于RS232C標(biāo)準(zhǔn)采用正負(fù)電壓表示邏輯狀態(tài),與TTL以高低電平表示邏輯狀態(tài)的規(guī)定不同,必須使用電平轉(zhuǎn)換器件進(jìn)行裝換,本方案采用Maxim公司的MAX232芯