2011年微機原理與接口技術(shù)-第7章_第1頁
2011年微機原理與接口技術(shù)-第7章_第2頁
2011年微機原理與接口技術(shù)-第7章_第3頁
2011年微機原理與接口技術(shù)-第7章_第4頁
2011年微機原理與接口技術(shù)-第7章_第5頁
免費預(yù)覽已結(jié)束,剩余71頁可下載查看

下載本文檔

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

文檔簡介

第7章數(shù)/模與模/數(shù)轉(zhuǎn)換7.1數(shù)/模(D/A)轉(zhuǎn)換7.2A/D轉(zhuǎn)換7.3典型A/D轉(zhuǎn)換器芯片7.4數(shù)據(jù)采集系統(tǒng)數(shù)字量(Digit)和模擬量(Analog)數(shù)字量:從鍵盤讀入的字符代碼,送往磁盤存儲的文

件信息等。

模擬量:語音信號,送往VGA顯示器的視頻信號,以

及工業(yè)生產(chǎn)過程中溫度、流量等物理量。它們隨

著時間連續(xù)變化。為了使用計算機對模擬量進行采集、加工和輸出,需

要把模擬量轉(zhuǎn)換成便于數(shù)字計算機存儲和加工的

數(shù)字量(A/D轉(zhuǎn)換,ADC),或者把數(shù)字量轉(zhuǎn)換

成模擬量(D/A轉(zhuǎn)換,DAC)。D/A與A/D轉(zhuǎn)換是計算機用于多媒體、工業(yè)控制等領(lǐng)

域的一項重要技術(shù)。圖7-1模擬量輸入輸出通道1.傳感器(變送器)把外部的物理量(例如:聲音、溫度、壓力、流量

等)轉(zhuǎn)換成電流或電壓信號。2.A/D轉(zhuǎn)換器(AnalogDigitConverter,ADC)將電壓表示的模擬量轉(zhuǎn)換成數(shù)字量,送計算機處理。

它是輸入通道的核心環(huán)節(jié)。AD轉(zhuǎn)換器輸入模擬信號通常有以下幾種電壓范圍:

單極性0~5V、0~10V、0~20V;

雙極性±2.5V、±5V、±10V等。3.信號處理傳感器輸出的信號比較微弱,需要經(jīng)過放大,獲得ADC

所要求的輸入電平范圍。安裝在現(xiàn)場的傳感器及其傳輸線路容易受到干擾信號的

影響,需要加接濾波電路,濾去干擾信號。4.多路開關(guān)(Multiplexer)需要監(jiān)測或控制的模擬量往往多于一個??梢允褂枚嗦?/p>

模擬開關(guān),輪流接通其中的一路,使多個模擬信號共用

一個ADC進行A/D轉(zhuǎn)換。5.采樣/保持器(SampleHolder)如果在一次轉(zhuǎn)換期間,輸入的模擬量有較大的變化,

那么轉(zhuǎn)換得到的結(jié)果會產(chǎn)生誤差,甚至發(fā)生錯誤。A/D轉(zhuǎn)換期間保持輸入信號不變的電路稱為采樣/保持

電路。轉(zhuǎn)換開始之前,采樣/保持電路采集輸入信號(采樣)轉(zhuǎn)換進行過程中,它向A/D轉(zhuǎn)換器保持固定的輸出

(保持)。6.D/A轉(zhuǎn)換器(DigitAnalogConverter,DAC):D/A轉(zhuǎn)換器將成數(shù)字量轉(zhuǎn)換成模擬量輸出。7.1數(shù)/模(D/A)轉(zhuǎn)換7.1.1數(shù)/模轉(zhuǎn)換原理7.1.2D/A轉(zhuǎn)換芯片—DAC0832圖7-21.權(quán)電阻D/A圖7-32.R-2RT型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器D/A轉(zhuǎn)換器進行一次數(shù)字量到模擬量的轉(zhuǎn)換需要的時間,

稱為D/A轉(zhuǎn)換時間,一般在500ns(納秒,1ns=10-9s)左右。為了保存由計算機送來的數(shù)字信號,通常還需要配置一

