版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省文山壯族苗族自治州(2024年-2025年小學(xué)五年級(jí)語文)人教版期末考試(下學(xué)期)試卷及答案
- 工程制圖教案創(chuàng)新:2024年的機(jī)遇與挑戰(zhàn)
- 教育技術(shù)驅(qū)動(dòng):2024年《登上企鵝島》課件的革新
- 《曾子殺豬》課件
- 新版2024年安全教育培訓(xùn)記錄表設(shè)計(jì)與應(yīng)用
- 2024年企業(yè)ERP采購流程重構(gòu)培訓(xùn)
- 第47屆世界技能大賽江蘇省選拔賽網(wǎng)絡(luò)系統(tǒng)管理項(xiàng)目技術(shù)文件V1.1
- 2024年XX企業(yè)社會(huì)責(zé)任與企業(yè)文化
- 2020盲盒經(jīng)濟(jì)洞察報(bào)告
- 《高科技智能住宅》課件
- 樂理知識(shí)考試題庫130題(含答案)
- 人教版(2024)七年級(jí)地理上冊(cè)2.2《地形圖的判讀》精美課件
- 2024年共青團(tuán)入團(tuán)積極分子團(tuán)校結(jié)業(yè)考試試題庫及答案
- 2024年遼寧高考?xì)v史試題(含答案和解析)
- 黃河商品交易市場(chǎng)介紹稿
- Unit 3 My friends Part C Story time(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語四年級(jí)上冊(cè)
- 2024中國海油校園招聘2024人(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 孫中山誕辰紀(jì)念日主題班會(huì)主題班會(huì)
- 2024年安徽省合肥市中考語文題卷(含答案)
- G -B- 43630-2023 塔式和機(jī)架式服務(wù)器能效限定值及能效等級(jí)(正式版)
- 24春國開電大《工具書與文獻(xiàn)檢索》平時(shí)作業(yè)1-4答案
評(píng)論
0/150
提交評(píng)論