ADC和其他ADC的資料_第1頁
ADC和其他ADC的資料_第2頁
ADC和其他ADC的資料_第3頁
ADC和其他ADC的資料_第4頁
ADC和其他ADC的資料_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

為了滿足多種需要,目前國內(nèi)外各半導(dǎo)體器件生產(chǎn)廠家設(shè)計(jì)并生產(chǎn)出了多種多樣的ADC芯片。僅美國AD公司的ADC產(chǎn)品就有幾十個(gè)系列、近百種型號(hào)之多。從性能上講,它們有的精度高、速度快,有的則價(jià)格低廉。從功能上講,有的不僅具有A/D轉(zhuǎn)換的基本功能,還包括內(nèi)部放大器和三態(tài)輸出鎖存器;有的甚至還包括多路開關(guān)、采樣保持器等,已發(fā)展為一個(gè)單片的小型數(shù)據(jù)采集系統(tǒng)。盡管ADC芯片的品種、型號(hào)很多,其內(nèi)部功能強(qiáng)弱、轉(zhuǎn)換速度快慢、轉(zhuǎn)換精度高低有很大差別,但從用戶最關(guān)心的外特性看,無論哪種芯片,都必不可少地要包括以下四種基本信號(hào)引腳端:模擬信號(hào)輸入端(單極性或雙極性);數(shù)字量輸出端(并行或串行);轉(zhuǎn)換啟動(dòng)信號(hào)輸入端;轉(zhuǎn)換結(jié)束信號(hào)輸出端。除此之外,各種不同型號(hào)的芯片可能還會(huì)有一些其他各不相同的控制信號(hào)端。選用ADC芯片時(shí),除了必須考慮各種技術(shù)要求外,通常還需了解芯片以下兩方面的特性。(1)數(shù)字輸出的方式是否有可控三態(tài)輸出。有可控三態(tài)輸出的ADC芯片允許輸出線與微機(jī)系統(tǒng)的數(shù)據(jù)總線直接相連,并在轉(zhuǎn)換結(jié)束后利用讀數(shù)信號(hào)選通三態(tài)門,將轉(zhuǎn)換結(jié)果送上總線。沒有可控三態(tài)輸出(包括內(nèi)部根本沒有輸出三態(tài)門和雖有三態(tài)門、但外部不可控兩種情況)的ADC芯片則不允許數(shù)據(jù)輸出線與系統(tǒng)的數(shù)據(jù)總線直接相連,而必須通過I/O接口與MPU交換信息。(2)啟動(dòng)轉(zhuǎn)換的控制方式是脈沖控制式還是電平控制式。對(duì)脈沖啟動(dòng)轉(zhuǎn)換的ADC芯片,只要在其啟動(dòng)轉(zhuǎn)換引腳上施加一個(gè)寬度符合芯片要求的脈沖信號(hào),就能啟動(dòng)轉(zhuǎn)換并自動(dòng)完成。一般能和MPU配套使用的芯片,MPU的I/O寫脈沖都能滿足ADC芯片對(duì)啟動(dòng)脈沖的要求。對(duì)電平啟動(dòng)轉(zhuǎn)換的ADC芯片,在轉(zhuǎn)換過程中啟動(dòng)信號(hào)必須保持規(guī)定的電平不變,否則,如中途撤消規(guī)定的電平,就會(huì)停止轉(zhuǎn)換而可能得到錯(cuò)誤的結(jié)果。為此,必須用D觸發(fā)器或可編程并行I/O接口芯片的某一位來鎖存這個(gè)電平,或用單穩(wěn)等電路來對(duì)啟動(dòng)信號(hào)進(jìn)行定時(shí)變換。具有上述兩種數(shù)字輸出方式和兩種啟動(dòng)轉(zhuǎn)換控制方式的ADC芯片都不少,在實(shí)際使用芯片時(shí)要特別注意看清芯片說明。下面介紹兩種常用芯片的性能和使用方法。1.ADC0808/0809ADC0808和ADC0809除精度略有差別外(前者精度為8位、后者精度為7位),其余各方面完全相同。它們都是CMOS器件,不僅包括一個(gè)8位的逐次逼近型的ADC部分,而且還提供一個(gè)8通道的模擬多路開關(guān)和通道尋址邏輯,因而有理由把它作為簡單的“數(shù)據(jù)采集系統(tǒng)”。利用它可直接輸入8個(gè)單端的模擬信號(hào)分時(shí)進(jìn)行A/D轉(zhuǎn)換,在多點(diǎn)巡回檢測(cè)和過程控制、運(yùn)動(dòng)控制中應(yīng)用十分廣泛。1)主要技術(shù)指標(biāo)和特性(1)分辨率:8位。(2)總的不可調(diào)誤差:ADC0808為±LSB,ADC0809為±1LSB。(3)轉(zhuǎn)換時(shí)間:取決于芯片時(shí)鐘頻率,如CLK=500kHz時(shí),TCONV=128μs。(4)單一電源:+5V。(5)模擬輸入電壓范圍:單極性0~5V;雙極性±5V,±10V(需外加一定電路)。(6)具有可控三態(tài)輸出緩存器。(7)啟動(dòng)轉(zhuǎn)換控制為脈沖式(正脈沖),上升沿使所有內(nèi)部寄存器清零,下降沿使A/D轉(zhuǎn)換開始。(8)使用時(shí)不需進(jìn)行零點(diǎn)和滿刻度調(diào)節(jié)。2)內(nèi)部結(jié)構(gòu)和外部引腳ADC0808/0809的內(nèi)部結(jié)構(gòu)和外部引腳分別如圖和圖所示。內(nèi)部各部分的作用和工作原理在內(nèi)部結(jié)構(gòu)圖中已一目了然,在此就不再贅述,下面僅對(duì)各引腳定義分述如下:圖11.19ADC0808/0809內(nèi)部結(jié)構(gòu)框圖(1)IN0~I(xiàn)N7——8路模擬輸入,通過3根地址譯碼線ADDA、ADDB、ADDC來選通一路。(2)D7~D0——A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。(3)ADDA、ADDB、ADDC——模擬通道選擇地址信號(hào),ADDA為低位,ADDC為高位。地址信號(hào)與選中通道對(duì)應(yīng)關(guān)系如表所示。(4)VR(+)、VR(-)——正、負(fù)參考電壓輸入端,用于提供片內(nèi)DAC電阻網(wǎng)絡(luò)的基準(zhǔn)電壓。在單極性輸入時(shí),VR(+)=5V,VR(-)=0V;雙極性輸入時(shí),VR(+)、VR(-)分別接正、負(fù)極性的參考電壓。圖11.20ADC0808/0809外部引腳圖表11.3地址信號(hào)與選中通道的關(guān)系地址選中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7(5)ALE——地址鎖存允許信號(hào),高電平有效。當(dāng)此信號(hào)有效時(shí),A、B、C三位地址信號(hào)被鎖存,譯碼選通對(duì)應(yīng)模擬通道。在使用時(shí),該信號(hào)常和START信號(hào)連在一起,以便同時(shí)鎖存通道地址和啟動(dòng)A/D轉(zhuǎn)換。(6)START——A/D轉(zhuǎn)換啟動(dòng)信號(hào),正脈沖有效。加于該端的脈沖的上升沿使逐次逼近寄存器清零,下降沿開始A/D轉(zhuǎn)換。如正在進(jìn)行轉(zhuǎn)換時(shí)又接到新的啟動(dòng)脈沖,則原來的轉(zhuǎn)換進(jìn)程被中止,重新從頭開始轉(zhuǎn)換。(7)EOC——轉(zhuǎn)換結(jié)束信號(hào),高電平有效。該信號(hào)在A/D轉(zhuǎn)換過程中為低電平,其余時(shí)間為高電平。該信號(hào)可作為被CPU查詢的狀態(tài)信號(hào),也可作為對(duì)CPU的中斷請(qǐng)求信號(hào)。在需要對(duì)某個(gè)模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動(dòng)信號(hào)反饋接到START端,但在剛加電時(shí)需由外電路第一次啟動(dòng)。(8)OE——輸出允許信號(hào),高電平有效。當(dāng)微處理器送出該信號(hào)時(shí),ADC0808/0809的輸出三態(tài)門被打開,使轉(zhuǎn)換結(jié)果通過數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號(hào)往往是CPU發(fā)出的中斷請(qǐng)求響應(yīng)信號(hào)。3)工作時(shí)序與使用說明ADC0808/0809的工作時(shí)序如圖所示。當(dāng)通道選擇地址有效時(shí),ALE信號(hào)一出現(xiàn),地址便馬上被鎖存,這時(shí)轉(zhuǎn)換啟動(dòng)信號(hào)緊隨ALE之后(或與ALE同時(shí))出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該上升沿之后的2μs加8個(gè)時(shí)鐘周期內(nèi)(不定),EOC信號(hào)將變低電平,以指示轉(zhuǎn)換操作正在進(jìn)行中,直到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號(hào)后,便立即送出OE信號(hào),打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。圖11.21ADC0808/0809工作時(shí)序模擬輸入通道的選擇可以相對(duì)于轉(zhuǎn)換開始操作獨(dú)立地進(jìn)行(當(dāng)然,不能在轉(zhuǎn)換過程中進(jìn)行),然而通常是把通道選擇和啟動(dòng)轉(zhuǎn)換結(jié)合起來完成(因?yàn)锳DC0808/0809的時(shí)間特性允許這樣做)。這樣可以用一條寫指令既選擇模擬通道又啟動(dòng)轉(zhuǎn)換。在與微機(jī)接口時(shí),輸入通道的選擇可有兩種方法,一種是通過地址總線選擇,一種是通過數(shù)據(jù)總線選擇。如用EOC信號(hào)去產(chǎn)生中斷請(qǐng)求,要特別注意EOC的變低相對(duì)于啟動(dòng)信號(hào)有2μs+8個(gè)時(shí)鐘周期的延遲,要設(shè)法使它不致產(chǎn)生虛假的中斷請(qǐng)求。為此,最好利用EOC上升沿產(chǎn)生中斷請(qǐng)求,而不是靠高電平產(chǎn)生中斷請(qǐng)求。2.AD574AAD574A是美國AD公司的產(chǎn)品,是目前國際市場(chǎng)上較先進(jìn)的、價(jià)格低廉、應(yīng)用較廣的混合集成12位逐次逼近式ADC芯片。它分6個(gè)等級(jí),即AD574AJ、AK、AL、AS、AT、AU,前三種使用溫度范圍為0~+70℃,后三種為-55~+125℃。它們除線性度及其他某些特性因等級(jí)不同而異外,主要性能指標(biāo)和工作特點(diǎn)是相同的。1)主要技術(shù)指標(biāo)和特性(1)非線性誤差:±1LSB或±LSB(因等級(jí)不同而異)。(2)電壓輸入范圍:單極性0~+10V,0~+20V,雙極性±5V,±10V。(3)轉(zhuǎn)換時(shí)間:35μs。(4)供電電源:+5V,±15V。(5)啟動(dòng)轉(zhuǎn)換方式:由多個(gè)信號(hào)聯(lián)合控制,屬脈沖式。(6)輸出方式:具有多路方式的可控三態(tài)輸出緩存器。(7)無需外加時(shí)鐘。(8)片內(nèi)有基準(zhǔn)電壓源??赏饧覸R,也可通過將VO(R)與Vi(R)相連而自己提供VR。內(nèi)部提供的VR為±0.1)V(max),可供外部使用,其最大輸出電流為;(9)可進(jìn)行12位或8位轉(zhuǎn)換。12位輸出可一次完成,也可兩次完成(先高8位,后低4位)。2)內(nèi)部結(jié)構(gòu)與引腳功能AD574A的內(nèi)部結(jié)構(gòu)與外部引腳如圖所示。從圖可見,它由兩片大規(guī)模集成電路混合而成:一片為以D/A轉(zhuǎn)換器AD565和10V基準(zhǔn)源為主的模擬片,一片為集成了逐次逼近寄存器SAR和轉(zhuǎn)換控制電路、時(shí)鐘電路、三態(tài)輸出緩沖器電路和高分辨率比較器的數(shù)字片,其中12位三態(tài)輸出緩沖器分成獨(dú)立的A、B、C三段,每段4位,目的是便于與各種字長微處理器的數(shù)據(jù)總線直接相連。AD574A為28引腳雙列直插式封裝,各引腳信號(hào)的功能定義分述如下:圖11.22AD574A的結(jié)構(gòu)框圖與引腳(1)12/——輸出數(shù)據(jù)方式選擇。當(dāng)接高電平時(shí),輸出數(shù)據(jù)是12位字長;當(dāng)接低電平時(shí),是將轉(zhuǎn)換輸出的數(shù)變成兩個(gè)8位字輸出。(2)A0——轉(zhuǎn)換數(shù)據(jù)長度選擇。當(dāng)A0為低電平時(shí),進(jìn)行12位轉(zhuǎn)換;A0為高電平時(shí),則為8位長度的轉(zhuǎn)換。(3)——片選信號(hào)。(4)R/——讀或轉(zhuǎn)換選擇。當(dāng)為高電平時(shí),可將轉(zhuǎn)換后數(shù)據(jù)讀出;當(dāng)為低電平時(shí),啟動(dòng)轉(zhuǎn)換。(5)CE——芯片允許信號(hào),用來控制轉(zhuǎn)換與讀操作。只有當(dāng)它為高電平時(shí),并且=0時(shí),R/信號(hào)的控制才起作用。CE和、R/、12/、A0信號(hào)配合進(jìn)行轉(zhuǎn)換和讀操作的控制真值表如表所示。(6)VCC——正電源,電壓范圍為0~。(7)Vo(R)——+10V參考電壓輸出端,具有的帶負(fù)載能力。表11.4AD574A的轉(zhuǎn)換和讀操作控制真值表CE12/A0操作內(nèi)容0×11111×100000××00111××××+5VDGNDDGND××01×01無操作無操作啟動(dòng)一次12位轉(zhuǎn)換啟動(dòng)一次8位轉(zhuǎn)換并行讀出12位讀出高8位(A段和B段)讀出C段低4位,并自動(dòng)后跟4個(gè)0(8)AGND——模擬地。(9)GND——數(shù)字地。(10)Vi(R)——參考電壓輸入端。(11)VEE——負(fù)電源,可選加~之間的電壓。(12)BIPOFF——雙極性偏移端,用于極性控制。單極性輸入時(shí)接模擬地(AGND),雙極性輸入時(shí)接Vo(R)端。(13)Vi(10)——單極性0~+10V范圍輸入端,雙極性±5V范圍輸入端。(14)Vi(20)——單極性0~+20V范圍輸入端,雙極性±10V范圍輸入端。(15)STS——轉(zhuǎn)換狀態(tài)輸出端,只在轉(zhuǎn)換進(jìn)行過程中呈現(xiàn)高電平,轉(zhuǎn)換一結(jié)束立即返回到低電平。可用查詢方式檢測(cè)此端電平變化,來判斷轉(zhuǎn)換是否結(jié)束,也可利用它的負(fù)跳變沿來觸發(fā)一個(gè)觸發(fā)器產(chǎn)生IRQ信號(hào),在中斷服務(wù)程序中讀取轉(zhuǎn)換后的有效數(shù)據(jù)。從轉(zhuǎn)換被啟動(dòng)并使STS變高電平一直到轉(zhuǎn)換周期完成這一段時(shí)間內(nèi),AD574A對(duì)再來的啟動(dòng)信號(hào)不予理睬,轉(zhuǎn)換進(jìn)行期間也不能從輸出數(shù)據(jù)緩沖器讀取數(shù)據(jù)。3)工作時(shí)序AD574A的工作時(shí)序如圖所示。對(duì)其啟動(dòng)轉(zhuǎn)換和轉(zhuǎn)換結(jié)束后讀數(shù)據(jù)兩個(gè)過程分別說明如下:圖11.23AD574A的工作時(shí)序(1)啟動(dòng)轉(zhuǎn)換在=0和CE=1時(shí),才能啟動(dòng)轉(zhuǎn)換。由于是=0和CE=1相與后,才能啟動(dòng)A/D轉(zhuǎn)換,因此實(shí)際上這兩者中哪一個(gè)信號(hào)后出現(xiàn),就認(rèn)為是該信號(hào)啟動(dòng)了轉(zhuǎn)換。無論用哪一個(gè)啟動(dòng)轉(zhuǎn)換,都應(yīng)使R/C信號(hào)超前其200ns時(shí)間變低電平。從圖可看出,是由CE啟動(dòng)轉(zhuǎn)換的,當(dāng)R/為低電平時(shí),啟動(dòng)后才是轉(zhuǎn)換,否則將成為讀數(shù)據(jù)操作。在轉(zhuǎn)換期間STS為高電平,轉(zhuǎn)換完成時(shí)變低電平。(2)讀轉(zhuǎn)換數(shù)據(jù)在=0和CE=1且為高電平時(shí),才能讀數(shù)據(jù),由12/決定是12位并行讀出,還是兩次讀出。如圖所示,或CE信號(hào)均可用作允許輸出信號(hào),看哪一個(gè)后出現(xiàn),圖中為CE信號(hào)后出現(xiàn)。規(guī)定A0要超前于讀信號(hào)至少150ns,信號(hào)超前于CE信號(hào)最小可到零。從表和圖可看出,AD574A還能以一種單獨(dú)控制(stand-alone)方式工作:CE和12/固定接高電平,和A0固定接地,只用來控制轉(zhuǎn)換和讀數(shù),=0時(shí)啟動(dòng)12位轉(zhuǎn)換,=1時(shí)并行讀出12位數(shù)。具體實(shí)現(xiàn)辦法可有兩種:正脈沖控制和負(fù)脈沖控制。當(dāng)使用350ns以上的正脈沖控制時(shí),有脈沖期間開啟三態(tài)緩沖器讀數(shù),脈沖后沿(下降沿)啟動(dòng)轉(zhuǎn)換。當(dāng)使用400ns以上的負(fù)脈沖控制時(shí),則前沿啟動(dòng)轉(zhuǎn)換,脈沖結(jié)束后讀數(shù)。4)使用方法AD574A有單極性和雙極性兩種模擬輸入方式。(1)單極性輸入的接線和校準(zhǔn)單極性輸入的接線如圖11.24(a)所示。AD574A在單極性方式下,有兩種額定的模擬輸入范圍:0~+10V的輸入接在Vi(10)和AGND間,0~+20V輸入接在Vi(20)和AGND間。R1用于偏移調(diào)整(如不需進(jìn)行調(diào)整可把BIPOFF直接接AGND,省去外加的調(diào)整電路),R2用于滿量程調(diào)整(如不需調(diào)整,R2可用一個(gè)50Ω±1%的金屬膜固定電阻代替)。為使量化誤差為±LSB,AD574A的額定偏移規(guī)定為LSB。因此在作偏移調(diào)整時(shí),使輸入電壓為LSB(滿量程電壓為+10V時(shí)是1.22mV),調(diào)R1,使數(shù)字輸出為000000000000到000000000001的跳變。在做滿量程調(diào)整時(shí),是通過施加一個(gè)低于滿量程值1LSB的模擬信號(hào)進(jìn)行的,這時(shí)調(diào)R2以得到從到的跳變點(diǎn)。(2)雙極性輸入的接線和校準(zhǔn)雙極性輸入的接線如圖11.24(b)所示。和單極性輸入時(shí)一樣,雙極性時(shí)也有兩種額定的模擬輸入范圍:±5V和±10V?!?V輸入接在Vi(10)和AGND之間;±10V接在Vi(20)和AGND之間。圖11.24AD574A的輸入接線圖雙極性校準(zhǔn)也類似于單極性校準(zhǔn)。調(diào)整方法是,先施加一個(gè)高于負(fù)滿量程LSB(對(duì)于±5V范圍為-4.9988V)的輸入電壓,調(diào)R1,使輸出出現(xiàn)從000000000000到000000000001的跳變;再施加一個(gè)低于正滿量程1LSB(對(duì)于±5V范圍為+4.9963V)的輸入信號(hào),調(diào)R2使輸出現(xiàn)從到的跳變。如偏移和增益無需調(diào)整,則相應(yīng)的調(diào)整電阻也和在單極性中一樣,R2可用50±1%Ω的固定電阻代替。ADC0808與ADC0809區(qū)別§7.3A/D轉(zhuǎn)換器ADC0809與MCS-51單片機(jī)的接口設(shè)計(jì)