個“數(shù)據(jù)寄存器”,向D/A轉(zhuǎn)換器提供穩(wěn)定的數(shù)字信號。圖7-47.1.2D/A轉(zhuǎn)換芯片—DAC08321.DAC0832的引腳信號DI0~DI7:8位數(shù)字量輸入。ILE:數(shù)據(jù)鎖存允許信號,高電平有效;CS#:輸入寄存器選擇信號,低電平有效;WR1#:輸入寄存器的“寫”選通信號,低電平有效。輸入寄存器的鎖存信號LE1#=(CS#+WR1#)#·ILE。

LE1#=1,輸入鎖存器狀態(tài)隨數(shù)據(jù)輸入狀態(tài)變化;

LE1#=0時,鎖存輸入數(shù)據(jù)。XFER#:數(shù)據(jù)轉(zhuǎn)移控制信號,低電平有效;WR2#:DAC寄存器的“寫”選通信號。DAC寄存器的鎖存信號LE2#=WR2#+XREF#。

LE2#=1時,DAC寄存器的輸出跟隨輸入變化;

LE2#=0時,鎖存輸入寄存器狀態(tài)。VREF:基準(zhǔn)電壓輸入。(+10V~-10V)DAC0832的引腳信號Rfb:反饋信號輸入,芯片內(nèi)已連接有反饋電阻。IOUT1和IOUT2:電流輸出引腳。IOUT1與IOUT2

的和為常數(shù),IOUT1隨DAC寄存器的內(nèi)容線性變化。Vcc是工作電源;DGND是數(shù)字地,AGND為模擬

信號地。DAC0832的引腳信號為了保證轉(zhuǎn)換精度,模擬信號部分應(yīng)使用高精度基

準(zhǔn)電源VREF和獨立的地線。為了避免數(shù)字信號對模擬信號的干擾,提高輸出的

穩(wěn)定性,減少誤差,應(yīng)把數(shù)字地和模擬地分開:模擬地:模擬信號及基準(zhǔn)電源的參考地;數(shù)字地:工作電源地,數(shù)據(jù)、地址、控制等數(shù)字

信號邏輯地。D/A轉(zhuǎn)換器的輸出一般都要接運算放大器,微小信

號經(jīng)放大后才能驅(qū)動執(zhí)行機構(gòu)的部件。DAC0832的引腳信號圖7-5DAC0832的連接2.DAC0832的應(yīng)用直通輸入:把CS#,WR1#,WR2#,XREF#都接地,由

微機的并口(例如8255)向0832輸出。單緩沖:地址選通PORT0連接CS#。I/O寫信號IOW#同

時連接到WR1#、WR2#和XREF#。執(zhí)行一次輸出指令可

以將數(shù)據(jù)寫入。雙緩沖方式:

在輸出一個模擬信號的同時,可送入下一個數(shù)據(jù),實現(xiàn)

多個DAC同時輸出新的模擬量。

DAC0832占用兩個端口地址,地址線A0=0時選中第一級,A0=1時選中第二級。

輸出一個數(shù)據(jù)需要執(zhí)行兩條輸出指令:第一條指令將數(shù)據(jù)寫入0832的輸入寄存器;第二條指令將數(shù)據(jù)從輸入寄存器送入DAC寄存器圖7-52.DAC0832的應(yīng)用MOVAL,NUM ;被轉(zhuǎn)換的數(shù)據(jù)送ALMOVDX,PORT0 ;輸入寄存器偶地址送DXOUTDX,AL ;數(shù)據(jù)送到輸入寄存器INCDX ;A0=1OUTDX,AL ;數(shù)據(jù)送入DAC寄存器雙緩沖方式輸出程序輸出三角波的程序段S0: MOVAL,0 ;AL中置初值0,

S1: CALLOUTPUT ;輸出三角波的上升段

INC AL

JNZ S1

DEC AL

S1: CALLOUTPUT ;輸出三角波的下降段

DECAL ;產(chǎn)生下降段下一個值

JNZ S2 ;

JMP S1 ;下降段結(jié)束,

