基于8051和ADC0809CCN的數(shù)據(jù)采集畢業(yè)設(shè)計論文_第1頁
基于8051和ADC0809CCN的數(shù)據(jù)采集畢業(yè)設(shè)計論文_第2頁
基于8051和ADC0809CCN的數(shù)據(jù)采集畢業(yè)設(shè)計論文_第3頁
基于8051和ADC0809CCN的數(shù)據(jù)采集畢業(yè)設(shè)計論文_第4頁
基于8051和ADC0809CCN的數(shù)據(jù)采集畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于8051和adc0809ccn的數(shù)據(jù)采集設(shè)計摘 要以adc0809和8051為核心,該系統(tǒng)有三個部分:數(shù)據(jù)采集,數(shù)據(jù)處理和顯示,終端接收。具體包括控制、顯示、a/d轉(zhuǎn)換器、電平轉(zhuǎn)換接口、個人計算機等。設(shè)計中用adc0809進行8路數(shù)據(jù)的采樣,利用mcs-51單片機的串行口發(fā)送和接收數(shù)據(jù)。顯示部分由8155、75452、7407和led數(shù)碼顯示器構(gòu)成。硬件設(shè)計應(yīng)用電子設(shè)計自動化工具,軟件設(shè)計采用模塊化編程方法。關(guān)鍵字:數(shù)據(jù)采集,eda,串行口,模塊化編程sumarryto adc0809 and 8051 as the core, the system has three parts: da

2、ta acquisition, data processing and display, the terminal receives. including its control, display, a / d converter, power conversion interface, personal computers. design using adc0809 data for 8 samples, using mcs-51 microcontroller serial port to send and receive data. display in part by the led

3、digital display 8155,75452,7407 and composition. application of electronic design automation of hardware design tools, software design is modular programmingkeywords: data collection, eda, serial port, modular programming目 錄摘 要2abstract3前 言3第1章 任務(wù)分析與方案確定31.1 信號采集分析31.1.1 信號采集31.1.2 a/d轉(zhuǎn)換器的選取31.2 控制與

4、顯示方法分析31.2.1 單片機系統(tǒng)分析31.2.2 顯示與鍵盤分析31.3 傳輸方式分析3第2章 系統(tǒng)硬件設(shè)計32.1 信號調(diào)理電路32.2 數(shù)據(jù)采集電路32.2.1 a/d轉(zhuǎn)換的一般步驟32.2.2 adc0809內(nèi)部功能與引腳介紹32.2.3 adc0809與mcs-51系列單片機的接口方法32.4 控制器、振蕩源和復(fù)位電路32.5 鍵盤與顯示電路32.6 通信電路3第3章 軟件設(shè)計33.1 a/d轉(zhuǎn)換33.2 標度變換33.3 數(shù)制轉(zhuǎn)換33.4 鍵盤程序33.5 led顯示程序33.6 通信程序33.6.1 上位機程序33.6.2 下位機程序3結(jié)論、討論和建議3致 謝3參考文獻3畢業(yè)設(shè)

5、計小結(jié)3附錄3前 言隨著計算機技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集系統(tǒng)在多個領(lǐng)域有著廣泛的應(yīng)用。數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán),在醫(yī)藥、化工、食品、等領(lǐng)域的生產(chǎn)過程中,往往需要隨時檢測各生產(chǎn)環(huán)節(jié)的溫度、濕度、流量及壓力等參數(shù)。同時,還要對某一檢測點任意參數(shù)能夠進行隨機查尋,將其在某一時間段內(nèi)檢測得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來,以便進行比較,做出決策,調(diào)整控制方案,提高產(chǎn)品的合格率,產(chǎn)生良好的經(jīng)濟效益。 隨著工、農(nóng)業(yè)的發(fā)展,多路數(shù)據(jù)采集勢必將得到越來越多的應(yīng)用,為適應(yīng)這一趨勢,作這方面的研究就顯得十分重要。在科學(xué)研究中,運用數(shù)據(jù)采集系統(tǒng)可獲得大量的動態(tài)信息,也是獲取科學(xué)數(shù)據(jù)和生成知識的重要手段

6、之一??傊?,不論在哪個應(yīng)用領(lǐng)域中,數(shù)據(jù)采集與處理將直接影響工作效率和所取得的經(jīng)濟效益。 此外,計算機的發(fā)展對通信起了巨大的推動作用.計算機和通信緊密結(jié)合構(gòu)成了靈活多樣的通信控制系統(tǒng),也可以構(gòu)成強有力的信息處理系統(tǒng),這樣對社會的發(fā)展產(chǎn)生了深遠的影響。數(shù)據(jù)通信是計算機廣泛應(yīng)用的必然產(chǎn)物。數(shù)據(jù)采集系統(tǒng),從嚴格的意義上來說,應(yīng)該是用計算機控制的多路數(shù)據(jù)自動檢測或巡回檢測,并且能夠?qū)?shù)據(jù)實行存儲、處理、分析計算以及從檢測的數(shù)據(jù)中提取可用的信息,供顯示、記錄、打印或描繪的系統(tǒng)。 數(shù)據(jù)采集系統(tǒng)一般由數(shù)據(jù)輸入通道,數(shù)據(jù)存儲與管理,數(shù)據(jù)處理,數(shù)據(jù)輸出及顯示這五個部分組成。輸入通道要實現(xiàn)對被測對象的檢測,采樣和信