ADC0808/0809八位逐次逼近式A/D轉(zhuǎn)換器是一種單片CMOS器件,包括8位的模/數(shù)轉(zhuǎn)換器,8通道多路轉(zhuǎn)換器和與微處理器兼容的控制邏輯.

8通道多路轉(zhuǎn)換器能直接連通8個(gè)單端模擬信號(hào)中一任何一個(gè).

一,ADC0808/0809的內(nèi)部結(jié)構(gòu)及引腳功能

1,ADC0809轉(zhuǎn)換器內(nèi)部結(jié)構(gòu)

2,ADC0809引腳功能

分辨率為8位.

最大不可調(diào)誤差A(yù)DC0808小于±1/2LSB,

ADC0809小于±1LSB

單一+5V供電,模擬輸入范圍為0~5V.

具有鎖存三態(tài)輸出,輸出與TTL兼容.

功耗為15mw.

不必進(jìn)行零點(diǎn)和滿度調(diào)整.

轉(zhuǎn)換速度取決于芯片的時(shí)鐘頻率.時(shí)鐘頻率范圍:10~1280KHZ

當(dāng)CLK=500KHZ時(shí),

轉(zhuǎn)換速度為128μs.

IN0~IN7:8路輸入通道的模擬量輸入端口.

2-1~2-8:8位數(shù)字量輸出端口.