;輸出下一個三角波輸出鋸齒波的程序段

MOV AL,0J1:CALL OUTPUT ;輸出當(dāng)前值

INC AL ;產(chǎn)生下一個輸出值

JMP J1OUTPUT PROC NEAR

MOVDX,PORT0 ;DAC0832端口地址

OUTDX,AL

INCDX

OUTDX,AL;

PUSHAX

MOVAX,N ;延時的時間常數(shù)

WT: DEC AX

JNZWT ;延時

POP AX

RET

OUTPUT ENDP子程序“OUTPUT”

7.2A/D轉(zhuǎn)換7.2.1信號變換中的采樣、量化和編碼7.2.2A/D轉(zhuǎn)換原理7.2.3A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)7.2.1信號變換中的采樣、量化和編碼1.采樣采樣:模擬信號的大小隨著時間不斷地變化,按一定的規(guī)律和周期取出其中的某一瞬時值進行轉(zhuǎn)換。采樣定理:采樣頻率要高于或至少等于輸入信號最高頻率的2倍,實際應(yīng)用中,采樣頻率可以達到信號最高頻率的4~8倍。采樣保持:對于變化較快的輸入模擬信號,A/D轉(zhuǎn)換前可采用采樣保持器,使得在轉(zhuǎn)換期間保持固定的模擬信號值。2.量化量化是把采樣值取整為最小單位的整數(shù)倍。量化的最小單位稱為量化單位Δ,它等于輸入

信號的最大值/數(shù)字量的最大值,對應(yīng)于數(shù)字量1。模數(shù)轉(zhuǎn)換關(guān)系也可以用曲線表示圖7-73.編碼量化得到的數(shù)值通常用二進制表示。對有正負(fù)極性(雙極性)的模擬量一般采用偏移碼表示。

例如,8位二進制偏移碼10000000代表數(shù)值0,

00000000代表負(fù)電壓滿量程,

11111111代表正電壓滿量程

(數(shù)值為負(fù)時符號位為0,為正時符號位為1)。7.2.2A/D轉(zhuǎn)換原理這種方式的轉(zhuǎn)換中有兩個積分時間:

T0:用模擬輸入電壓對電容積分的時間

這個時間是固定的;

T1:以電容充電后的電壓為初值,對參考電源

VRef反向積分,也就是積分電容被放電至

零所需的時間(或T2)。1.雙積分型A/D轉(zhuǎn)換器圖7-8雙積分型A/D轉(zhuǎn)換器Vi/VRef=T1/T0。由于VRef、T0固定,通過測量放電時間T1,可求出輸入模擬電壓Vi的大小。雙積分型A/D轉(zhuǎn)換測量輸入電壓Vi在T0時間內(nèi)的平均值,所以對常態(tài)干擾(串模干擾)有很強的抑制作用,尤其對正負(fù)波形對稱的干擾信號,抑制效果更好。雙積分型的A/D轉(zhuǎn)換器電路簡單,抗干擾能力強,精度高,但是轉(zhuǎn)換速度比較慢,通常為ms級,一般用于低頻信號的測量。雙積分型A/D轉(zhuǎn)換器圖7-92.逐次逼近型的A/D轉(zhuǎn)換器逐次逼近式的A/D轉(zhuǎn)換器的特點(1)轉(zhuǎn)換速度較快,轉(zhuǎn)換時間在1~100μs以內(nèi),

分辨率可達18位,適用于高精度、高頻信號

的A/D轉(zhuǎn)換;(2)轉(zhuǎn)換時間固定,不隨輸入信號的大小而變化;(3)抗干擾能力較雙積分型弱。采樣時,干擾信號會造成較大的誤差,需要采取適當(dāng)?shù)臑V波措施。圖7-103.跟蹤計數(shù)式模數(shù)轉(zhuǎn)換器圖7-114.∑-△型模數(shù)轉(zhuǎn)換器(設(shè)輸入模擬量Vin=1/4VREF)∑-△型模數(shù)轉(zhuǎn)換器以串行數(shù)據(jù)流方式輸出結(jié)果;轉(zhuǎn)換精度為1LSB;