7、號轉(zhuǎn)換等工作。數(shù)據(jù)存儲與管理要用存儲器把采集到的數(shù)據(jù)存儲起來,建立相應(yīng)的數(shù)據(jù)庫,并進行管理和調(diào)用。數(shù)據(jù)處理就是從采集到的原始數(shù)據(jù)中,刪除有關(guān)干擾噪聲,無關(guān)信息和必要的信息,提取出反映被測對象特征的重要信息。另外,就是對數(shù)據(jù)進行統(tǒng)計分析,以便于檢索;或者把數(shù)據(jù)恢復(fù)成原來物理量的形式,以可輸出的形態(tài)在輸出設(shè)備上輸出,例如打印,顯示,繪圖等。數(shù)據(jù)輸出及顯示就是把數(shù)據(jù)以適當(dāng)?shù)男问竭M行輸出和顯示。由于rs-232在微機通信接口中廣泛采用,技術(shù)已相當(dāng)成熟。在近端與遠端通信過程中,采用串行rs-232標準,實現(xiàn)pc機與單片機間的數(shù)據(jù)傳輸。在本畢業(yè)設(shè)計中對多路數(shù)據(jù)采集系統(tǒng)作了基本的研究。本系統(tǒng)主要解決的是怎樣

8、進行數(shù)據(jù)采集以及怎樣進行多路的數(shù)據(jù)采集,并將數(shù)據(jù)上傳至計算機。第1章 任務(wù)分析與方案確定根據(jù)系統(tǒng)基本要求,將本系統(tǒng)劃分為如下幾個部分:l 信號調(diào)理電路l 8路模擬信號的產(chǎn)生與a/d轉(zhuǎn)換器l 發(fā)送端的數(shù)據(jù)采集與傳輸控制器l 人機通道的接口電路l 數(shù)據(jù)傳輸接口電路數(shù)據(jù)采集與傳輸系統(tǒng)一般由信號調(diào)理電路,多路開關(guān),采樣保持電路,a/d,單片機,電平轉(zhuǎn)換接口,接收端(單片機、pc或其它設(shè)備)組成。系統(tǒng)框圖如圖1-1所示圖1-1 一般系統(tǒng)框圖1.1 信號采集分析被測電壓為05v直流電壓,可通過電位器調(diào)節(jié)產(chǎn)生。1.1.1 信號采集多路數(shù)據(jù)采集系統(tǒng)多采用共享數(shù)據(jù)采集通道的結(jié)構(gòu)形式。數(shù)據(jù)采集方式有順序控制數(shù)據(jù)采

9、集和程序控制數(shù)據(jù)采集。方案一:順序控制數(shù)據(jù)采集,顧名思義,它是對各路被采集參數(shù),按時間順序依次輪流采樣。原理如下圖1-2所示,系統(tǒng)的性能完全由硬件設(shè)備決定。在每次的采集過程中,所采集參數(shù)的數(shù)目、采樣點數(shù)、采樣速率、采樣精度都固定不變。若要改變這些指標,需改變接線或更換設(shè)備方能實現(xiàn)。數(shù)據(jù)采集時,控制多路傳輸門開啟和關(guān)閉的信號來自脈沖分配器,在時鐘脈沖的推動下,這些控制信號不斷循環(huán),使傳輸門以先后順序循環(huán)啟閉。 圖1-2 順序數(shù)據(jù)采集原理 方案二:程序控制數(shù)據(jù)采集,由硬件和軟件兩部分組成。,據(jù)不同的采集需要,在程序存儲器中,存放若干種信號采集程序,選擇相應(yīng)的采集程序進行采集工作,還可通過編新的程序

10、,以滿足不同采樣任務(wù)的要求。如圖1-3所示。程序控制數(shù)據(jù)采集的采樣通道地址可隨意選擇,控制多路傳輸門開啟的通道地址碼由存儲器中讀出的指令確定。即改變存儲器中的指令內(nèi)容便可改變通道地址。圖1-3 程序控制數(shù)據(jù)采集原理由于順序控制數(shù)據(jù)采集方式缺乏通用性和靈活性,所以本設(shè)計中選用程序控制數(shù)據(jù)采集方式。采集多路模擬信號時,一般用多路模擬開關(guān)巡回檢測的方式,即一種數(shù)據(jù)采集的方式。利用多路開關(guān)(mux)讓多個被測對象共用同一個采集通道,這就是多通道數(shù)據(jù)采集系統(tǒng)的實質(zhì)。當(dāng)采集高速信號時,a/d轉(zhuǎn)換器前端還需加采樣/保持(s/h)電路。待測量一般不能直接被轉(zhuǎn)換成數(shù)字量,通常要進行放大、特性補償、濾波等環(huán)節(jié)的預(yù)

11、處理。被測信號往往因為幅值較小,而且可能還含有多余的高頻分量等原因,不能直接送給a/d轉(zhuǎn)換器,需對其進行必要的處理,即信號調(diào)理。如對信號進行放大、衰減、濾波等。通常希望輸入到a/d轉(zhuǎn)換器的信號能接近a/d轉(zhuǎn)換器的滿量程以保證轉(zhuǎn)換精度,因此在直流電流電源輸出端與a/d轉(zhuǎn)換器之間應(yīng)接入放大器以滿足要求。本題要求中的被測量為05v直流信號,由于輸出電壓比較大,滿足a/d轉(zhuǎn)換輸入的要求,故可省去放大器,而將電源輸出直接連接至a/d轉(zhuǎn)換器輸入端。多路數(shù)據(jù)采集輸入通道的結(jié)構(gòu)圖1-4所示。圖1-4 多路數(shù)據(jù)采集輸入通道結(jié)構(gòu)注:緩慢變化信號和直流信號,采樣保持電路可以省略。1.1.2 a/d轉(zhuǎn)換器的選取1.轉(zhuǎn)