START,ALE:START為啟動(dòng)控制輸入端口,ALE為地址鎖存控制信號(hào)端口.這兩個(gè)信號(hào)端可連接在一起,當(dāng)通過軟件輸入一個(gè)正脈沖,便立即啟動(dòng)模/數(shù)轉(zhuǎn)換.

EOC,OE:EOC為轉(zhuǎn)換結(jié)束信號(hào)脈沖輸出端口,OE為輸出允許控制端口,這兩個(gè)信號(hào)亦可連結(jié)在一起表示模/數(shù)轉(zhuǎn)換結(jié)束.OE端的電平由低變高,打開三態(tài)輸出鎖存器,將轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上.

REF(+),REF(-),VCC,GND,REF(+)和REF(-)為參考電壓輸入端,VCC為主電源輸入端,GND為接地端.一般REF(+)與VCC連接在一起,REF(-)與GND連接在一起.

CLK:時(shí)鐘輸入端.

3,8路模擬開關(guān)的三位地址選通編碼表

ADDA,B,C

8路模擬開關(guān)的三位地址選通輸入端,以選擇對(duì)應(yīng)的輸入通道.

地址碼

對(duì)應(yīng)的輸入通道

C

B

A

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7

二,ADC0808/0809與8031單片機(jī)的接口設(shè)計(jì)

ADC0808/0809與8031單片機(jī)的硬件接口有三種方式,查詢方式,中斷方式和等待延時(shí)方式.究竟采用何種方式,應(yīng)視具體情況,按總體要求而選擇.

1.延時(shí)方式

ADC0809編程模式

在軟件編寫時(shí),應(yīng)令p2.7=A15=0;A0,A1,A2給出被選擇的模擬通道的地址;

執(zhí)行一條輸出指令,啟動(dòng)A/D轉(zhuǎn)換;

執(zhí)行一條輸入指令,讀取A/D轉(zhuǎn)換結(jié)果.

通道地址:7FF8H~7FFFH

下面的程序是采用延時(shí)的方法,分別對(duì)8路模擬信號(hào)輪流采樣一次,并依次把結(jié)果轉(zhuǎn)存到數(shù)據(jù)存儲(chǔ)區(qū)的采樣轉(zhuǎn)換程序.

START:MOVR1,#50H;置數(shù)據(jù)區(qū)首地址

MOVDPTR,#7FF8H;P2.7=0且指向通道0

MOVR7,#08H;置通道數(shù)

NEXT:MOVX@DPTR,A;啟動(dòng)A/D轉(zhuǎn)換

MOVR6,#0AH;軟件延時(shí)