轉(zhuǎn)換完成后,比較器輸出0/1相間的數(shù)字流;輸入模擬量Vin發(fā)生變化,輸出數(shù)字流隨之變化。模擬量輸入端接有多路開關(guān)時,通道切換后要等

待足夠長的時間,才能讀取轉(zhuǎn)換結(jié)果。∑-△型模數(shù)轉(zhuǎn)換器抗干擾能力強,轉(zhuǎn)換精度高,常用于高分辨率(常見為16、18、24位)的中、低頻信號測量。AD7714是一個∑-△型模數(shù)轉(zhuǎn)換器芯片,轉(zhuǎn)換精度24位?!?△型模數(shù)轉(zhuǎn)換器1.分辨率分辨率反映A/D轉(zhuǎn)換器對輸入微小變化的響應(yīng)能力,用數(shù)字量最低位(LSB)所對應(yīng)的模擬輸入電平值(Δ)表示。分辨率直接與轉(zhuǎn)換器的位數(shù)有關(guān),也可以用數(shù)字量的位數(shù)來表示分辨率。注意:分辨率與精度是兩個不同的概念。

分辨率高的轉(zhuǎn)換器,精度不一定高。7.2.3A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)2.精度(有絕對精度和相對精度兩種)(1)絕對誤差絕對誤差等于實際轉(zhuǎn)換結(jié)果與理論轉(zhuǎn)換結(jié)果之差。也可以用數(shù)字量的最小有效位(LSB)的分?jǐn)?shù)值表示。例如:±1LSB,±1/2LSB,±1/4LSB等(2)相對誤差相對誤差是指數(shù)字量所對應(yīng)的模擬輸入量的實際值與

理論值之差,用模擬電壓滿量程的百分比表示。例:10位A/D芯片,輸入滿量程10V,

絕對精度±1/2LSB(△=9.77mV)絕對精度為:1/2△(=4.88mV)相對精度為:4.88mV/10V=0.048%。3.轉(zhuǎn)換時間

完成一次A/D轉(zhuǎn)換所需要的時間。

(發(fā)出轉(zhuǎn)換命令信號到轉(zhuǎn)換結(jié)束的時間) 轉(zhuǎn)換時間的倒數(shù)稱為轉(zhuǎn)換速率。

例:AD574的轉(zhuǎn)換時間25μs,

轉(zhuǎn)換速率為40KHz(=1/25μs)4.量程量程:被轉(zhuǎn)換的模擬輸入電壓范圍,

分單極性、雙極性兩種類型。單極性常見量程為0~5V,0~10V,0~20V;雙極性量程常為-5V~+5V,-10V~+10V。5.邏輯電平與輸出方式 多數(shù)A/D轉(zhuǎn)換器輸出的數(shù)字信號與TTL電平兼容,以并行方式輸出。 ∑-△A/D轉(zhuǎn)換芯片以串行方式輸出數(shù)據(jù),這對單片機類CPU連接是很方便的。6.工作溫度范圍 溫度會對比較器、運算放大器、電阻網(wǎng)絡(luò)等部件的工作產(chǎn)生影響。 A/D轉(zhuǎn)換器的工作溫度范圍一般為0~70℃。 軍用品為-55℃~+125℃。7.3典型A/D轉(zhuǎn)換器芯片逐次逼近型8位A/D轉(zhuǎn)換芯片;片內(nèi)有8路模擬開關(guān),可以同時連接8路模擬量;單極性,量程為0~5V;典型的轉(zhuǎn)換速度100μs;片內(nèi)有三態(tài)輸出緩沖器,可直接與CPU總線連接;有較高的性能價格比,適用于對精度和采樣速度要求不高的場合或一般的工業(yè)控制領(lǐng)域。7.3.1ADC0809圖7-121.模擬輸入部分模擬輸入部分由8選1多路開關(guān),地址鎖存與譯碼邏輯組成。從IN0~IN7引腳輸入8路單端模擬信號;由三位地址輸入ADDA,ADDB,ADDC譯碼選擇8路中的一路,ALE為高電平時,三個地址信號被鎖存。2.A/D變換器部分由逐次逼近寄存器SAR(8位)、比較器、電阻網(wǎng)絡(luò)等控制邏輯組成。3.基準(zhǔn)電壓輸入VREF(+)和VREF(-)它們決定了輸入模擬電壓的最大值和最小值對轉(zhuǎn)換精度要求不高時,可以把VREF(+)接到Vcc(+5V)電源上,VREF(-)接GND(地)為了避免數(shù)字脈沖信號對基準(zhǔn)電源的干擾,可以設(shè)置獨立的VREF(+)和VREF(-),加在兩個引腳的電壓必須滿足以下條件:

VREF(+)+VREF(-)=Vcc,偏差值≤±0.1V Vcc≥VREF(+)≥VREF(-)≥0圖7-134.ADC0809的時序(1)ALE信號鎖存地址信號ADDA~ADDC。對應(yīng)的模擬信號進入0809(2)START脈沖啟動A/D轉(zhuǎn)換(3)轉(zhuǎn)換完成后,轉(zhuǎn)換結(jié)束信號EOC變?yōu)楦唠娖剑嚎梢宰鳛闋顟B(tài)信號由CPU查詢;可以作為中斷請求信號通知CPU。(4)CPU在查詢式I/O程序或中斷服務(wù)程序中:執(zhí)行輸入指令(讀ADC0809數(shù)據(jù)端口);該指令經(jīng)地址譯碼電路產(chǎn)生OE信號,0809內(nèi)三態(tài)緩沖器被打開,轉(zhuǎn)換結(jié)果通過數(shù)據(jù)總線進入CPU。ADC0809的工作過程ADC0809與系統(tǒng)有三種常見的連接方法:(1)占用三個I/O端口: 端口1用來向0809輸出模擬通道號并鎖存; 端口2用于啟動轉(zhuǎn)換; 端口3讀取轉(zhuǎn)換后的數(shù)據(jù)結(jié)果。(2)占用二個I/O端口: 端口1輸出模擬通道號并鎖存,同時啟動轉(zhuǎn)換; 端口2讀取轉(zhuǎn)換后的數(shù)據(jù)結(jié)果。(3)通過并行接口芯片(例如8255A)連接。5.ADC0809芯片應(yīng)用舉例圖7-14ADC0809芯片應(yīng)用舉例START:MOVAL,98H ;8255A方式字:方式0,A口輸入,B口輸出 MOV DX,03FFFH;8255A控制端口地址 OUT DX,AL ;送8255A方式字 MOV AL,0BH ;通道號3、ALE信號 MOV DL,0FDH ;8255A的B口地址 OUT DX,AL ;送通道號3及ALE信號 MOV AL,1BH ;增加啟動信號START OUT DX,AL ;啟動A/D轉(zhuǎn)換ADC0809轉(zhuǎn)換程序 MOV AL,0BH ; OUTDX, AL ;撤銷START信號

MOVDL,0FEH ;8255A的C口地址TST:IN AL,DX ;讀C口狀態(tài) ANDAL,10H ;查詢EOC狀態(tài) JZTST ;如未轉(zhuǎn)換完,再測試 MOVDL,0FCH ;8255PA端口地址 IN AL,DX ;從A端口讀入轉(zhuǎn)換結(jié)果 ………ADC0809轉(zhuǎn)換程序(續(xù))1.AD轉(zhuǎn)換器AD574的主要特性:美國AD公司的產(chǎn)品12位逐次逼近式A/D轉(zhuǎn)換器,8位/12位A/D轉(zhuǎn)換12位數(shù)據(jù)可以一次輸出,也可以分二次輸出三態(tài)緩沖輸出;帶有基準(zhǔn)源和時鐘;轉(zhuǎn)換時間:25μs(12位);分辨率:12位;精度:±1LSB。7.3.2AD574AAD574共有28根引腳,DIP封裝(1)12位數(shù)字量輸出:DB11~DB0(2)模擬量輸入:10VIN及20VIN,雙極性±5V或