12、換時間的選擇轉(zhuǎn)換速度是指完成一次a/d轉(zhuǎn)換所需時間的倒數(shù),是一個很重要的指標。a/d轉(zhuǎn)換器型號不同,轉(zhuǎn)換速度差別很大。通常,8位逐次比較式adc的轉(zhuǎn)換時間為100us左右。由于本系統(tǒng)的控制時間允許,可選8位逐次比較式a/d轉(zhuǎn)換器。2.adc位數(shù)的選擇a/d轉(zhuǎn)換器的位數(shù)決定著信號采集的精度和分辨率。要求精度為0.5%。對于該8個通道的輸入信號,8位a/d轉(zhuǎn)換器,其精度為輸入為05v時,分辨率為a/d轉(zhuǎn)換器的滿量程值 adc的二進制位數(shù)量化誤差為adc0809是ti公司生產(chǎn)的8位逐次逼近式模數(shù)轉(zhuǎn)換器,包括一個8位的逼近型的adc部分,并提供一個8通道的模擬多路開關(guān)和聯(lián)合尋址邏輯,為模擬通道的設(shè)計提

13、供了很大的方便。用它可直接將8個單端模擬信號輸入,分時進行a/d轉(zhuǎn)換,在多點巡回監(jiān)測、過程控制等領(lǐng)域中使用非常廣泛,所以本設(shè)計中選用該芯片作為a/d轉(zhuǎn)換電路的核心。1.2 控制與顯示方法分析用單片機作為這一控制系統(tǒng)的核心,接受來自adc0809的數(shù)據(jù),經(jīng)處理后通過串口傳送,由于系統(tǒng)功能簡單,鍵盤僅由兩個開關(guān)和一個外部中斷端組成,完成采樣通道的選擇,單片機通過接口芯片與led數(shù)碼顯示器相連,驅(qū)動顯示器顯示相應(yīng)通道采集到的數(shù)據(jù)。1.2.1 單片機系統(tǒng)分析1.復(fù)位電路 單片機在開機時都需要復(fù)位,以便中央處理器cpu以及其他功能部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。51的rst引腳是復(fù)位

14、信號的輸入端。復(fù)位電平是高電平有效,持續(xù)時間要有24個時鐘周期以上。本系統(tǒng)中單片機時鐘頻率為6mhz則復(fù)位脈沖至少應(yīng)為4us。方案一:上電復(fù)位電路圖1-5 上電復(fù)位上電瞬間,rst端的的電位與vcc相同,隨著電容的逐步充電,充電電流減小,rst電位逐漸下降。上電復(fù)位所需的最短時間是振蕩器建立時間加上二個機器周期,在這段時間里,振蕩建立時間不超過10ms。復(fù)位電路的典型參數(shù)為:c取10uf,r取8.2k,故時間常數(shù)=rc=10108.210=82ms以滿足要求。圖1-6 外部復(fù)位方案二.外部復(fù)位電路按下開關(guān)時,電源通過電阻對外接電容進行充電,使res端為高電平,復(fù)位按鈕松開后,電容通過下拉電阻放

15、電,逐漸使ret端恢復(fù)低電平。方案三:上電外部復(fù)位電路圖1-7 外部上電復(fù)位 典型的上電外部復(fù)位電路是既具有上電復(fù)位又具有外部復(fù)位電路,上電瞬間,c與rx構(gòu)成充電電路,rst引腳出現(xiàn)正脈沖,只要rst保持足夠的高電平,就能使單片機復(fù)位。一般取c=22uf,r=200,rx=1k,此時=2210110=22ms當(dāng)按下按鈕,rst出現(xiàn)5=4.2v時,使單片機復(fù)位。2.振蕩源 在mcs-51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳xtal1(19)、xtal2(18)分別是此放大器的輸入端和輸出端。方案一:內(nèi)部方式與作為反饋元件的片外晶體或陶瓷諧振器一起組成一個自激振蕩器。方案二:外部方式

16、外部振蕩器信號的接法與芯片類型有關(guān)。cmos工藝的mcu其xtal1端接外部時鐘信號,xtal2端可懸空。hmos工藝的mcu則xtal2端接外部時鐘信號,xtal1端須接地。在mcs-51單片機系列芯片中,用8051或8751芯片可以構(gòu)成最小系統(tǒng)。因為8051和8751是片內(nèi)有rom/eprom的單片機,用這種芯片構(gòu)成的單片及最小系統(tǒng)簡單、可靠。8051構(gòu)成的最小系統(tǒng)特點:l 受集成度所限,只能用于小型控制單元。l 有可供用戶使用的大量的i/o口線。l 僅有芯片內(nèi)部的存儲器,故存儲器的容量有限。l 8051的應(yīng)用軟件要依靠半導(dǎo)體掩膜技術(shù)植入,適于在大批量生產(chǎn)的應(yīng)用系統(tǒng)中使用。1.2.2 顯示

17、與鍵盤分析 對系統(tǒng)發(fā)出命令和輸出顯示測量結(jié)果,主要是由鍵盤和led數(shù)碼顯示器組成。緩慢變化信號和直流信號,要求用數(shù)碼管適時地進行十進制顯示,由于精度要達到0.5%,所以這里用5只led數(shù)碼顯示器來表示該十進制數(shù),用兩只七段數(shù)碼顯示器表示通道號。為實現(xiàn)通道的選取,用鍵盤實現(xiàn)控制功能。1譯碼方法用單片機驅(qū)動led數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。方案一:硬件譯碼硬件譯碼就是顯示的段碼完全由硬件完成,cpu只要送出標準的bcd碼即可,硬件接線有一定標準。方案二:軟件譯碼 軟件譯碼是用軟件來完成硬件的功能,接線靈活,顯示段碼完全由軟件來