DLAY:NOP

NOP

NOP

DJNZR6,DLAY

MOVXA,@DPTR;讀取轉(zhuǎn)換結(jié)果

MOV@R1,A;存儲(chǔ)數(shù)據(jù)

INCDPTR;指向下一個(gè)通道

INCR1;修改數(shù)據(jù)區(qū)指針

DJNZR7,NEXT;8個(gè)通道全采樣完了嗎

........

2.中斷方式

將ADC0808/0809作為一個(gè)外部擴(kuò)展的并行I/O口,直接由8031的P2.0和脈沖進(jìn)行啟動(dòng).通道地址為FEF8H~FEFFH

用中斷方式讀取轉(zhuǎn)換結(jié)果的數(shù)字量,模擬量輸入通路選擇端A,B,C分別與8031的P0.0,P0.1,P0.2(經(jīng)74LS373)相連,

CLK由8031的ALE提供.

INTADC:SETBIT1;選擇為邊沿觸發(fā)方式

SETBEA;開中斷

SETBEX1;

MOVDPTR,#0FEF8H;通道地址送DPTR

MOVX@DPTR,A;啟動(dòng)A/D轉(zhuǎn)換

……

PINT1:……

MOVDPTR,#0FEF8H;通道地址送DPTR

MOVXA,@DPTR;讀取從IN0輸入的轉(zhuǎn)換結(jié)果存入

MOV50H,A;50H單元

MOVX@DPTR,A;啟動(dòng)A/D轉(zhuǎn)換

RETI;中斷返回

三,接口電路設(shè)計(jì)中的幾點(diǎn)注意事項(xiàng)

ADC0808/0809最高工作時(shí)鐘頻率的說明

由于ADC0808/0809芯片內(nèi)無時(shí)鐘,所以必須靠外部提供時(shí)鐘;

ADC0808/0809通過中斷方式與8031單片機(jī)接口的電路中,8031單片機(jī)的主頻接為6MHZ,ALE提供ADC0808/0809的時(shí)鐘頻率為1MHZ(1000KHZ);

實(shí)際應(yīng)用系統(tǒng)使用證明,ADC0808ADC0808/0809應(yīng)用設(shè)計(jì)時(shí),推薦選用640KHZ左右的時(shí)鐘頻率.

2,ADC0816/17與ADC0809的主要區(qū)別

ADC0816/0817與ADC0808/0809相比,除模擬量輸入通道數(shù)增至16路,封裝為40引腳外,其原理,性能結(jié)構(gòu)基本相同.

ADC0816和ADC0817的主要區(qū)別是:

ADC0816的最大不可調(diào)誤差為±1/2LSB,精度高,價(jià)格也高;

ADC0817的最大不可調(diào)誤差為士1LSB,價(jià)格低.

習(xí)題七試設(shè)計(jì)一數(shù)據(jù)采集系統(tǒng)2002.10

使用單位:山東省氣象局在東營市孤島氣象觀察站

設(shè)計(jì)單位:山東大學(xué)物理與微電子學(xué)院2000級(jí)

設(shè)計(jì)方案:自行確定

提示:對(duì)于非模擬物理量,可以用下圖示意即可ADC0808百科名片ADC0808是采樣分辨率為8位的、以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。ADC0808是ADC0809的簡化版本,功能基本相同。一般在硬件仿真時(shí)采用ADC0808進(jìn)行A/D轉(zhuǎn)換,實(shí)際使用時(shí)采用ADC0809進(jìn)行A/D轉(zhuǎn)換。ADC0808管腳圖內(nèi)部結(jié)構(gòu)ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,它有8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器。引腳功能(外部特性)ADC0808芯片有28條引腳,采用雙列直插式封裝,如右圖所示。各引腳功能如下:1~5和26~28(IN0~I(xiàn)N7):8路模擬量輸入端。8、14、15和17~21:8位數(shù)字量輸出端。22(ALE):地址鎖存允許信號(hào),輸入,高電平有效。6(START):A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。7(EOC):A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。9(OE):數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。10(CLK):時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。12(VREF(+))和16(VREF(-)):參考電壓輸入端11(Vcc):主電源輸入端。13(GND):地。23~25(ADDA、ADDB、ADDC):3位地址輸入線,用于選通8路模擬輸入中的一路通道選擇極限參數(shù)電源電壓(Vcc):6.5V控制端輸入電壓:-0.3V~15V其它輸入和輸出端電壓:-0.3V~Vcc+0.3V貯存溫度:-65℃~+150℃功耗(T=+25℃):875mW引線焊接溫度:①氣相焊接(60s):215℃;②紅外焊接(15s):220℃抗靜電強(qiáng)度:400V一個(gè)風(fēng)格很好的AD轉(zhuǎn)換程序,值得你參考標(biāo)簽:AD轉(zhuǎn)換程序頂[0]分享到發(fā)表評(píng)論(0)HTMLCONTROLForms.HTML:Hidden.1HTMLCONTROLForms.HTML:Hidden.1開心001人人網(wǎng)新浪微博//ICC-AVRapplicationbuilder:2007/6/231:26:55

//Target:M16

#include<iom16v.h>

#include<macros.h>

#defineADC_VREF_TYPE0xe0

//選用2.56V的片內(nèi)基準(zhǔn)電壓源,且結(jié)果為左對(duì)齊

#defineAD_SE_ADC00x00

//ADC0

unsignedcharTable[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//數(shù)碼管字型0~9unsignedcharData[4]={0,0,0,0};

//存放A/D轉(zhuǎn)換結(jié)果unsignedlonginti,j=2560,k=256;voidport_init(void)

{

PORTA=0x01;

DDRA=0x00;

PORTB=0xFF;

DDRB=0xFF;

PORTC=0x0F;//m103outputonly

DDRC=0x0F;

PORTD=0x00;

DDRD=0x00;

}//ADCinitialize

//Conversiontime:112uS

voidadc_init(void)

{

ADCSR=0x00;//disableadc

ADMUX=0x00;//selectadcinput0

ACSR=0x80;

ADCSR=0x86;

}//callthisroutinetoinitializeallperipherals

voidinit_devices(void)

{

//stoperrantinterruptsuntilsetup

CLI();//disableallinterrupts

port_init();

adc_init();MCUCR=0x00;

GICR=0x00;

TIMSK=0x00;//timerinterruptsources

SEI();//re-enableinterrupts

//allperipheralsarenowinitialized

}voiddelay_(unsignedchara)

{unsignedinti;

for(i=0;i<a*7373;i++);

}voidDisplay(unsignedcharp[])

//動(dòng)態(tài)顯示,

{

unsignedchari;

for(i=0;i<4;i++)

{

PORTD=0x01<<i;

PORTB=Table[p[i]];

delay_(5);

PORTD&=(~0x01<<i);

}

}unsignedintread_adc(unsignedcharadc_input)

//讀取A/D轉(zhuǎn)換結(jié)果

{

ADMUX=adc_input|ADC_VREF_TYPE;

ADCSRA|=0x40;

//啟動(dòng)A/D轉(zhuǎn)換

while((ADCSRA&0x10)==0);

//等待A/D轉(zhuǎn)換完成

ADCSRA|=0x10;

returnADCH;

}voidProcess(unsignedinti,unsignedchar*p)

//數(shù)據(jù)處理函數(shù)

{

p[0]=i/1000;

i=i%1000;

p[1]=i/100;

i=i%100;

p[2]=i/10;

i=i%10;

p[3]=i;

}voidmain(void)

{

init_devices();DDRA=0x00;

//設(shè)置A口為不帶上拉輸入;

PORTA=0x00;

DDRB=0xff;

//設(shè)置B口為輸出口;

DDRD=0xff;

//設(shè)置D口為輸出口;

PORTB=0x3f;

//B口初始化輸出0;D口初始化輸出1;點(diǎn)亮全部數(shù)碼管;

PORTD=0xff;

ADMUX=ADC_VREF_TYPE;

//選擇第一通道ADC0;

ADCSRA=0xA6;

//125k轉(zhuǎn)換速率,自由轉(zhuǎn)換模式;啟動(dòng)A/D轉(zhuǎn)換;

delay_(1000);

//延時(shí)待系統(tǒng)穩(wěn)定;

while(1)

{

i=read_adc(AD_SE_ADC0);

//獲取A/D轉(zhuǎn)換數(shù)據(jù)

i=(i*j)/k;

Process(i,Data);

//數(shù)據(jù)處理

Display(Data);

//顯示結(jié)果

delay_(5);

}

}AD轉(zhuǎn)換程序[匯編語言]2007年10月12日星期五13:46;實(shí)驗(yàn)?zāi)康模菏煜/D轉(zhuǎn)換