±10V輸入,單極性0~+10V或0~+20V輸入AD574的引腳信號CS#-片選信號,低電平有效。CE-芯片允許信號,高電平有效。R/C#-讀出和轉(zhuǎn)換控制信號,=1為讀,=0為轉(zhuǎn)換。12/8#-數(shù)據(jù)輸出格式選擇控制線,=1時12位同時輸出;=0時高8位、低四位分兩次輸出,左對齊格式A0-字節(jié)方式下的高/低字節(jié)選擇控制線。STS-狀態(tài)輸出信號線轉(zhuǎn)換過程中,STS為高電平轉(zhuǎn)換完成后,該腳為低電平。BIP-輸入信號極性選擇,接地時輸入單極性信號;接+10V時輸入雙極性模擬信號(輸出偏移碼)(3)AD574的控制信號:圖7-15AD574的引腳信號圖7-163.AD574的輸入連接圖7-174.AD574A的輸出接口(字節(jié)方式)以8位總線接口為例,直接讀?。ü潭ㄑ訒r)方式實現(xiàn)一次轉(zhuǎn)換的程序如下:

OUT80H,AL ;啟動12位轉(zhuǎn)換 CALLDELAY ;延時,等待轉(zhuǎn)換結(jié)束 INAL,80H ;讀入高8位 MOVAH,AL INAL,81H ;讀入低位字節(jié),轉(zhuǎn)換值在AX的高12位中 MOV CL,4 SHR AX, CL ;把轉(zhuǎn)換值移入AX低12位7.4數(shù)據(jù)采集系統(tǒng)某公司電鍍線微機集散控制系統(tǒng):一個以工控PC(PC-Busindustrialcomputer)為核心的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)功能:檢測電鍍工藝參數(shù)(溫度、電流、安培小時累計)電鍍槽溫度控制,加料控制。行車控制圖7-18電鍍線微機集散控制系統(tǒng)工業(yè)控制數(shù)據(jù)采集系統(tǒng)以往用單片機,單板機配以各種AD,DA芯片自行設(shè)計模擬量輸入輸出通道。優(yōu)點:成本低,結(jié)構(gòu)緊湊。缺點:軟硬件開發(fā)周期長,難度大。工控PC特點:使用標(biāo)準(zhǔn)化的機箱,整機抗震、防塵能力強;有抗干擾能力極強的電源和主板,能24小時連續(xù)工作。軟件開發(fā)以高級語言為主,設(shè)計周期短,軟件的調(diào)試、移植較匯編語言方便。配有有各種商品化的I/O、A/D、D/A接口卡,結(jié)構(gòu)緊湊,性能穩(wěn)定,用戶可迅速組裝成一套完整數(shù)據(jù)采集系統(tǒng),系統(tǒng)升級方便。7.4.1工控PC簡介多功能ISA總線接口卡:16路開關(guān)量I/O16路A/D(12位)1路D/AA/D轉(zhuǎn)換使用AD574,配以16路模擬開關(guān)及量程切換占用16個端口地址,基地址由開關(guān)設(shè)定7.4.2PCL818多功能接口卡(1)中斷方式采樣及數(shù)字濾波 對8個點的溫度數(shù)據(jù)定時巡回采集 在1CH定時中斷服務(wù)程序中(每55ms進入一次)對8路溫度模擬量進行查詢式輸入,一路A/D轉(zhuǎn)換時間小于40μs,8路采樣所耗費的時間小于0.5ms。7.4.3數(shù)據(jù)采集軟件設(shè)計(2)采用移動算術(shù)平均方法進行“數(shù)字濾波”。構(gòu)造一個“先進先出(FIFO)”隊列,每采樣一次,把15個數(shù)據(jù)順序向前移動一個位置,新的數(shù)據(jù)放入這個隊列的尾部。將本次的采樣值與前15次采樣值相加,求出的平均值作為本次的采樣值。本例中,對于8個點的數(shù)據(jù)采集,構(gòu)造了二維數(shù)組ti[8][16],每一路溫度存入數(shù)組的一行ti[i],濾波后(3)非線性標(biāo)度變換實際的傳感器存在著“非線性”,可以把溫度K和轉(zhuǎn)換值A(chǔ)D之間的關(guān)系近似看作由3個點表示的二條“折線”。測量每個傳感器的三點6個坐標(biāo)值,N路A/D有N×6個參數(shù),將這些數(shù)據(jù)存放在TEMP.TXT文件中。根據(jù)每個傳感器的6個坐標(biāo)值(k1,k2,k3,ad1,ad2,ad3)計算相應(yīng)的物理量。