18、處理,是目前常用的顯示驅(qū)動方式。2顯示方法 在該單片機系統(tǒng)中,使用7段led顯示器構(gòu)成8位顯示器,段選線控制顯示的字符,位選線控制顯示位的亮或暗。方案一:靜態(tài)顯示靜態(tài)顯示,顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就不用再管,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次數(shù)據(jù)。編程容易,管理簡單,顯示亮度高,顯示數(shù)據(jù)穩(wěn)定,占用很少的cpu時間。但引線多,線路復(fù)雜,硬件成本高。方案二:動態(tài)顯示動態(tài)顯示需要cpu時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)會有閃爍感,占用的cpu時間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的cpu時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用

19、的硬件較多;動態(tài)顯示雖然有閃爍感,占用的cpu時間多,但使用的硬件少,能節(jié)省線路板空間。當(dāng)顯示裝置中有多個多段led時,通常采用動態(tài)掃描驅(qū)動電路,節(jié)省開銷。3顯示接口芯片的選擇方案一:8279接口芯片8279是intel公司的通用可編程鍵盤和顯示器接口電路芯片,內(nèi)部有顯示ram。8279可以實現(xiàn)對鍵盤和顯示器的自動掃描,識別閉合鍵的鍵號,完成顯示器的動態(tài)顯示。從而大大節(jié)省了cpu處理鍵盤和顯示器的時間,提高了cpu的工作效率。另外,8279與單片機的接口簡單,顯示穩(wěn)定,工作可靠。但8279所需外圍元件多(顯示驅(qū)動、譯碼等)、命令字多,調(diào)試困難,占用電路板面積大、綜合成本高,在中小系統(tǒng)中常常大材

20、小用。方案二:8155接口芯片采用并行口擴展芯片擴展并行口的方法來設(shè)計顯示系統(tǒng)。用做顯示系統(tǒng)的傳統(tǒng)的芯片有8155、8255、8279等。這種方式的優(yōu)點是速度快,顯示數(shù)據(jù)簡單。缺點是,占用單片機口線多。如用8155,其內(nèi)部集成有:256個字節(jié)的sram、一個14位二進制減法計數(shù)器和3個并行端口pa、pb和pc。但此方案同樣需要驅(qū)動顯示,同時顯示掃描還需占用cpu大量時間。但為設(shè)計的簡單化帶來方便,所以采用該芯片作為顯示接口芯片,a口為位選線,b口為段選線。4鍵盤電路的確定 為了在控制系統(tǒng)中完成采集通道的選擇,還需要為該系統(tǒng)設(shè)置鍵盤。由于功能要求簡單,僅用兩個按鍵即可完成選擇功能,降低了系統(tǒng)的硬

21、件開銷,軟件處理簡單。1.3 傳輸方式分析1.傳輸方式的選擇串行通信有同步和異步兩種工作方式。方案一:同步方式要求發(fā)送與接受保持嚴格同步,由于串行傳輸逐位按順序進行,為了約定數(shù)據(jù)是由哪一位開始傳輸,需設(shè)定同步字符。此方式傳輸速度快,但硬件復(fù)雜。方案二:異步方式,規(guī)定了數(shù)據(jù)傳輸格式,每個數(shù)據(jù)均以相同的幀格式傳送,每幀信息由起始位、數(shù)據(jù)位、奇偶效驗位和停止位組成。幀與幀間用高電平分隔開,但每幀均需附加位,降低了傳輸效率。異步通信依靠起始位、停止位保持通信同步。對硬件的要求低,實現(xiàn)起來比較簡單、靈活,適用于數(shù)據(jù)的隨機發(fā)送/接收,一般適用于509600bps的低速串行通信。2.電平轉(zhuǎn)換芯片選擇rs-2

22、32規(guī)定的電平和一般微處理器的邏輯電平不一致,必須進行電平轉(zhuǎn)換。方案一:采用mcl488和mcl489芯片的轉(zhuǎn)換接口mcl488和mcl489芯片為早期的rs-232至ttl邏輯電平的轉(zhuǎn)換芯片,需要±12v電壓,并且功耗較大,不適合用于低功耗的系統(tǒng)。方案二:采用max232芯片的轉(zhuǎn)換接口max232是maxim公司的產(chǎn)品,包含兩路驅(qū)動器和接收器的rs-232轉(zhuǎn)換芯片。芯片內(nèi)部有一個電壓轉(zhuǎn)換器,可以把輸入的+5v電壓轉(zhuǎn)換為rs-232接口所需的±10v電壓,尤其適用于沒有±12v的單電源系統(tǒng)。由于rs-232信號電平與msc-51型單片機信號電平(ttl電平)不一致

23、,因此采用rs-232標準時,必須進行信號的電平轉(zhuǎn)換。rs-232與ttl電平轉(zhuǎn)換芯片各有特點,此處選用maxim公司的max232芯片。小結(jié):經(jīng)簡單的理論分析,本系統(tǒng)數(shù)據(jù)采集部分核心采用adc0809,單片機系統(tǒng)選用8051構(gòu)成的最小系統(tǒng),用led動態(tài)顯示采集到的數(shù)據(jù),數(shù)據(jù)傳輸則選用rs232標準,實現(xiàn)單片機與pc機的通信。第2章 系統(tǒng)硬件設(shè)計2.1 信號調(diào)理電路信號調(diào)理的任務(wù) 將被測對象的輸出信號變換成計算機要求的輸入信號。圖2-1 信號調(diào)理過程對于多通道數(shù)據(jù)采集系統(tǒng)的輸入通道,設(shè)置多路選擇開關(guān),可降低硬件開銷。如圖2-1所示。為避免小信號通過模擬開關(guān)造成較大的附加誤差,在傳感器輸出信號過