;軟件思路:選擇RAO做為模擬輸入通道;

;

連續(xù)轉(zhuǎn)換4次再求平均值做為轉(zhuǎn)換結(jié)果

;

最后結(jié)構(gòu)只取低8位

;

結(jié)果送數(shù)碼管的低3位顯示

;硬件要求:撥碼開關(guān)S14第2位置ON,第1位置OFF

;

撥碼開關(guān)S6全部置ON,S5第4-6位置ON,第1-3位置OFF

;

為不影響結(jié)果,其他撥碼開關(guān)置OFF。

#INCLUDE<P16F877a.INC>

;包含芯片頭文件

__CONFIG_DEBUG_OFF&_CP_ALL&_WRT_HALF&_CPD_ON&_LVP_OFF&_BODEN_OFF&_PWRTE_ON&_WDT_OFF&_HS_OSC

;*********************寄存器定義*********************

TEMP

EQU

20H

;臨時(shí)寄存器

BAI

EQU

21H

;轉(zhuǎn)換結(jié)果的百位

SHI

EQU

22H

;轉(zhuǎn)換結(jié)果的十位

GE

EQU

23H

;轉(zhuǎn)換結(jié)果的個(gè)位

;****************************************************

ORG

00H

;復(fù)位入口地址

NOP

;ICD需要的空指令

GOTO

MAIN

;跳轉(zhuǎn)到主程序入口

ORG

04H

;中斷入口地址

RETFIE

;放置一條中斷返回指令,防止以外中斷發(fā)生;***********************查表程序*********************

;入口參數(shù):W

;出口參數(shù):W

TABLE

ADDWF

PCL,1

;指令寄存器加上偏移地址

RETLW

0C0H

;0的編碼(公陽極數(shù)碼管)

RETLW

0F9H

;1的編碼

RETLW

0A4H

;2的編碼

RETLW

0B0H

;3的編碼

RETLW

99H

;4的編碼

RETLW

92H

;5的編碼

RETLW

082H

;6

RETLW

0F8H

;7

RETLW

080H

;8

RETLW

090H

;9;***********************主程序***********************

MAIN

MOVLW

30H

MOVWF

FSR

;轉(zhuǎn)換結(jié)果存放起始地址

LOOP

BSF

STATUS,RP0

;選擇體1

MOVLW

7H

;A口高3位為輸出,低3位輸入

MOVWF

TRISA

CLRF

TRISD

;D口設(shè)為輸出

MOVLW

8EH

MOVWF

ADCON1

;結(jié)果左對(duì)齊,只選擇RA0做ADC口,其余做普通數(shù)字口

BCF

STATUS,RP0

;回體0

MOVLW

41H

MOVWF

ADCON0

;選擇時(shí)鐘源為fosc/8,允許ADC工作

CALL

DELAY

;調(diào)用延時(shí)程序,保證足夠的采樣時(shí)間

BSF

ADCON0,GO

;啟動(dòng)ADC轉(zhuǎn)換

WAIT

BTFSS

PIR1,ADIF

;轉(zhuǎn)換是否完成

GOTO

WAIT

;等待轉(zhuǎn)換的完成

BSF

STATUS,RP0

MOVFW

ADRESL

;讀取轉(zhuǎn)換的結(jié)果

BCF

STATUS,RP0

MOVWF

INDF

;保存到臨時(shí)寄存器里

INCF

FSR,1

BTFSS

FSR,2

;連續(xù)轉(zhuǎn)換4次,求平均值

GOTO

LOOP

CALL

CHANGE

;調(diào)用結(jié)果轉(zhuǎn)換程序

CALL

DISPLAY

;調(diào)用顯示程序

GOTO

MAIN

;循環(huán)工作;************************轉(zhuǎn)換程序*********************

;入口參數(shù):30H---33H

;出口參數(shù):BAI,SHI,GE

CHANGE

CLRF

BAI

CLRF

SHI

CLRF

GE

;先清除結(jié)果寄存器

MOVFW

31H

;以下8條指令求4次轉(zhuǎn)換結(jié)果的平均值

ADDWF

30H,1

MOVFW

32H

ADDWF

30H,1

MOVFW

33H

ADDWF

30H,1

RRF

30H,1

RRF

30H,0

MOVWF

TEMP

MOVLW

64H

;減100,結(jié)果保留在W中

SUBWF

TEMP,0

BTFSS

STATUS,C

;判斷是否大于100

GOTO

SHI_VAL

;否,轉(zhuǎn)求十位結(jié)果

MOVWF

TEMP

;是,差送回TEMP中

INCF

BAI,1

;百位加1

GOTO

$-6

;返回繼續(xù)求百位的值

SHI_VAL

MOVLW

0AH

;減10,結(jié)果保留在W中

SUBWF

TEMP,0

BTFSS

STATUS,C

;判斷是否大于10

GOTO

GE_VAL

;否,轉(zhuǎn)去判斷個(gè)位結(jié)果

MOVWF

TEMP

;是,差送回TEMP中

INCF

SHI,1

;十位值加1

GOTO

$-6

;轉(zhuǎn)會(huì)繼續(xù)求十位的值

GE_VAL

MOVFW

TEMP

MOVWF

GE

;個(gè)位的值

RETURN;**************************顯示程序********************

;入口參數(shù):BAI,SHI,GE

;出口參數(shù):無

DISPLAY

MOVFW

BAI

;顯示百位

CALL

TABLE

MOVWF

PORTD

BCF

PORTA,3

CALL

DELAY

CALL

DELAY

BSF

PORTA,3

MOVFW

SHI

;顯示十位

CALL

TABLE

MOVWF

PORTD

BCF

PORTA,4

CALL

DELAY

CALL

DELAY

BSF

PORTA,4

MOVFW

GE

;顯示個(gè)位

CALL

TABLE

MOVWF

PORTD

BCF

PORTA,5

CALL

DELAY

CALL

DELAY

BSF

PORTA,5

RETURN

;***************************延時(shí)程序***********************

;入口參數(shù):無

;出口參數(shù):無

DELAY

MOVLW

5FH

MOVWF

TEMP

DECFSZ

TEMP,1

GOTO

$-1

RETURN;*********************************************************

END