測量值A(chǔ)D和它所對應(yīng)的溫度K之間的轉(zhuǎn)換公式為:

AD>AD2時:

K=K2+(K3-K2)(AD-AD2)/(AD3-AD2) AD<AD2時:

K=K1+(K2-K1)(AD-AD1)/(AD2-AD1)圖7-19三點式折線補償法(4)更換傳感器后,需要修改對應(yīng)的參數(shù):調(diào)整生產(chǎn)現(xiàn)場的工況使溫度達到k2,測定出相應(yīng)的A/D值NewAD2。相同型號傳感器的轉(zhuǎn)換曲線形態(tài)基本相同,其余點(AD1、AD3)用下面公式修正(上、下移動): AD2=NewAD2 AD1=AD1+(NewAD2-AD2) AD3=AD3+(NewAD2-AD2)新的參數(shù)值需要寫入?yún)?shù)文件“TEMP.TXT”供以后使用 傳感器參數(shù)的整定 /*符號名、全局變量和函數(shù)聲明*/#include“dos.h”#defineN8 /*采樣點數(shù)*/#defineBASE0x300 /*AD818卡基地址*/#defineINTERRUPT0x1c/*定時中斷類型號*/int ad;staticunsignedt[N],tkad[N][6],tad[N],t1[N][16];voidfarhandler(); /*函數(shù)handler()聲明*/voidinterruptfar(*oldhandler)(); /*定義oldhandler為指向中斷服務(wù)程序的指針*/3.溫度數(shù)據(jù)采集程序

main() {FILE*fp; inti,j; ………….. oldhander=getvect(INTERRUPT); /*讀出原1CH中斷向量*/

setvect(INTERRUPT,handler); /*把新的1CH中斷向量寫入向量表*/主函數(shù)(1)----設(shè)定中斷向量*/if(fp=fopen(“TEMP.TXT”,“r”)==NULL) {printf(“CannotopenTEMP.TXT\n”); exit(1);} /*打開標(biāo)定參數(shù)文件*/for(i=0;i<=N-1;i++)for(j=0;j<=5;j++)fscanf(fp,“%d”,tkad[i][j]); /*把標(biāo)定參數(shù)讀入數(shù)組tkad[N][6]*/…………..主函數(shù)(2)----讀傳感器參數(shù)文件kad(k,k1,k2,k3,ad1,ad2,ad3)int*k,k1,k2,k3,ad1,ad2,ad3;/*函數(shù)kad把測量得到的值ad轉(zhuǎn)換成對應(yīng)的溫度值k*/{floatkf;

if(ad>ad2){kf=((float)(ad-ad2)/(ad3-ad2))*(k3-k2); *k=k2+(int)kf;}else {kf=((float)(ad-ad1)/(ad2-ad1))*(k2-k1); *k=k1+(int)kf;}/*轉(zhuǎn)換結(jié)果通過指針k返回*/}kad----傳感器數(shù)據(jù)轉(zhuǎn)換函數(shù)AD818(intscan) {intlbit,hbit,it=0,result;outportb(BASE+2,scan);/*向AD818輸出通道號*/

outportb(BASE+1,0);/*AD輸入量程控制*/outportb(BASE+9,0);/*不使用中斷或DMA*/outportb(BASE+0,0);/*啟動AD轉(zhuǎn)換*/AD818----AD轉(zhuǎn)換函數(shù)(1)Do{it=it+1;result=inportb(BASE+8)&128;}while(result!=0&&it<=10000);/*讀出AD狀態(tài)寄存器,查詢EOC,等待AD轉(zhuǎn)換完成*/lbit=inportb(BASE+0)

溫馨提示

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

評論

0/150

提交評論