24、小時,每個通道應(yīng)設(shè)前置放大環(huán)節(jié)(本文可不加以考慮)。2.2 數(shù)據(jù)采集電路把連續(xù)變化量變成離散量的過程稱為量化,也可理解為信號的采樣。 把以一定時間間隔t逐點采集連續(xù)的模擬信號,并保持一個時間t,使被采集的信號變成時間上離散、幅值等于采樣時刻該信號瞬時值的一組方波序列信號,即采樣信號。2.2.1 a/d轉(zhuǎn)換的一般步驟1.采樣-保持為了能不失真的恢復(fù)原模擬信號,采樣頻率應(yīng)不小于輸入模擬信號的頻譜中最高頻率的兩倍,這就是采樣定理,即 由于a/d轉(zhuǎn)換需要一定的時間,所以在每次采樣結(jié)束后,應(yīng)保持采樣電壓在一段時間內(nèi)不變,直到下一次采樣的開始。實際中采樣-保持是做成一個電路。2.量化與編碼模擬信號經(jīng)采樣-

25、保持電路后,得到了連續(xù)模擬信號的樣值脈沖,他們是連續(xù)模擬信號在給定時刻上的瞬時值,并不是數(shù)字信號。還要把每個樣值脈沖轉(zhuǎn)換成與它幅值成正比的數(shù)字量。以上為a/d轉(zhuǎn)換的一般步驟,在本電路中由adc0809芯片完成。2.2.2 adc0809內(nèi)部功能與引腳介紹分辨率和精度在第一章中已作了相應(yīng)的計算和分析。adc0809八位逐次逼近式ad轉(zhuǎn)換器是一種單片cmos器件,包括8位模擬轉(zhuǎn)換器、8通道轉(zhuǎn)換開關(guān)和與微處理器兼容的控制邏輯。8路轉(zhuǎn)換開關(guān)能直接連通8個單端模擬信號中的任何一個。其內(nèi)部結(jié)構(gòu)如圖2-2所示。圖2-2 adc0809內(nèi)部結(jié)構(gòu)1.adc0809主要性能u 逐次比較型u cmos工藝制造u 單

26、電源供電u 無需零點和滿刻度調(diào)整u 具有三態(tài)鎖存輸出緩沖器,輸出與ttl兼容u 易與各種微控制器接口u 具有鎖存控制的8路模擬開關(guān)u 分辨率:8位u 功耗:15mwu 最大不可調(diào)誤差小于±1lsb(最低有效位)u 轉(zhuǎn)換時間()128usu 轉(zhuǎn)換精度:u adc0809沒有內(nèi)部時鐘,必須由外部提供,其范圍為101280khz。典型時鐘頻率為640khz2.引腳排列及各引腳的功能,引腳排列如圖2-3所示。各引腳的功能如下:in0in7:8個通道的模擬量輸入端。可輸入05v待轉(zhuǎn)換的模擬電壓。d0d7:8位轉(zhuǎn)換結(jié)果輸出端。三態(tài)輸出,d7是最高位,d0是最低位。a、b、c:通道選擇端。當(dāng)cba

27、=000時,in0輸入;當(dāng)cba=111時,in7輸入。圖2-3 a/dc0809引腳ale:地址鎖存信號輸入端。該信號在上升沿處把a、b、c的狀態(tài)鎖存到內(nèi)部的多路開關(guān)的地址鎖存器中,從而選通8路模擬信號中的某一路。start:啟動轉(zhuǎn)換信號輸入端。從start端輸入一個正脈沖,其下降沿啟動adc0809開始轉(zhuǎn)換。脈沖寬度應(yīng)不小于100200ns。eoc:轉(zhuǎn)換結(jié)束信號輸出端。啟動a/d轉(zhuǎn)換時它自動變?yōu)榈碗娖?。oe:輸出允許端。clk:時鐘輸入端。adc0809的典型時鐘頻率為640khz,轉(zhuǎn)換時間約為100s。ref(-)、ref(+):參考電壓輸入端。adc0809的參考電壓為5v。vcc、g

28、nd:供電電源端。adc0809使用5v單一電源供電。當(dāng)ale為高電平時,通道地址輸入到地址鎖存器中,下降沿將地址鎖存,并譯碼。在start上升沿時,所有的內(nèi)部寄存器清零,在下降沿時,開始進行a/d轉(zhuǎn)換,此期間start應(yīng)保持低電平。在start下降沿后10us左右,轉(zhuǎn)換結(jié)束信號變?yōu)榈碗娖?,eoc為低電平時,表示正在轉(zhuǎn)換,為高電平時,表示轉(zhuǎn)換結(jié)束。oe為低電平時,d0d7為高阻狀態(tài),oe為高電平時,允許轉(zhuǎn)換結(jié)果輸出。2.2.3 adc0809與mcs-51系列單片機的接口方法adc0809與8051單片機的硬件接口有3種形式,分別是查詢方式、中斷方式和延時等待方式,本題中選用中斷接口方式。由于