;程序結(jié)束串行AD轉(zhuǎn)換芯片與51單片機(jī)的接口電路及程序設(shè)計(jì)---------------------------------------------------------------------------------串行AD轉(zhuǎn)換芯片與51單片機(jī)的接口電路及程序設(shè)計(jì)AT89C51單片機(jī)系統(tǒng)經(jīng)常使用A/D轉(zhuǎn)換器。雖然并行A/D轉(zhuǎn)換器速度高、轉(zhuǎn)換通道多,但其價(jià)格高,占用單片機(jī)接口資源比串行A/D轉(zhuǎn)換器多。工業(yè)檢測(cè)控制及智能化儀器儀表中經(jīng)常采用串行A/D轉(zhuǎn)換器。ADS1110是一種精密、可連續(xù)自校準(zhǔn)的串行A/D轉(zhuǎn)換器,帶有差分輸入和高達(dá)16位的分辨率,其串行接口為I2C總線。AT89C51單片機(jī)通過軟件模擬I2C總線實(shí)現(xiàn)與ADS1110的連接。ADS1110的特點(diǎn)與內(nèi)部結(jié)構(gòu)ADS1110的特點(diǎn)完整的數(shù)據(jù)采集系統(tǒng)和小型SOT23-6封裝;片內(nèi)基準(zhǔn)電壓:精度2.048V+0.05%;片內(nèi)可編程增益放大器PGA;片內(nèi)振蕩器;16位分辨率;可編程的轉(zhuǎn)換速率15次/秒~240次/秒;I2C總線接口(8個(gè)有效地址);電源電壓2.7V~5.5V;低電流消耗240μA。ADS1110的引腳功能ADS1110串行A/D轉(zhuǎn)換器采用6引腳貼片封裝,其引腳排列如圖1所示。VDD:電源端,通常接+5V;GND:模擬地和數(shù)字地;VIN+、VIN-:采樣模擬信號(hào)輸入端,其范圍為2.048V~2.048V;SCL:I2C總線時(shí)鐘線;SDA:I2C總線數(shù)據(jù)線。ADS1110的內(nèi)部結(jié)構(gòu)ADS1110是由帶有可調(diào)增益的△-∑型轉(zhuǎn)換器內(nèi)核、2.048V的電壓基準(zhǔn)、時(shí)鐘振蕩器和I2C總線接口組成。其內(nèi)部結(jié)構(gòu)如圖2所示。ADS1110的寄存器讀寫配置請(qǐng)參考:ADS110引腳功能,寄存器配置及應(yīng)用電路介紹ADS1110的A/D轉(zhuǎn)換器內(nèi)核是由差分開關(guān)電容△-∑調(diào)節(jié)器和數(shù)字濾波器組成。調(diào)節(jié)器測(cè)量正模擬輸入和負(fù)模擬輸入的壓差,并將其與基準(zhǔn)電壓相比較。數(shù)字濾波器接收高速數(shù)據(jù)流并輸出代碼,該代碼是一個(gè)與輸入電壓成比例的數(shù)字,即A/D轉(zhuǎn)換后的數(shù)據(jù)。ADS1110片內(nèi)電壓基準(zhǔn)是2.048V。ADS1110只能采用內(nèi)部電壓基準(zhǔn)該基準(zhǔn),不能測(cè)量,也不用于外部電路。ADS1110片內(nèi)集成時(shí)鐘振蕩器用于驅(qū)動(dòng)△-∑調(diào)節(jié)器和數(shù)字濾波器。ADS1110的信號(hào)輸入端設(shè)有可編程增益放大器PGA,其輸入阻抗在差分輸入時(shí)的典型值為2.8MΩ。硬件設(shè)計(jì)由于AT89C51單片機(jī)沒有I2C總線接口,可通過軟件模擬實(shí)現(xiàn)與I2C總線器件的連接。具體方法是將單片機(jī)的I/O接口連接至I2C的數(shù)據(jù)線SDA和時(shí)鐘線SCL。通過軟件控制時(shí)鐘和數(shù)據(jù)傳輸,系統(tǒng)靈活性強(qiáng)。圖5所示是數(shù)據(jù)采集顯示系統(tǒng),采集工業(yè)現(xiàn)場(chǎng)的4路模擬信號(hào)并輪詢顯示。采用4個(gè)ADS1110作為A/D轉(zhuǎn)換器,地址為ED0~ED3。具有I2C總線接口的EEPROMAT24C16作為存儲(chǔ)器。本系統(tǒng)有4位LED數(shù)碼顯示管和4個(gè)參數(shù)設(shè)定按鍵。采集數(shù)據(jù)經(jīng)數(shù)字濾波、16進(jìn)制→工程值轉(zhuǎn)換后,送至數(shù)碼管輪詢顯示。ADS1110和AT24C16的I2C接口連ADSl110數(shù)據(jù)線SDA至單片機(jī)的P1.0,時(shí)鐘線SCL連接單片機(jī)的P1.1,上拉電阻阻值選10kΩ。軟件設(shè)計(jì)按照硬件電路,編寫A/D轉(zhuǎn)換子程序?yàn)锳DS0,其中嵌套調(diào)用了START,為起始命令子程序,F(xiàn)SDZ1為向ADS1110發(fā)送單個(gè)字節(jié)命令的子程序,ADREAD是讀取輸出寄存器和配置寄存器的子程序,STOP是停止命令子程序。ADS0只對(duì)地址為ED0的ADS1110讀數(shù),如果要讀取其他ADS1110,只需更改地址即可。系統(tǒng)中ADS1110的工作方式選用默認(rèn)設(shè)置,即配置寄存器內(nèi)容為#8CH,所以程序未向配置寄存器寫入數(shù)據(jù)。程序代碼如下:5結(jié)束語ADS1110是一款高性價(jià)比具有I2C總線接口的串行A/D轉(zhuǎn)換器。ADS1110已在單片機(jī)系統(tǒng)中應(yīng)用,并用于現(xiàn)場(chǎng)。實(shí)踐證明,ADS1110和單片機(jī)組成的數(shù)據(jù)采集系統(tǒng),占用I/O端口少、功耗低,適用無電源場(chǎng)合。但需注意的是,因I2C總線為串行擴(kuò)展總線,數(shù)據(jù)采集時(shí)不能用于實(shí)時(shí)速度要求較高的場(chǎng)合。上一篇:串行A/D轉(zhuǎn)換器ADSL1110引腳圖,特點(diǎn)及內(nèi)部結(jié)構(gòu)介紹51寫的單片機(jī)程序,AD轉(zhuǎn)換,0809,具有記憶電壓功能,自動(dòng)掃描,智能掃描。想看就得靜下心來看2008-08-1703:54;模數(shù)轉(zhuǎn)換8位,最小精度0.02,

;ADC0809

;外部頻率500KHZ

;

------------

;

0.0~0.3位控制----|p0

p2|-|--/8----顯示段控制

;

0.4~0.7按鍵---|

|

;

|

|

;

|

|

;

|

|---ALE--CLOCK

;

|

|

;

|

|---p3.5--OE

;

-----------

;轉(zhuǎn)換順序,先選通地址,再SAA脈沖信號(hào),延時(shí)10MS,等待EOC為高,從P1口讀入,(也可以P2口讀入)

;作為動(dòng)態(tài)自動(dòng)掃描時(shí),用33H存顯示的通道,并賦給P3口,而P3口高位全為一,保證數(shù)據(jù)的有效讀入

;晶振12MHZ

;30,31,32-=顯示字,33H--8BIT,34H--MODE,35H--BITCONTROL,36--顯示通道字

37H--10

38H--FFH

STA

BITP3.6;START

11010

000

ALE

BITP3.3;ALE

DYBJ

BIT20H.0;大于比較

XYBJ

BIT20H.1;小于比較

CCBJ

BIT20H.2;存儲(chǔ)電壓標(biāo)記

;*************程序開始初始化**********************

ORG0000H

START:

MOVP0,#0FFH

MOVP1,#0FFH

MOVP3,#0D0H

MOVP2,#0FFH

MOV20H,#00H;延時(shí)初始化

MOVR5,#25

MOVR6,#50

MOVR7,#50MOV30H,#0BFH;-顯示初始化顯示位2

MOV31H,#0BFH;-顯示初始化顯示位3

MOV32H,#0BFH;-顯示初始化顯示位4MOV33H,#00H;BITCONTROL--8

MOV34H,#00H;MODESELECTCOUNTER

MOV36H,#0BFH;-顯示初始化顯示位1;------------存儲(chǔ)區(qū)初始化--------

MOV50H,#00H

MOV51H,#00H

MOV52H,#00H

MOV53H,#00H

MOV54H,#00H

MOV55H,#00H

MOV56H,#00H

MOV57H,#00H

CALLXIANSHI

AJMPITMODETS

;---------------------------------------------------------------------------

DELAY:;10MS

DJNZR5,$

MOV

R5,#25

;提高掃描次數(shù)

DJNZR6,DELAY

MOV

R6,#50

RET;*********************顯示部分800MS******************

XIANSHI:

MOVP2,36H

CALLDELAY

MOVP2,30H

CALLDELAY

MOVP2,31H

CALLDELAY

MOVP2,32H

CALLDELAY

DJNZR7,XIANSHI

MOVR7,#50

RET;----------------------模式部分---------------------------

ITMODETS:;智能模式提示

MOV33H,#00H

MOV36H,#0A4H;Z

MOV30H,#0C8H;N

MOV31H,#0A3H;o

MOV32H,#0A3H;o

CALLXIANSHI

ITMODE:

;智能模式

JNB

P0.4,AUTOMODETS

CALLWBQZ

MOVA,21H

CJNEA,#00H,ITMODE0

JMP

ITMODE1

ITMODE0:

CALLTDXIANSHI