29、adc0809無片內(nèi)時鐘,時鐘信號可由單片機的ale信號經(jīng)d觸發(fā)器二分頻后獲得。ale引腳得脈沖頻率是8051時鐘頻率的1/6。該題目中單片機時鐘頻率采用6mhz,則ale輸出的頻率是1mhz,二分頻后為500hz,符合adc0809對頻率的要求。由于adc0809內(nèi)部設(shè)有地址鎖存器,所以通道地址由p0口的低3位直接與adc0809的a、b、c相連。通道基本地址為0000h0007h。其對應(yīng)關(guān)系如表2-1所示。地址碼輸入通道cba000in0001in1010in2011in3100in4101in5110in6111in7表2-1 0809輸入通道地址控制信號:將p2.7作為片選信號,在啟動

30、a/d轉(zhuǎn)換時,由單片機的寫信號和p2.7控制adc的地址鎖存和啟動轉(zhuǎn)換。由于ale和start連在一起,因此adc0809在鎖存通道地址的同時也啟動轉(zhuǎn)換。在讀取轉(zhuǎn)換結(jié)果時,用單片機的讀信號和p2.7引腳經(jīng)或非門后,產(chǎn)生正脈沖作為oe信號,用一打開三態(tài)輸出鎖存器。其接口電路如圖2-4所示。圖 2-4 adc0809與mcs-51的接口電路start信號和oe信號的邏輯表達式為圖2-5 adc0809時序圖當(dāng)8051通過對0000h0007h(基本地址)中的某個口地址進行一次寫操作,即可啟動相應(yīng)通道的ad轉(zhuǎn)換;當(dāng)轉(zhuǎn)換結(jié)束后,adc0809的eoc端向8051發(fā)出中斷申請信號;8051通過對0000

31、h0007h中的某個口地址進行一次讀操作,即可得到轉(zhuǎn)換結(jié)果。注:adc0809的基準電壓可通過基準電壓芯片供給,如max875,可供給5v基準電壓。2.4 控制器、振蕩源和復(fù)位電路 復(fù)位即回到初始狀態(tài),是單片機經(jīng)常進入的工作狀態(tài)。單片機振蕩電路的振蕩周期和時鐘電路的時鐘周期決定了cpu的時序。1復(fù)位電路圖2-6上電外部復(fù)位電路 單片機的復(fù)位是靠外部電路實現(xiàn)的。無論是hmos還是chmos型,在振蕩器正運行的情況下,rst引腳保持二個機器周期以上時間的高電平,系統(tǒng)復(fù)位。在rst端出現(xiàn)高電平的第二個周期,執(zhí)行內(nèi)部復(fù)位,以后每個周期復(fù)位一次,直至rst端變低。本文采用上電外部復(fù)位電路,如圖2-6所示

32、,相關(guān)參數(shù)為典型值。2.振蕩源圖2-7 內(nèi)部振蕩器方式內(nèi)部方式時鐘電路如圖2-7所示。外接晶體以及電容、構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中,內(nèi)部振蕩器產(chǎn)生自激振蕩,一般晶振可在212mhz之間任選。對外接電容值雖然沒有嚴格的要求,但電容的大小多少會影響振蕩頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。外接晶體時,和通常選30pf左右;外接陶瓷諧振器時,和的典型值為47pf。2.5 鍵盤與顯示電路1.鍵盤鍵盤由一組常開按鍵開關(guān)組成。鍵盤系統(tǒng)的主要工作包括及時發(fā)現(xiàn)有鍵閉合,并作相應(yīng)的處理。圖2-8 鍵盤硬件邏輯本系統(tǒng)中采用中斷方式的開關(guān)代替鍵盤,完成采集通道的選擇。硬件邏輯如圖2-

33、8所示。2.顯示顯示部分為8個共陰極的七段led顯示器,8個七段led的adp字段的引腳分別由8個oc門同相驅(qū)動器驅(qū)動。oc門驅(qū)動器用7407,當(dāng)7407輸出低電平時,沒有電流流過led,當(dāng)7407輸出為開路狀態(tài)時,電流經(jīng)100限流電阻流入led顯示器,每個七段led的公共端都接一個反相驅(qū)動器,反相驅(qū)動器使用75452,當(dāng)某一字段需要亮?xí)r,該led公共端的反相驅(qū)動器必須是低電平輸出,并且這一字段的同相驅(qū)動器必須是高電平輸出。單片機通過8155接口芯片的a口位選,經(jīng)b口確定那些字段led發(fā)光。led發(fā)光時,驅(qū)動電流計算如下,每一字段脈沖電流led正向壓降晶體管的飽和壓降公共端最大電流原理圖如圖2

34、-9所示圖2-9 顯示電路原理圖 2.6 通信電路51單片機有一個全雙工的串行口,所以單片機和pc之間可以方便地進行串口通訊。進行串行通信時要滿足一定的條件,如pc的串口是rs232電平的,而單片機的串口是ttl電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,這里用專用芯片max232進行轉(zhuǎn)換,用專用芯片更簡單可靠。max232如圖2-10所示。它包含兩路接收器和驅(qū)動器,內(nèi)部有一個電源電壓變換器,可以把輸入的+5v電壓變換位rs-232輸出電平所需的+10v電壓。所以,用該芯片接口的串行通信只需單一的+5v電源就可以了。其應(yīng)用性更強。圖2-10(b)中上半部電容、及,是電源變換部分。實際應(yīng)用中,器件對

35、電源噪聲很敏感。因此,對地需要加去耦電容,其值為1.0uf。電容、取同樣數(shù)值的電解電容,以提高抗干擾能力。(a)(b)圖2-10 max232引腳圖和電容典型參數(shù)圖2-10(b)下半部分為發(fā)送和接收部分,可直接接ttl/cmos電平的mcs-51型單片機的串行發(fā)送端txd;,可直接接ttl/cmos電平的mcs-51型單片機的串行接受端rxd;,可直接接pc機的rs-232串口接受端rxd;,可直接接pc機的rs-232串口發(fā)送端txd。硬件原理圖如圖2-11所示。圖2-11 通信接口電路串口通信的硬件連接采用三線制連接串口,就是說和pc的9針串口只連接其中的3根線:第5腳的gnd、第2腳的r

36、xd、第3腳的txd。這是最簡單的連接方法,但是對本題來說已經(jīng)足夠了,max232的第11腳和單片機的11號引腳連接,第12腳和單片機的10腳連接,第15腳和單片機的20腳連接。max232的第14腳和pc機串口的2號引腳連接,第13腳和pc機串口的3號引腳連接,第15腳和pc機串口的5號引腳連接。第3章 軟件設(shè)計 整個系統(tǒng)軟件設(shè)計分為兩個部分,作為主控的pc端的軟件設(shè)計及作為數(shù)據(jù)采集器的單片機終端節(jié)點的軟件設(shè)計。系統(tǒng)采用模塊化編程,將各部分功能分別實現(xiàn),主要的功能子程序有:數(shù)據(jù)采集、標度變換、數(shù)制轉(zhuǎn)換、數(shù)值顯示、發(fā)送、接收和部分中斷子程序。主程序流程圖如圖3-1所示。開始系統(tǒng)初始化調(diào)用數(shù)制轉(zhuǎn)

37、換子程序調(diào)用數(shù)據(jù)采集子程序取相應(yīng)通道數(shù)據(jù)調(diào)用標度變換子程序調(diào)用數(shù)據(jù)顯示子程序調(diào)用數(shù)據(jù)發(fā)送子程序圖3-1 主程序流程圖3.1 a/d轉(zhuǎn)換 中斷方式使用eoc信號作為向8051的中斷申請。在主程序中,向adc發(fā)出首次啟動轉(zhuǎn)換信號后,并計數(shù)管理轉(zhuǎn)換通道數(shù)。當(dāng)檢測到eoc的請求后,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,讀取轉(zhuǎn)換結(jié)果,并啟動下一次轉(zhuǎn)換,后繼續(xù)執(zhí)行。圖3-2為a/d轉(zhuǎn)換程序流程圖。yn開始定義a/d轉(zhuǎn)換緩沖區(qū)首地址開中斷置通道數(shù)置dptr啟動轉(zhuǎn)換等待中斷各通道采完?中斷處理返回關(guān)中斷 圖3-2 數(shù)據(jù)采集程序流程圖以下是8路數(shù)據(jù)采集程序:adsub:(略)開始取轉(zhuǎn)換量存入a/d轉(zhuǎn)換數(shù)據(jù)緩沖區(qū)通道號+1緩存單

38、元地址+1通道數(shù)-1啟動下次轉(zhuǎn)換返回圖3-3 數(shù)據(jù)采集中斷程序流程圖adint:(略)3.2 標度變換 該單片機系統(tǒng)中,被測量經(jīng)過a/d轉(zhuǎn)換,均統(tǒng)一為0255二進制碼,因此要把a/d轉(zhuǎn)換的數(shù)碼x變換成被測量的實際數(shù)值。unex:(略)開始定義標度變換緩沖區(qū)r0指向a./d轉(zhuǎn)換緩沖區(qū)標度變換變換完畢?返回ny圖3-4 標度變換程序流程圖3.3 數(shù)制轉(zhuǎn)換由于標度變換后得到兩個字節(jié)的實際數(shù)值,不能直接送顯示端顯示,須經(jīng)過適當(dāng)?shù)奶幚恚ù颂帉⑵滢D(zhuǎn)換為5位非壓縮bcd碼),才能送顯示端輸出顯示。開始置bcd碼個數(shù)置bcd碼存儲單元的首地址取數(shù)至r4r5通道號左移1位置取數(shù)地址指針r0的初值置通道號存儲單元

39、置除數(shù)存入顯示緩沖區(qū)顯示緩沖區(qū)地址+1調(diào)用ndiv子程序bcd轉(zhuǎn)換完畢?返回yn圖3-5 雙字節(jié)二進制整數(shù)轉(zhuǎn)換成bcd碼程序流程圖ndiv(r2r3)(r6r7)?16b1f0(r2r3)-(r6r7)ar1(ar1)r2r3(執(zhí)行減法)(r5)+1r5(上商1)0cr2 r3 r4 r5 c 左環(huán)移1位cf0f0=1?c=1?ynyynn(b)-1b=0?返回0f0ync=1?圖3-6 無符號雙字節(jié)數(shù)除法程序框圖disram:(略)3.4 鍵盤程序鍵盤部分軟件主要功能是實現(xiàn)對通道號指示緩沖區(qū)的數(shù)值進行增或減,從而控制通道的選擇。開始 psw,acc壓棧保護按鍵2中斷(通道減)按鍵1中斷(通道

40、加)psw,acc出棧p1.0=1?p1.1=1?返回yynnp1.1=1? 圖3-7鍵盤中斷程序流程圖keyint:(略)3.5 led顯示程序開始返回指向a口取位選碼指定顯示位指向b口取顯示字符查七段碼段選碼b口送出調(diào)用1ms延時子程準備顯示下一位位選yn8位顯示完畢?圖3-8 led顯示程序流程圖將內(nèi)部ram中20h28h單元中的8個分離bcd碼,譯碼后從左至右依次顯示出來,編制的程序如下:disp:(略)(略)3.6 通信程序3.6.1 上位機程序1.程序初始化 主要完成串口的選擇、波特率及幀結(jié)構(gòu)設(shè)置、打開串口以及發(fā)送和接收觸發(fā)的時間控制等。'初始化代碼private sub