CALLXIANSHI;延長時(shí)間

ITMODE1:

CALLTDADD1

AJMPITMODE

;-----------------CUNCHUMODE--------

STOREMODETS:

;智能選擇,循環(huán)顯示

MOVR1,#50H

MOV33H,#00H

MOV36H,#0C6H;C

MOV30H,#0C6H;C

MOV31H,#0A3H;o

MOV32H,#0A3H;o

CALLXIANSHI

JNBP0.4,STOREMODETS;防止按鍵時(shí)間過長,跳過該模式

STOREMODE:

;存儲(chǔ)模式

;初始化R1

JNB

P0.4,ITMODETS

MOV21H,@R1

MOVA,21H

CJNEA,#00H,STMODE

JMPSTMODE0

STMODE:

CALLCCTD

STMODE0:

CALLTDADD1

INCR1

CJNER1,#58H,STOREMODE

MOVR1,#50H

AJMPSTOREMODE

;--------------AUTOMODE-------------

AUTOMODETS:

MOV33H,#00H

MOV36H,#0A4H

;Z

MOV30H,#0A1H

;d

MOV31H,#0A3H;o

MOV32H,#0A3H;o

CALLXIANSHIAUTOMODE:

;自動(dòng)模式

JNB

P0.4,MANMODETS

CALLTZX

CALLTDADD1

AJMPAUTOMODE

;---------------MANMODE-------------

MANMODETS:

MOV33H,#00H

MOV36H,#092H;S

MOV30H,#0A1H;d

MOV31H,#0A3H;o

MOV32H,#0A3H;o

CALLXIANSHI

MANMODE:;手動(dòng)模式,具有電壓存儲(chǔ)功能

JNB

P0.4,STOREMODETS

CALLTZX

JBP0.6,MMD

CALLDELAY

JBP0.6,MMD

CALLTDADD1

;通道加一按鍵檢測(cè)

AJMPMANMODE

MMD:

JBP0.7,MMD0

CALLDELAY

JBP0.7,MMD0

CALLTDPLUS1

;通道減一按鍵檢測(cè)

AJMPMANMODE

MMD0:

;存儲(chǔ)通道電壓按鍵檢測(cè)

JBP0.5,MANMODE

CALLDELAY

JBP0.5,MANMODE

MOVR1,#50H

;按通道存儲(chǔ)

MOVA,33H

ADDA,R1

MOVR1,A

MOV@R1,21H;加入存儲(chǔ)動(dòng)作提示

MOV36H,#0C6H

MOV30H,#0C6H

MOV31H,#0BFH

MOV32H,#0BFH

CALLXIANSHI

JMPMANMODE

;---------------一體化部分-------------------------------

TZX:;通道,轉(zhuǎn)換,顯示一體化

CALLTDXIANSHI

CALLWBQZ

CALLXIANSHI

RETCCTD:;存儲(chǔ)通道,編碼,顯示一體化

CALLTDXIANSHI

CALLCONVERT

CALLXIANSHI

RET

;----------------通道顯示轉(zhuǎn)化部分---------------------

TDXIANSHI:;通道字的轉(zhuǎn)換

MOVA,33H

MOVDPTR,#XSS

MOVCA,@A+DPTR

MOV36H,A

RET

TDADD1:

;通道加一

MOVA,33H

INCA

CJNEA,#08H,TDTZ

MOV33H,#00H

RET

TDTZ:;通道調(diào)整

MOV33H,A

RET

TDPLUS1:;通道減一

MOVA,33H

DECA

CJNEA,#0FFH,TDTZ;通道調(diào)整

MOV33H,#00H

RET;+++++++++++++++++++++計(jì)數(shù)部分JISHIBUFEN++++++++++++++++++;以下為電壓查詢部分,可直接調(diào)用-------------------------------------------

WBQZ:;外部取值

MOV20H,#00H

MOVP2,#0FFH

MOV35H,33H

ORL33H,#0D0H

MOVP3,33H

MOV33H,35H

SETBALE

CLR

STA

JNBEOC,$

MOVP1,#0FFH;高阻態(tài)

SETBOE

MOV

A,P1

MOV

21H,A

CONVERT:

;電壓查詢轉(zhuǎn)換

MOV

30H,#2

MOV

31H,#5

MOV

32H,#00H

CLROE

AJMPSWCX

SWCX:

MOV

A,30H

MOV

DPTR,#ZSB;整數(shù)表,存的是二進(jìn)制電壓

MOVCA,@A+DPTR

CJNEA,21H,JXC;繼續(xù)查

AJMPSWCC;首位查出

JXC:

SUBBA,21H

JCADD0

AJMP

PLUS0

PLUS0:

DEC30H

JBXYBJ,ZWCX;中為查詢

CLRC

SETBDYBJ

AJMPSWCX

ADD0:

JBDYBJ,ZWCX

INC30H

CLRC

SETBXYBJ

AJMP

SWCX

ZWCX:

;中為查詢,根據(jù)30H的值,找出表單

MOVA,30H

CX0V:CJNEA,#00H,CX1V

MOVDPTR,#TAB0V

AJMPZWXC

CX1V:CJNEA,#01H,CX2V

MOVDPTR,#TAB1V

AJMP

ZWXC;中位詳查

CX2V:CJNEA,#02H,CX3V

MOVDPTR,#TAB2V

AJMP

ZWXC

CX3V:CJNEA,#03H,CX4V

MOVDPTR,#TAB3V

AJMP

ZWXC

CX4V:CJNEA,#04H,WRONG

MOVDPTR,#TAB4V

AJMP

ZWXC

WRONG:

MOV

P2,#079H;E

CALLDELAY;20MS

DJNZR7,WRONG

MOVR7,#20

AJMPXIANSHI;顯示上次測(cè)量電壓600MS后,就重新測(cè)量ZWXC:

MOV20H,#00H

ZWXC1:

MOVA,31H

MOVCA,@A+DPTR

MOV22H,A

CJNEA,21H,BJ

AJMPZWCC

BJ:

SUBBA,21H

JC

ADD1

AJMPPLUS1PLUS1:

DEC31H

JBXYBJ,MWCX;中為查詢

CLRC

SETBDYBJ

AJMPZWXC1

ADD1:

JBDYBJ,MWCX

INC31H

CLRC

SETBXYBJ

AJMP

ZWXC1MWCX:

;調(diào)整22H的值為前一值,查詢溢出時(shí),調(diào)整為9

CLRC

MOVA,31H

MOVCA,@A+DPTR

MOV22H,A

MWCX0:

;MOVA,22H

INC22H;

INC32H

MOVA,22H

CJNEA,21H,MWCX0

MOVA,#5

SUBBA,32H

JCMWYC

JZMWYC

MOVA,32H

RLA

MOV32H,A

AJMPCBQZ

MWYC:MOV32H,#9

JMPCBQZ

SWCC:MOV31H,#0

ZWCC:MOV32H,#0CBQZ:

MOVDPTR,#DDS;帶點(diǎn)數(shù)

MOVA,30H

MOVCA,@A+DPTR

MOV30H,A

MOVDPTR,#XSS;顯示數(shù)查詢

MOVA,31H

MOVCA,@A+DPTR

MOV31H,A

MOVA,32H

MOVCA,@A+DPTR

MOV32H,A

RETZSB:

DB00H,33H,66H,99H,0CCH,0FFHDDS:

DB

040H;0.帶點(diǎn)數(shù)

DB

079H;1.

DB

024H;2.

DB

030H;3.

DB

019H;4.

DB

012H;5.

XSS:

DB

0C0H;0

顯示數(shù)字

DB

0F9H;1

DB

0A4H;2

DB

0B0H;3

DB

099H;4

DB

092H;5

DB

082H;6

DB

0F8H;7

DB

080H;8

DB

090H;9

電壓表單TAB0V:DB00H,05H,0AH,0FH,14H,19H,1EH,23H,28H,2DH,33H

;

0

0.10.20.3

0.40.50.60.70.80.9

1

TAB1V:DB33H,38H,3DH,42H,47H,4CH,51H,56H,5BH,60H,66H

;

1

1.11.21.31.41.51.61.71.81.9

2

TAB2V:DB66H,6BH,70H,75H,7AH,7FH,84H,89H,8EH,93H,99H