41、form_load()mscomm.commport=2設(shè)置串口2mscomm.settings="2400,n,8,1"波特率2400,無校驗,8位數(shù)據(jù),一位停止位mscomm.inputlen=0讀取接受緩沖區(qū)的所有字符mscomm.inbuffersize=1024設(shè)置接受緩沖區(qū)為1024字節(jié)mscomm.outbuffersize=512設(shè)置發(fā)送緩沖區(qū)為512字節(jié)mscomm.portopen=true打開串口mscomm.sthreshold=0不觸發(fā)發(fā)送事件mscomm.rthreshold=1每一個字符到接收緩沖區(qū)都觸發(fā)接收事件mscomm.inbufferc

42、ount=0清除發(fā)送緩沖區(qū)數(shù)據(jù)mscomm. outbuffercount=0清除接收緩沖區(qū)數(shù)據(jù)text_send.text=“”清空發(fā)送文本框text_recv.text=“”清空接收文本框end sub2.發(fā)送數(shù)據(jù)private sub button_send_click()dim x as stringif text_send.text=“”then發(fā)送數(shù)據(jù)不能為空x=msgbox(“發(fā)送數(shù)據(jù)不能為空”,16)exit subend ifif not mscomm.portopen then保證串口打開mscomm.portopen=trueend ifmscomm.output=tex

43、t_send.tex+chr$(13)發(fā)送數(shù)據(jù)for i=1 to 20000000延時nextend sub3.接收數(shù)據(jù)private sub mscomm_oncomm.()slect case mscomm.commevent檢驗串口事件錯誤處理case comeventoverrun數(shù)據(jù)丟失text_send.text=“”清空發(fā)送緩沖區(qū)text_recv.text=“”清接收緩沖區(qū)text_send.setfous=“”exit subcase comeventrxover接收緩沖區(qū)溢出text_send.text=“”清空發(fā)送緩沖區(qū)text_recv.text=“”清空接收緩沖區(qū)t

44、ext_send.setfous=“”exit subcase comeventover發(fā)送緩沖區(qū)已滿text_send.text=“”清空發(fā)送緩沖區(qū)text_recv.text=“”清空接收緩沖區(qū)text_send.setfous=“”exit sub事件處理case comevreceive接收緩沖區(qū)內(nèi)有數(shù)據(jù)dim str as stringstr= mscomm.input從接收隊列中讀入字符串text_recv.text=text_recv.text+str讀出字符串送顯end selectend sub4.清空文本框private sub button_recv_c_click()t

45、ext_recv.text=“”清空接收文本框text_send_setfocusend sub清空發(fā)送文本框private sub button_send_c_click()text_send.text=“”清空發(fā)送文本框text_send_setfocusend sub上位機實現(xiàn)通信效果的界面如圖3-9所示。3.6.2 下位機程序main:movth1,#0f3h圖3-9 vb接收界面movtl1,#0f3hmovtmod,#20hy開始禁止串口中斷發(fā)通道號清中斷標志位發(fā)送數(shù)據(jù)清中斷標志位發(fā)完?發(fā)完?全部發(fā)完?返回nnyyn發(fā)完?發(fā)完?清中斷標志位全部發(fā)完?圖3-10數(shù)據(jù)發(fā)送子程序setb

46、esclret1movscon,#50h1.發(fā)送程序sendsub:(略)2.接收程序開始返回壓棧保護接收數(shù)據(jù)數(shù)據(jù)送緩沖區(qū)清中斷標志位出?,F(xiàn)場恢復(fù)數(shù)據(jù)正確?ny圖3-11數(shù)據(jù)接收子程序數(shù)據(jù)正確?數(shù)據(jù)送緩沖區(qū)rec:(略)結(jié)論、討論和建議數(shù)據(jù)采集技術(shù)可應(yīng)用于不同的工農(nóng)業(yè)現(xiàn)場,是一項非常實用的技術(shù)。通過對數(shù)據(jù)采集和傳輸?shù)某醪窖芯?,?051、adc0809、pc機和一些相關(guān)接口建立起這樣一個基于單片機的數(shù)據(jù)采集和傳輸系統(tǒng)的硬件平臺,配合相應(yīng)的軟件實現(xiàn)對8路模擬量的采集與傳輸。由于時間,水平有限本論文還有許多部分未能詳細分析,在此僅作簡單了解和認識。信號采集過程中,被測量一般由傳感器供給,常為微弱信

47、號,需要對其進行適當(dāng)?shù)恼{(diào)整。由于此處輸入信號滿足a/d轉(zhuǎn)換器的輸入要求,所以本文并為詳細討論。但在實際工程設(shè)計中必不可少。信號調(diào)理的任務(wù)就是將被測對象的輸出信號變換成計算機要求的輸入信號。信號調(diào)理包括:阻抗匹配、放大電路、隔離電路、濾波等。a.阻抗匹配放大電路與傳感器之間往往存在阻抗不匹配的現(xiàn)象,信號要進入a/d轉(zhuǎn)換器也存在阻抗匹配問題,阻抗不匹配會使信號在傳輸過程中嚴重畸變,導(dǎo)致嚴重檢測誤差,調(diào)理過程中必須十分注意阻抗匹配問題,一般阻抗匹配可以由運放組成的跟隨器完成。b.信號放大電路信號放大電路是信號調(diào)理電路的核心,一般傳感器輸出的物理信號量幅值很小,需要通過放大調(diào)理電路來增加分辨率和敏感性,將輸入信號放大

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論