;

2.02.12.22.32.42.52.62.72.82.9

3

TAB3V:DB99H,9EH,0A3H,0A8H,0ADH,0B2H,0B7H,0BCH,0C1H,0C6H,0CCH

;

3.03.13.23.3

3.43.53.63.73.83.94

TAB4V:DB0CCH,0D1H,0D6H,0DBH,0E0H,0E5H,0EAH,0EFH,0F4H,0F9H,0FFH

;

4.04.14.24.34.44.54.64.74.84.9

5摘

要:介紹一種多通道高精度串行A/D轉(zhuǎn)換器TLC2543的主要特點(diǎn)、工作原理,給出了TLC2543與51系列單片機(jī)的接口電路及驅(qū)動(dòng)程序。

關(guān)鍵詞:串行外設(shè)接口;單片機(jī);接口TLC2543是11個(gè)輸入端的12位模數(shù)轉(zhuǎn)換器,具有轉(zhuǎn)換快、穩(wěn)定性好、與微處理器接口簡單、價(jià)格低等優(yōu)點(diǎn),應(yīng)用前景好。由于它帶有串行外設(shè)接口(SPI,Seri-alPeripheralInterface),而51系列單片機(jī)沒有SPI,因此研究它與51單片機(jī)的接口就非常有意義。

1TLC2543的引腳及功能

TLC2543是12位開關(guān)電容逐次逼近模數(shù)轉(zhuǎn)換器,有多種封裝形式,其中DB、DW或N封裝的管腳圖見圖1。引腳的功能簡要分類說明如下。

I/OCLOCK:控制輸入輸出的時(shí)鐘,由外部輸入。

DATAINPUT:控制字輸入端,用于選擇轉(zhuǎn)換及輸出數(shù)據(jù)格式。

DATAOUT:A/D轉(zhuǎn)換結(jié)果的輸出端。

2TLC2543的使用方法

2.1控制字的格式

控制字為從DATAINPUT端串行輸入的8位數(shù)據(jù),它規(guī)定了TLC2543要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長度、輸出數(shù)據(jù)的格式。其中高4位(D7~D4)決定通道號(hào),對(duì)于0通道至10通道,該4位分別為0000~1010H,當(dāng)為1011~1101時(shí),用于對(duì)TLC2543的自檢,分別測(cè)試(VREF++VREF-)/2、VREF-、VREF+的值,當(dāng)為1110時(shí),TLC2543進(jìn)入休眠狀態(tài)。低4位決定輸出數(shù)據(jù)長度及格式,其中D3、D2決定輸出數(shù)據(jù)長度,01表示輸出數(shù)據(jù)長度為8位,11表示輸出數(shù)據(jù)長度為16位,其他為12位。D1決定輸出數(shù)據(jù)是高位先送出,還是低位先送出,為0表示高位先送出。D0決定輸出數(shù)據(jù)是單極性(二進(jìn)制)還是雙極性(2的補(bǔ)碼),若為單極性,該位為0,反之為1。

2.2轉(zhuǎn)換過程

上電后,片選CS必須從高到低,才能開始一次工作周期,此時(shí)EOC為高,輸入數(shù)據(jù)寄存器被置為0,輸出數(shù)據(jù)寄存器的內(nèi)容是隨機(jī)的。

開始時(shí),CS片選為高,I/OCLOCK、DATAINPUT被禁止,DATAOUT呈高阻狀,EOC為高。使CS變低,I/OCLOCK、DATAINPUT使能,DATAOUT脫離高阻狀態(tài)。12個(gè)時(shí)鐘信號(hào)從I/OCLOCK端依次加入,隨著時(shí)鐘信號(hào)的加入,控制字從DATAINPUT一位一位地在時(shí)鐘信號(hào)的上升沿時(shí)被送入TLC2543(高位先送入),同時(shí)上一周期轉(zhuǎn)換的A/D數(shù)據(jù),即輸出數(shù)據(jù)寄存器中的數(shù)據(jù)從DATAOUT一位一位地移出。TLC2543收到第4個(gè)時(shí)鐘信號(hào)后,通道號(hào)也已收到,此時(shí)TLC2543開始對(duì)選定通道的模擬量進(jìn)行采樣,并保持到第12個(gè)時(shí)鐘的下降沿。在第12個(gè)時(shí)鐘下降沿,EOC變低,開始對(duì)本次采樣的模擬量進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換時(shí)間約需10μs,轉(zhuǎn)換完成后EOC變高,轉(zhuǎn)換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個(gè)工作周期輸出。此后,可以進(jìn)行新的工作周期。

3TLC2543與單片機(jī)的接口和采集程序

目前使用的51系列單片機(jī)沒有SPI接口,為了與TLC2543接口,可以用軟件功能來實(shí)現(xiàn)SPI的功能,其硬件接口如圖2所示。本示例采用延時(shí)進(jìn)行采集,故省去了EOC引腳的接口。

下面是采用C51編寫的A/D轉(zhuǎn)換程序。其中port是待采集的模擬量通道號(hào),ad_data是采樣值。delay()是延時(shí)函數(shù),大約為20微秒。

參考文獻(xiàn)[1]TEXAS產(chǎn)品說明書[Z].2000.

[2]馬明建,周長城.?dāng)?shù)據(jù)采集與處理[M].西安:西安交通大學(xué)出版社,1998.

[3]何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)[M].北京:北京航空航天大學(xué)出版社,1998模擬濾波器模擬濾波器可以分為無源和有源濾波器。無源濾波器:這種電路主要有無源元件R、L和C組成。有源濾波器:集成運(yùn)放和R、C組成,具有不用電感、體積小、重量輕等優(yōu)點(diǎn)。集成運(yùn)放的開環(huán)電壓增益和輸入阻抗均很高,輸出電阻小,構(gòu)成有源濾波電路后還具有一定的電壓放大和緩沖作用。但集成運(yùn)放帶寬有限,所以目前的有源濾波電路的工作頻率難以做得很高。有源濾波自身就是諧波源。其依靠電力電子裝置,在檢測(cè)到系統(tǒng)諧波的同時(shí)產(chǎn)生一組和系統(tǒng)幅值相等,相位相反的諧波向量,這樣可以抵消掉系統(tǒng)諧波,使其成為正弦波形。有源濾波除了濾除諧波外,同時(shí)還可以動(dòng)態(tài)補(bǔ)償無功功率。其優(yōu)點(diǎn)是反映動(dòng)作迅速,濾除諧波可達(dá)到95%以上,補(bǔ)償無功細(xì)致。缺點(diǎn)為價(jià)格高,容量小。由于目前國際上大容量硅閥技術(shù)還不成熟,所以當(dāng)前常見的有源濾波容量不超過600kvar。其運(yùn)行可靠性也不及無源。一般無源濾波指通過電感和電容的匹配對(duì)某次諧波并聯(lián)低阻(調(diào)諧濾波)狀態(tài),給某次諧波電流構(gòu)成一個(gè)低阻態(tài)通路。這樣諧波電流就不會(huì)流入系統(tǒng)。無源濾波的優(yōu)點(diǎn)為成本低,運(yùn)行穩(wěn)定,技術(shù)相對(duì)成熟,容量大。缺點(diǎn)為諧波濾除率一般只有80%,對(duì)基波的無功補(bǔ)償也是一定的。目前在容量大且要求補(bǔ)償細(xì)致的地方一般使用有源加無源混合型,即無源進(jìn)行大容量的濾波補(bǔ)償,有源進(jìn)行微調(diào)。原理上講,有源濾波器可以達(dá)到很高的Q值,但是過高的Q值對(duì)于有源濾波器來說是不夠穩(wěn)定的。有源濾波器的特性曲線不夠好,有可能是你使用的運(yùn)放帶寬不夠。從原理上,無論有源無源,實(shí)現(xiàn)出來的特性應(yīng)該是一致的。主要還是一個(gè)制作問題。你的說法有基本概念問題。不能說你的二階低通濾波器的相應(yīng)沒有巴特沃思的相應(yīng)好!因?yàn)槟愕臑V波器就是根據(jù)巴特沃思原形設(shè)計(jì)的!你的樓下那位大蝦說的很對(duì)。

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論