![第九章 8051外部接口的c編程_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/43bf874e-e862-4a87-9484-b69944ff0511/43bf874e-e862-4a87-9484-b69944ff05111.gif)
![第九章 8051外部接口的c編程_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/43bf874e-e862-4a87-9484-b69944ff0511/43bf874e-e862-4a87-9484-b69944ff05112.gif)
![第九章 8051外部接口的c編程_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/43bf874e-e862-4a87-9484-b69944ff0511/43bf874e-e862-4a87-9484-b69944ff05113.gif)
![第九章 8051外部接口的c編程_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/43bf874e-e862-4a87-9484-b69944ff0511/43bf874e-e862-4a87-9484-b69944ff05114.gif)
![第九章 8051外部接口的c編程_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/26/43bf874e-e862-4a87-9484-b69944ff0511/43bf874e-e862-4a87-9484-b69944ff05115.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第九章第九章8051外部接口的外部接口的C編程編程11模擬量模擬量D/A傳感器傳感器執(zhí)行元件執(zhí)行元件A/D數(shù)字量數(shù)字量數(shù)字量數(shù)字量模擬量模擬量模擬量輸入模擬量輸入(數(shù)據(jù)采集數(shù)據(jù)采集)模擬量輸出模擬量輸出(過程控制過程控制)計(jì)算機(jī)計(jì)算機(jī)1、模擬接口的作用、模擬接口的作用 模擬量的輸入、輸出通道是微型計(jì)算機(jī)與控制對(duì)象之間的重模擬量的輸入、輸出通道是微型計(jì)算機(jī)與控制對(duì)象之間的重要接口,也是實(shí)現(xiàn)工業(yè)過程控制的重要組成部分。要接口,也是實(shí)現(xiàn)工業(yè)過程控制的重要組成部分。 實(shí)際工業(yè)生產(chǎn)環(huán)境實(shí)際工業(yè)生產(chǎn)環(huán)境連續(xù)變化的模擬量連續(xù)變化的模擬量 v例如:電壓、電流、壓力、溫度、位移、流量例如:電壓、電流、壓力、溫度
2、、位移、流量 計(jì)算機(jī)內(nèi)部計(jì)算機(jī)內(nèi)部離散的數(shù)字量離散的數(shù)字量v二進(jìn)制數(shù)、十進(jìn)制數(shù)二進(jìn)制數(shù)、十進(jìn)制數(shù)第九章第九章8051外部接口的外部接口的C編程編程22輸入通道輸入通道模擬接口電路的任務(wù)模擬接口電路的任務(wù)模擬電路的任務(wù)模擬電路的任務(wù)0010110110101100工工業(yè)業(yè)生生產(chǎn)產(chǎn)過過程程傳傳感感器器放大放大濾波濾波多路轉(zhuǎn)換多路轉(zhuǎn)換&采樣保持采樣保持A/D轉(zhuǎn)換轉(zhuǎn)換放大放大驅(qū)動(dòng)驅(qū)動(dòng)D/A轉(zhuǎn)換轉(zhuǎn)換輸出輸出接口接口微微型型計(jì)計(jì)算算機(jī)機(jī)執(zhí)行執(zhí)行機(jī)構(gòu)機(jī)構(gòu)輸入輸入接口接口物理量物理量變換變換信號(hào)信號(hào)處理處理信號(hào)信號(hào)變換變換I/O接口接口輸出通道輸出通道第九章第九章8051外部接口的外部接口的C編程編程33v傳
3、感器(傳感器(Transducer)v非電量非電量電壓、電流電壓、電流 v變送器(變送器(Transformer)v轉(zhuǎn)換成標(biāo)準(zhǔn)的電信號(hào)轉(zhuǎn)換成標(biāo)準(zhǔn)的電信號(hào)v信號(hào)處理(信號(hào)處理(Signal Processing)v放大、整形、濾波放大、整形、濾波 v多路轉(zhuǎn)換開關(guān)(多路轉(zhuǎn)換開關(guān)(Multiplexer) v多選一多選一v采樣保持電路(采樣保持電路(Sample Holder,S/H)v保證變換時(shí)信號(hào)恒定不變保證變換時(shí)信號(hào)恒定不變vA/D變換器(變換器(A/D Converter)v模擬量轉(zhuǎn)換為數(shù)字量模擬量轉(zhuǎn)換為數(shù)字量 第九章第九章8051外部接口的外部接口的C編程編程44vD/A變換器(變換器(D
4、/A Converter)v數(shù)字量轉(zhuǎn)換為模擬量數(shù)字量轉(zhuǎn)換為模擬量v低通濾波低通濾波v平滑輸出波形平滑輸出波形v放大驅(qū)動(dòng)放大驅(qū)動(dòng)v提供足夠的驅(qū)動(dòng)電壓,電流提供足夠的驅(qū)動(dòng)電壓,電流第九章第九章8051外部接口的外部接口的C編程編程55v數(shù)字量是由一位一位的數(shù)位構(gòu)成的,每個(gè)數(shù)位都代表一定數(shù)字量是由一位一位的數(shù)位構(gòu)成的,每個(gè)數(shù)位都代表一定的權(quán)。的權(quán)。v為了把一個(gè)數(shù)字量變?yōu)槟M量,必須把每一位的數(shù)碼按照為了把一個(gè)數(shù)字量變?yōu)槟M量,必須把每一位的數(shù)碼按照權(quán)來轉(zhuǎn)換為對(duì)應(yīng)的模擬量,再把各模擬量相加,這樣,得權(quán)來轉(zhuǎn)換為對(duì)應(yīng)的模擬量,再把各模擬量相加,這樣,得到的總模擬量便對(duì)應(yīng)于給定的數(shù)據(jù)。到的總模擬量便對(duì)應(yīng)于給
5、定的數(shù)據(jù)。vD/A轉(zhuǎn)換器的主要部件是電阻開關(guān)網(wǎng)絡(luò),通常是由輸入的二轉(zhuǎn)換器的主要部件是電阻開關(guān)網(wǎng)絡(luò),通常是由輸入的二進(jìn)制數(shù)的各位控制一些開關(guān),通過電阻網(wǎng)絡(luò),在運(yùn)算放大進(jìn)制數(shù)的各位控制一些開關(guān),通過電阻網(wǎng)絡(luò),在運(yùn)算放大器的輸入端產(chǎn)生與二進(jìn)制數(shù)各位的權(quán)成比例的電流,經(jīng)過器的輸入端產(chǎn)生與二進(jìn)制數(shù)各位的權(quán)成比例的電流,經(jīng)過運(yùn)算放大器相加和轉(zhuǎn)換而成為與二進(jìn)制數(shù)成比例的模擬電運(yùn)算放大器相加和轉(zhuǎn)換而成為與二進(jìn)制數(shù)成比例的模擬電壓。壓。第九章第九章8051外部接口的外部接口的C編程編程66v 分辨率分辨率 由于數(shù)字量由于數(shù)字量D是不連續(xù)的,當(dāng)數(shù)字增加是不連續(xù)的,當(dāng)數(shù)字增加時(shí),模擬量為階梯波電壓,如圖所示:時(shí),模
6、擬量為階梯波電壓,如圖所示:階梯波每一級(jí)增量對(duì)應(yīng)于輸入數(shù)字的階梯波每一級(jí)增量對(duì)應(yīng)于輸入數(shù)字的最低數(shù)位最低數(shù)位1。把階梯波每一級(jí)增量與最。把階梯波每一級(jí)增量與最大模擬量的比值稱為分辨率。大模擬量的比值稱為分辨率。 分辨率分辨率=1/(2n-1) n例,例,4位位DAC,其分辨率為,其分辨率為=6.67%n 通常,在工程中,直接以通常,在工程中,直接以DAC能轉(zhuǎn)換的二進(jìn)制位數(shù)表示分能轉(zhuǎn)換的二進(jìn)制位數(shù)表示分辨率。如辨率。如8、10、12、14、16位位DAC。第九章第九章8051外部接口的外部接口的C編程編程77u 輸出范圍輸出范圍 0+5V, 滿量程滿量程FS=5V (Full Scale) -5
7、V+5V, FS=10V 0+10V, FS=10V -10V+10V FS=20Vu轉(zhuǎn)換精度轉(zhuǎn)換精度 實(shí)際輸出值與理論值之間的最大偏差。實(shí)際輸出值與理論值之間的最大偏差。 一般用最小量化階一般用最小量化階來度量,如來度量,如1/2 LSB1/2 LSB。也可用滿量程。也可用滿量程的百分比來度量,如的百分比來度量,如0.05% FSR0.05% FSR(LSB-Least Significant Bit, FSR-Full Scale Range)(LSB-Least Significant Bit, FSR-Full Scale Range)第九章第九章8051外部接口的外部接口的C編程編程
8、88v線性度(線性誤差線性度(線性誤差)DAC的理想特性為線性階梯波,實(shí)際特性可能偏離理想特性,模擬的理想特性為線性階梯波,實(shí)際特性可能偏離理想特性,模擬量實(shí)際值與理想值間的最大差值,折合為數(shù)字量的最低有效位量實(shí)際值與理想值間的最大差值,折合為數(shù)字量的最低有效位(一一般,應(yīng)小于般,應(yīng)小于1/2LSB)。v建立時(shí)間(轉(zhuǎn)換時(shí)間)建立時(shí)間(轉(zhuǎn)換時(shí)間) 指指“大信號(hào)大信號(hào)”工作時(shí),從開始轉(zhuǎn)換到模擬量輸出到達(dá)最終值所工作時(shí),從開始轉(zhuǎn)換到模擬量輸出到達(dá)最終值所需的時(shí)間,一般幾納秒幾百微秒。需的時(shí)間,一般幾納秒幾百微秒。 “大信號(hào)大信號(hào)”工作:工作:0最大,或負(fù)最大正最大。最大,或負(fù)最大正最大。v其他參數(shù)其
9、他參數(shù) 溫度漂移(溫度漂移(ppm/)、絕緣電壓、功耗等。)、絕緣電壓、功耗等。第九章第九章8051外部接口的外部接口的C編程編程99DAC0832由由8位輸入寄存器、位輸入寄存器、8位位DAC寄存器和寄存器和8位位D/A轉(zhuǎn)換器構(gòu)成。轉(zhuǎn)換器構(gòu)成。DAC0832有兩級(jí)鎖存器,第一級(jí)即輸入寄存器,第二級(jí)即有兩級(jí)鎖存器,第一級(jí)即輸入寄存器,第二級(jí)即DAC寄存器。寄存器。lDAC0832可以在雙緩沖方式下,輸出模擬信號(hào)同時(shí)采集數(shù)字量。可以在雙緩沖方式下,輸出模擬信號(hào)同時(shí)采集數(shù)字量。l可以在可以在D/A轉(zhuǎn)換器同時(shí)工作時(shí),利用第二級(jí)鎖存信號(hào)實(shí)現(xiàn)多路轉(zhuǎn)換器同時(shí)工作時(shí),利用第二級(jí)鎖存信號(hào)實(shí)現(xiàn)多路D/A的的同時(shí)
10、輸出。同時(shí)輸出。第九章第九章8051外部接口的外部接口的C編程編程1010主要特性如下:主要特性如下:l 分辨率分辨率8位;位;l 建立時(shí)間建立時(shí)間1usl 增益溫度系數(shù)增益溫度系數(shù)20106/ 0Cl 輸入輸入TTL電平電平l 功耗功耗20mWDAC0832的輸出為兩個(gè)電流信號(hào)的輸出為兩個(gè)電流信號(hào)IOUT1和和IOUT2。 IOUT1+IOUT2=常數(shù)常數(shù)當(dāng)當(dāng)LE2有效時(shí),數(shù)據(jù)輸入寄存器的值進(jìn)入第二級(jí)(有效時(shí),數(shù)據(jù)輸入寄存器的值進(jìn)入第二級(jí)(DAC寄存器)。寄存器)。 當(dāng)當(dāng)LE1有效時(shí),數(shù)據(jù)進(jìn)入第一級(jí)(數(shù)據(jù)輸入寄存器)有效時(shí),數(shù)據(jù)進(jìn)入第一級(jí)(數(shù)據(jù)輸入寄存器) 第九章第九章8051外部接口的外部
11、接口的C編程編程1111數(shù)字接口數(shù)字接口 數(shù)據(jù)輸入寄存器數(shù)據(jù)輸入寄存器”工作在工作在鎖存狀態(tài),而鎖存狀態(tài),而“DACDAC寄存器寄存器”工作在不鎖存狀態(tài)(工作在不鎖存狀態(tài)(LE2LE2始終始終有效,有效,DACDAC寄存器直通),只寄存器直通),只使用一級(jí)緩沖。使用一級(jí)緩沖。 單緩沖方式單緩沖方式1第九章第九章8051外部接口的外部接口的C編程編程1212“數(shù)據(jù)輸入寄存器數(shù)據(jù)輸入寄存器”工作工作在不鎖存狀態(tài)(在不鎖存狀態(tài)(LE1LE1始終始終有效,數(shù)據(jù)輸入寄存器有效,數(shù)據(jù)輸入寄存器直通),而直通),而“DACDAC寄存器寄存器”工作在鎖存狀態(tài)。只使工作在鎖存狀態(tài)。只使用一級(jí)緩沖。用一級(jí)緩沖。數(shù)
12、字接口數(shù)字接口單緩沖方式單緩沖方式2單緩沖方式適用于只有一路模擬量輸出的場(chǎng)合。單緩沖方式適用于只有一路模擬量輸出的場(chǎng)合。第九章第九章8051外部接口的外部接口的C編程編程1313數(shù)字接口數(shù)字接口使用兩級(jí)緩沖使用兩級(jí)緩沖設(shè)設(shè)CSCS由由A15A15A1A1經(jīng)譯碼產(chǎn)生經(jīng)譯碼產(chǎn)生 ILE=1 & CS=0 & WR1=0ILE=1 & CS=0 & WR1=0,DAC0832DAC0832內(nèi)部?jī)?nèi)部LE1LE1有效;有效;WR=0 & XFER=0WR=0 & XFER=0,DAC0832DAC0832內(nèi)部?jī)?nèi)部LE2LE2有效。有效。 在雙緩沖方式,輸入寄存器的鎖存信號(hào)和在雙緩沖方式,輸入寄存器的鎖存
13、信號(hào)和DACDAC寄存器的鎖存信寄存器的鎖存信號(hào)分開控制。號(hào)分開控制。適用于幾個(gè)模擬量需同時(shí)輸出的系統(tǒng)。每一個(gè)模擬量輸出需適用于幾個(gè)模擬量需同時(shí)輸出的系統(tǒng)。每一個(gè)模擬量輸出需一個(gè)一個(gè)DAC0832DAC0832,構(gòu)成多個(gè),構(gòu)成多個(gè)DAC0832DAC0832同步輸出系統(tǒng)。同步輸出系統(tǒng)。第九章第九章8051外部接口的外部接口的C編程編程1414第九章第九章8051外部接口的外部接口的C編程編程1515圖中兩片圖中兩片DAC0832的輸入的輸入寄存器各占一個(gè)單元地址,寄存器各占一個(gè)單元地址,而兩個(gè)而兩個(gè)DAC寄存器占用同寄存器占用同一單元地址。實(shí)現(xiàn)兩片一單元地址。實(shí)現(xiàn)兩片DAC0832的的DAC寄
14、存器占寄存器占用同一單元地址的方法是用同一單元地址的方法是將兩個(gè)傳送允許信號(hào)將兩個(gè)傳送允許信號(hào)XFER相連后,接同一線選端。相連后,接同一線選端。轉(zhuǎn)換操作時(shí),將兩路待轉(zhuǎn)轉(zhuǎn)換操作時(shí),將兩路待轉(zhuǎn)換數(shù)據(jù)分別寫入兩個(gè)換數(shù)據(jù)分別寫入兩個(gè)DAC0832的輸入寄存器;的輸入寄存器;之后將數(shù)據(jù)同時(shí)傳送到兩之后將數(shù)據(jù)同時(shí)傳送到兩個(gè)個(gè)DAC寄存器,傳送的同寄存器,傳送的同時(shí)啟動(dòng)兩路時(shí)啟動(dòng)兩路D/A轉(zhuǎn)換。轉(zhuǎn)換。第九章第九章8051外部接口的外部接口的C編程編程1616兩片兩片DAC0832的輸入寄存器地址分別為的輸入寄存器地址分別為8FFFH和和A7FFH,兩個(gè)芯,兩個(gè)芯片的片的DAC寄存器地址都為寄存器地址都為2
15、FFFH。#include #include #define INPUTR1 XBYTE0 x8fff#define INPUTR2 XBYTE0 xa7ff#define DACR XBYTE0 x2fff#define uchar unsigned charVoid dac2b(uchar data1,uchar data2)INPUTR1=data1; /*數(shù)據(jù)送到輸入寄存器數(shù)據(jù)送到輸入寄存器*/INPUTR2=data2;DACR=0; /*啟動(dòng)兩路啟動(dòng)兩路D/A同時(shí)轉(zhuǎn)換同時(shí)轉(zhuǎn)換*/第九章第九章8051外部接口的外部接口的C編程編程1717第九章第九章8051外部接口的外部接口的C編程
16、編程1818DAC0832ILE接接+5V,始終保持有效。寫信始終保持有效。寫信號(hào)控制數(shù)據(jù)的鎖存,號(hào)控制數(shù)據(jù)的鎖存,WR1與與WR2相連,接相連,接8051的的WR,即數(shù)據(jù)同,即數(shù)據(jù)同時(shí)寫入寄存器;傳送時(shí)寫入寄存器;傳送允許信號(hào)允許信號(hào)XFER與片選與片選CS相連,即選中相連,即選中DAC0832后,寫入數(shù)后,寫入數(shù)據(jù)立即啟動(dòng)轉(zhuǎn)換。據(jù)立即啟動(dòng)轉(zhuǎn)換。第九章第九章8051外部接口的外部接口的C編程編程1919按照片選確定按照片選確定FFFEH為該片為該片DAC0832的地址。的地址。#include #include #define DA0832 XBYTE0 xfffe#define uchar
17、 unsigned char#define uint unsigned intvoid stair(void)while(1) for(i=0;i=255;i+)DA0832=i;第九章第九章8051外部接口的外部接口的C編程編程2020vAD7521是12位的D/A轉(zhuǎn)換器,片內(nèi)不帶輸入寄存器。對(duì)于沒有輸入寄存器的D/A轉(zhuǎn)換器,當(dāng)輸入數(shù)據(jù)變化時(shí),輸出電流或電壓會(huì)消失。在實(shí)際使用中,為控制一個(gè)對(duì)象,往往要求轉(zhuǎn)換后的模擬量保持一定時(shí)間。因此,在這類D/A轉(zhuǎn)換器之前,需增加一個(gè)數(shù)據(jù)鎖存器再與總線相連。由于由于AD7521是是12位數(shù)據(jù)輸入,因此需外加位數(shù)據(jù)輸入,因此需外加12位數(shù)據(jù)鎖存器。這里采用低
18、位數(shù)據(jù)鎖存器。這里采用低8位和高位和高4位位2個(gè)鎖存器,且低個(gè)鎖存器,且低8位用位用2片片74LS377作雙緩沖器,高作雙緩沖器,高4位用位用1片片74LS379作單緩沖寄存器。輸出轉(zhuǎn)換數(shù)據(jù)時(shí),先輸出低作單緩沖寄存器。輸出轉(zhuǎn)換數(shù)據(jù)時(shí),先輸出低8位數(shù)據(jù)到第一級(jí)位數(shù)據(jù)到第一級(jí)緩沖器,然后輸出高緩沖器,然后輸出高4位數(shù)據(jù)到位數(shù)據(jù)到4位緩沖寄存器。在輸出高位緩沖寄存器。在輸出高4位數(shù)據(jù)的同時(shí),位數(shù)據(jù)的同時(shí),把低把低8位數(shù)據(jù)打入第二級(jí)緩沖寄存器,以便位數(shù)據(jù)打入第二級(jí)緩沖寄存器,以便12位數(shù)據(jù)同時(shí)轉(zhuǎn)換。位數(shù)據(jù)同時(shí)轉(zhuǎn)換。第九章第九章8051外部接口的外部接口的C編程編程2121圖中第一級(jí)緩沖器的地址為圖中第
19、一級(jí)緩沖器的地址為7FFFH,第二級(jí)緩沖器和,第二級(jí)緩沖器和4位緩沖器地位緩沖器地址為址為BFFFH。#include #include #define DA7521L XBYTE0 x7fff#define DA7521H XBYTE0 xbfff#define UP 0 x10#define T 1000#define uint unsigned intVoid dlms(uint a);void stair(void)uint I;for(i=0;i=2=2FmFm,則,則Xs(t)Xs(t)保留了保留了X(t )X(t )的全部信息的全部信息(從(從Xs(t)Xs(t)可以不失真地恢復(fù)
20、出可以不失真地恢復(fù)出X(t)X(t))。)。 奈奎斯特采樣頻率奈奎斯特采樣頻率第九章第九章8051外部接口的外部接口的C編程編程24243、A/D轉(zhuǎn)換的參數(shù)轉(zhuǎn)換的參數(shù) (1)模擬量輸入范圍和分辨率模擬量輸入范圍和分辨率 ADC把模擬量轉(zhuǎn)換為數(shù)字,模擬量輸入范圍可以是:把模擬量轉(zhuǎn)換為數(shù)字,模擬量輸入范圍可以是: 例:例:8 8位位ADCADC,單極性輸入,單極性輸入0 05V5V,數(shù)字量為,數(shù)字量為0 0255255,它能分,它能分辨的最小輸入信號(hào)是辨的最小輸入信號(hào)是(5V/256)=20mV(5V/256)=20mV,分辨率,分辨率=2=28 8 =256位1212位位ADCADC,雙極性輸入
21、,雙極性輸入-5V-5V+5V+5V,數(shù)字量為,數(shù)字量為-2048-2048+2047+2047,它能分辨的最小輸入信號(hào)是它能分辨的最小輸入信號(hào)是(10V/4096)=2mV(10V/4096)=2mV,分辨率,分辨率= = 2 21212=4096=4096位位05V010V單極性輸入單極性輸入-5V+5V: 雙極性輸入雙極性輸入轉(zhuǎn)換后的數(shù)字量一般有轉(zhuǎn)換后的數(shù)字量一般有8、10、12、14、16位。位。ADCADC的的分辨率分辨率是指它能夠分辨的最小輸入信號(hào),一般用位數(shù)是指它能夠分辨的最小輸入信號(hào),一般用位數(shù)來表示來表示第九章第九章8051外部接口的外部接口的C編程編程2525(2)轉(zhuǎn)換時(shí)間
22、和轉(zhuǎn)換率)轉(zhuǎn)換時(shí)間和轉(zhuǎn)換率轉(zhuǎn)換時(shí)間轉(zhuǎn)換時(shí)間:ADCADC完成一次轉(zhuǎn)換所需的時(shí)間。完成一次轉(zhuǎn)換所需的時(shí)間。轉(zhuǎn)換率轉(zhuǎn)換率:1 1秒時(shí)間內(nèi)能完成轉(zhuǎn)換的次數(shù),秒時(shí)間內(nèi)能完成轉(zhuǎn)換的次數(shù),kHZkHZ,MHZMHZ。A/D轉(zhuǎn)換的參數(shù)(續(xù))轉(zhuǎn)換的參數(shù)(續(xù)) 第九章第九章8051外部接口的外部接口的C編程編程2626(3)轉(zhuǎn)換精度)轉(zhuǎn)換精度 ADCADC輸出的實(shí)際數(shù)字量與理想數(shù)字量之間有一定誤差,輸出的實(shí)際數(shù)字量與理想數(shù)字量之間有一定誤差,這種誤差由兩部分構(gòu)成:這種誤差由兩部分構(gòu)成:u量化誤差量化誤差量化誤差是把連續(xù)的模擬量轉(zhuǎn)換為離散的數(shù)字量(這一過程量化誤差是把連續(xù)的模擬量轉(zhuǎn)換為離散的數(shù)字量(這一過程稱為量
23、化)時(shí)產(chǎn)生的誤差,它必然存在的,是不可避免的。稱為量化)時(shí)產(chǎn)生的誤差,它必然存在的,是不可避免的。 u器件誤差器件誤差器件誤差是由于器件制造精度、溫度漂移等造成的,可以通器件誤差是由于器件制造精度、溫度漂移等造成的,可以通過提高產(chǎn)品質(zhì)量來降低。過提高產(chǎn)品質(zhì)量來降低。如,如,8 8位位ADCADC,單極性輸入,單極性輸入0 05V5V,數(shù)字量為,數(shù)字量為0 0255255,它的量,它的量化誤差是化誤差是=(1/2)=(1/2)* *(5V/256)=10mV(5V/256)=10mV,如,如, 4.994.995.00V5.00V輸入輸入對(duì)應(yīng)的數(shù)字均為對(duì)應(yīng)的數(shù)字均為255255,這是不可避免的。
24、,這是不可避免的。A/D轉(zhuǎn)換的參數(shù)(續(xù))轉(zhuǎn)換的參數(shù)(續(xù)) 第九章第九章8051外部接口的外部接口的C編程編程27273.轉(zhuǎn)換精度轉(zhuǎn)換精度 A/DA/D轉(zhuǎn)換精度用數(shù)字量的最低有效位(轉(zhuǎn)換精度用數(shù)字量的最低有效位(LSBLSB)來表示。)來表示。 如果模擬量在如果模擬量在(/2)范圍內(nèi),都產(chǎn)生相對(duì)應(yīng)的唯一數(shù)字范圍內(nèi),都產(chǎn)生相對(duì)應(yīng)的唯一數(shù)字量,稱為這個(gè)量,稱為這個(gè)ADC是無誤差的,或者稱其精度為是無誤差的,或者稱其精度為0LSB 如果模擬量在如果模擬量在 范圍內(nèi),都產(chǎn)生相對(duì)應(yīng)的唯一范圍內(nèi),都產(chǎn)生相對(duì)應(yīng)的唯一數(shù)字量,這個(gè)數(shù)字量,這個(gè)ADC的精度為的精度為1/2LSB 如果模擬量在如果模擬量在(+3/4
25、3/4)范圍內(nèi),都產(chǎn)生相對(duì)應(yīng)的范圍內(nèi),都產(chǎn)生相對(duì)應(yīng)的唯一數(shù)字量,這個(gè)唯一數(shù)字量,這個(gè)ADC的精度為的精度為1/4LSB。 A/D轉(zhuǎn)換的參數(shù)(續(xù))轉(zhuǎn)換的參數(shù)(續(xù)) 第九章第九章8051外部接口的外部接口的C編程編程28284、A/D轉(zhuǎn)換的原理和方法轉(zhuǎn)換的原理和方法 A/DA/D轉(zhuǎn)換器按轉(zhuǎn)換原則可分為轉(zhuǎn)換器按轉(zhuǎn)換原則可分為直接直接A/DA/D轉(zhuǎn)換器轉(zhuǎn)換器和和間間接接A/DA/D轉(zhuǎn)換器轉(zhuǎn)換器 u直接直接A/D轉(zhuǎn)換轉(zhuǎn)換把模擬信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào),如逐次逼近型,并聯(lián)比把模擬信號(hào)直接轉(zhuǎn)換為數(shù)字信號(hào),如逐次逼近型,并聯(lián)比較型等較型等u間接間接A/D轉(zhuǎn)換轉(zhuǎn)換 把模擬量轉(zhuǎn)換成中間量,然后再轉(zhuǎn)換為數(shù)字量,如電壓
26、把模擬量轉(zhuǎn)換成中間量,然后再轉(zhuǎn)換為數(shù)字量,如電壓時(shí)間轉(zhuǎn)換型,電壓頻率轉(zhuǎn)換型,電壓脈寬轉(zhuǎn)換型時(shí)間轉(zhuǎn)換型,電壓頻率轉(zhuǎn)換型,電壓脈寬轉(zhuǎn)換型等。等。第九章第九章8051外部接口的外部接口的C編程編程2929START EOC CLK OED7D0VREF(+) VREF(-)ADDCADDBADDAALEIN0IN7比較器比較器8路模路模擬開擬開關(guān)關(guān)逐位逼近寄存器逐位逼近寄存器SAR樹狀開關(guān)樹狀開關(guān)電阻網(wǎng)絡(luò)電阻網(wǎng)絡(luò)三態(tài)三態(tài)輸出輸出鎖存鎖存器器時(shí)序與控制時(shí)序與控制地址地址鎖存鎖存及及譯碼譯碼D/A8個(gè)個(gè)模模擬擬輸輸入入通通道道8選選1ADC0809是是8位逐次逼近型位逐次逼近型A/D轉(zhuǎn)換器,帶轉(zhuǎn)換器,帶
27、8個(gè)模擬量輸入通道,芯片內(nèi)個(gè)模擬量輸入通道,芯片內(nèi)帶通道地址譯碼鎖存器,輸出帶三態(tài)數(shù)據(jù)鎖存器,啟動(dòng)信號(hào)為脈沖啟動(dòng)方帶通道地址譯碼鎖存器,輸出帶三態(tài)數(shù)據(jù)鎖存器,啟動(dòng)信號(hào)為脈沖啟動(dòng)方式,每一通道大約式,每一通道大約100us。第九章第九章8051外部接口的外部接口的C編程編程3030主要引腳如下:主要引腳如下:D7D0:輸出數(shù)據(jù)線(三態(tài)):輸出數(shù)據(jù)線(三態(tài))IN0IN7:8通道(路)模擬輸入通道(路)模擬輸入ADDA、ADDB、ADDC:通道地址(通道選擇):通道地址(通道選擇)ALE:通道地址鎖存:通道地址鎖存START:?jiǎn)?dòng)轉(zhuǎn)換:?jiǎn)?dòng)轉(zhuǎn)換EOC:轉(zhuǎn)換結(jié)束,可用于查詢或作為中斷申請(qǐng):轉(zhuǎn)換結(jié)束,可
28、用于查詢或作為中斷申請(qǐng)OE:輸出允許(打開輸出三態(tài)門):輸出允許(打開輸出三態(tài)門)CLK:時(shí)鐘輸入(:時(shí)鐘輸入(10KHz1.2MHz)VREF(+)、VREF(-):基準(zhǔn)參考電壓:基準(zhǔn)參考電壓ADC0809由兩大部分組成:由兩大部分組成:l 一部分為輸入通道,包括一部分為輸入通道,包括8位模擬開關(guān)、位模擬開關(guān)、3條地址線的鎖存器和條地址線的鎖存器和譯碼器,可實(shí)現(xiàn)譯碼器,可實(shí)現(xiàn)8路模擬輸入通道的選擇;路模擬輸入通道的選擇;l 一部分為逐次逼近型一部分為逐次逼近型 A/D轉(zhuǎn)換器。轉(zhuǎn)換器。第九章第九章8051外部接口的外部接口的C編程編程3131ADC0809的工作過程如下:的工作過程如下:把把通
29、道地址送到通道地址送到ADDAADDC上,選擇模擬輸上,選擇模擬輸入;入; 在通道地址信號(hào)有效期間,在通道地址信號(hào)有效期間,ALE上的上的上升沿該上升沿該地址鎖存到內(nèi)部地址鎖存器;地址鎖存到內(nèi)部地址鎖存器;START引腳上的下降沿啟動(dòng)引腳上的下降沿啟動(dòng)A/D變換;變換; 變換開始后,變換開始后,EOC引腳呈現(xiàn)低電平,引腳呈現(xiàn)低電平, EOC重新重新變?yōu)楦唠娖綍r(shí)表示轉(zhuǎn)換結(jié)束;變?yōu)楦唠娖綍r(shí)表示轉(zhuǎn)換結(jié)束;OE信號(hào)打開信號(hào)打開輸出鎖存器的三態(tài)門送出結(jié)果輸出鎖存器的三態(tài)門送出結(jié)果 。第九章第九章8051外部接口的外部接口的C編程編程3232 單路輸入單路輸入v模擬信號(hào)可固定連接到任何一個(gè)輸入端模擬信號(hào)可
30、固定連接到任何一個(gè)輸入端v地址線根據(jù)輸入線編號(hào)固定連接地址線根據(jù)輸入線編號(hào)固定連接(高電平或低電平高電平或低電平)多路輸入多路輸入v模擬信號(hào)按順序分別連接到輸入端模擬信號(hào)按順序分別連接到輸入端v要轉(zhuǎn)換哪一路輸入,就將其編號(hào)送到地址線上要轉(zhuǎn)換哪一路輸入,就將其編號(hào)送到地址線上(動(dòng)態(tài)動(dòng)態(tài)選擇選擇)單路輸入時(shí)單路輸入時(shí)ADDCADDBADDAIN4輸入輸入多路輸入時(shí)多路輸入時(shí)ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809輸入輸入0輸入輸入1輸入輸入2輸入輸入3輸入輸入4CPU指定指定通道號(hào)通道號(hào)+5V模擬輸入端模擬輸入端INi第九章第九章8051外部接口的外部接口的C編程編程3
31、333 多路輸入時(shí),地址線不能接死,而是要通過一個(gè)接口芯多路輸入時(shí),地址線不能接死,而是要通過一個(gè)接口芯片與數(shù)據(jù)總線連接。接口芯片可以選用:片與數(shù)據(jù)總線連接。接口芯片可以選用:v鎖存器鎖存器74LS273,74LS373等(要占用一個(gè)等(要占用一個(gè)I/O地址)地址)v可編程并行接口可編程并行接口8255(要占用四個(gè)(要占用四個(gè)I/O地址)地址) CPU把通道地址通過接口芯片送給把通道地址通過接口芯片送給0809ADDCADDBADDAIN0IN1IN2IN3IN4ADC0809輸輸入入DB74LS273Q2Q1Q0CP來自來自I/O譯碼譯碼D0-D7ADDCADDBADDAIN0IN1IN2I
32、N3IN4ADC0809DB8255PB2PB1PB0CS#來自來自I/O譯碼譯碼D0-D7A1A0A1A0地址線地址線ADDA-ADDC第九章第九章8051外部接口的外部接口的C編程編程3434 內(nèi)部已接有三態(tài)門,故可直接連到內(nèi)部已接有三態(tài)門,故可直接連到DB上上 也可另外通過一個(gè)輸入接口與也可另外通過一個(gè)輸入接口與DB相連相連上述兩種方法均需占用一個(gè)上述兩種方法均需占用一個(gè)I/O地址地址D0-D7ADC0809DBOE來自來自I/O譯碼譯碼D0-D7ADC0809DBOE來自來自I/O譯碼譯碼直接連直接連DB通過輸入接口連通過輸入接口連DB74LS244+5VDIDOE1#E2#數(shù)據(jù)輸出線
33、數(shù)據(jù)輸出線D0-D7第九章第九章8051外部接口的外部接口的C編程編程3535 兩種連接方法:兩種連接方法:v獨(dú)立連接:用兩個(gè)信號(hào)分別進(jìn)行控制獨(dú)立連接:用兩個(gè)信號(hào)分別進(jìn)行控制需占用兩個(gè)需占用兩個(gè)I/OI/O端口或兩個(gè)端口或兩個(gè)I/OI/O線線( (用用82558255時(shí)時(shí)) );v統(tǒng)一連接:用一個(gè)脈沖信號(hào)的上升沿進(jìn)行地址鎖存,統(tǒng)一連接:用一個(gè)脈沖信號(hào)的上升沿進(jìn)行地址鎖存,下降沿實(shí)現(xiàn)啟動(dòng)轉(zhuǎn)換下降沿實(shí)現(xiàn)啟動(dòng)轉(zhuǎn)換只需占用一個(gè)只需占用一個(gè)I/OI/O端口或一端口或一個(gè)個(gè)I/OI/O線線( (用用82558255時(shí)時(shí)) )。 ADC0809ALESTART獨(dú)立連接獨(dú)立連接來自來自I/O譯碼譯碼1來自來自
34、I/O譯碼譯碼2ADC0809ALESTART統(tǒng)一連接統(tǒng)一連接來自來自I/O譯碼譯碼地址鎖存地址鎖存ALE和啟動(dòng)轉(zhuǎn)換和啟動(dòng)轉(zhuǎn)換START第九章第九章8051外部接口的外部接口的C編程編程3636 軟件延時(shí)等待軟件延時(shí)等待(比如延時(shí)比如延時(shí)1ms)不用不用EOC信號(hào)信號(hào)vCPU效率最低效率最低 軟件查詢軟件查詢EOC狀態(tài)狀態(tài)vEOC通過一個(gè)三態(tài)門連到數(shù)據(jù)總線的通過一個(gè)三態(tài)門連到數(shù)據(jù)總線的D0(其他也可以其他也可以)v三態(tài)門要占用一個(gè)三態(tài)門要占用一個(gè)I/O端口地址端口地址vCPU效率低效率低 把把EOC作為中斷申請(qǐng)信號(hào)作為中斷申請(qǐng)信號(hào)v在中斷服務(wù)程序中讀入轉(zhuǎn)換結(jié)果,效率高。在中斷服務(wù)程序中讀入轉(zhuǎn)換
35、結(jié)果,效率高。轉(zhuǎn)換結(jié)束轉(zhuǎn)換結(jié)束EOCADC0809與系統(tǒng)的連接(續(xù))與系統(tǒng)的連接(續(xù))第九章第九章8051外部接口的外部接口的C編程編程3737ADC0809的啟動(dòng)的啟動(dòng)信號(hào)信號(hào)START由片由片選選P2.7與寫信號(hào)與寫信號(hào)WR的的“或非或非”產(chǎn)產(chǎn)生。要求一條向生。要求一條向ADC0809寫操作寫操作指令來啟動(dòng)轉(zhuǎn)換。指令來啟動(dòng)轉(zhuǎn)換。ALE與與START相相連,即按打入的通連,即按打入的通道地址接通模擬量道地址接通模擬量并啟動(dòng)轉(zhuǎn)換。輸出并啟動(dòng)轉(zhuǎn)換。輸出允許信號(hào)允許信號(hào)OE由讀由讀信號(hào)信號(hào)RD與片選信與片選信號(hào)號(hào)P2.7”或非或非“產(chǎn)產(chǎn)生生,即一條即一條ADC0809的讀操的讀操作使數(shù)據(jù)輸出。作使
36、數(shù)據(jù)輸出。第九章第九章8051外部接口的外部接口的C編程編程3838ADC0809的模擬通道的模擬通道07的地址為的地址為7FF8H7FFFH。從。從ADC0809的的8通道通道輪流采集一次數(shù)據(jù),采集的結(jié)果放在數(shù)組輪流采集一次數(shù)據(jù),采集的結(jié)果放在數(shù)組ad中。中。#include #include #define uchar unsigned char#define IN0 XBYTE0 x7ff8 /*設(shè)置設(shè)置ADC0809的通道的通道0地址地址*/sbit ad_busy=P33; /*EOC狀態(tài)狀態(tài)*/void ad0809(uchar idata *x,uchar n) /*采樣結(jié)果放指
37、針中的采樣結(jié)果放指針中的A/D采集函數(shù)采集函數(shù)*/uchar i;uchar xdata *ad_adr;ad_adr=&IN0;for(i=0;in;i+) /*處理處理8個(gè)通道個(gè)通道*/ *ad_adr=0; /*啟動(dòng)啟動(dòng)A/D轉(zhuǎn)換轉(zhuǎn)換*/ i=i; i=i; /*延時(shí)等待延時(shí)等待*/ while(ad_busy=0); /*查詢等待轉(zhuǎn)換結(jié)束查詢等待轉(zhuǎn)換結(jié)束*/ xi=*ad_adr; /*存轉(zhuǎn)換結(jié)果存轉(zhuǎn)換結(jié)果*/ ad_adr+;void main(void)static uchar idata ad8;ad0809(ad,8);第九章第九章8051外部接口的外部接口的C編程編程3939
38、A/D采樣地址為采樣地址為7FF8H,8位位A/D最大值為最大值為255,用三個(gè)數(shù)碼管,用三個(gè)數(shù)碼管顯示,以顯示,以P3.3為查詢位。為查詢位。#include #define uint unsigned int#define uchar unsigned char #define SAMPLENUM 50sbit ad_busy=P3.3; void ad0809(uchar idata *x) uchar data i; uchar xdata *ad_adr; ad_adr=0 x7ff8; for(i=0;iSAMPLENUM;i+) *ad_adr=0; i=i; i=i; whil
39、e(ad_busy=1); bufi=*ad_adr; P3=0 x01; 第九章第九章8051外部接口的外部接口的C編程編程4040void main(void) uint i, j, m, total; uchar idata bufSAMPLENUM; uchar idata dis3; uchar code tab16=0 x3f,0 x06,0 x5b, 0 x4f, 0 x66, 0 x6d, 0 x7d, 0 x07, 0 x7f, 0 x6f, 0 x77, 0 x7c, 0 x39, 0 x5e, 0 x79, 0 x71;void delay(uchar data delay1) uchar data i,j; for(i=0;idelay1;i+) for(j=0;j=0;i-) total+=bufi-1; total=total/SAMPLENUM; dis0=total%10 total=total/10; dis1=total%10; dis2=total/10; for(m=0;mSAMPLENUM;m+) for(i=0;i3;i+) if(i=0) P3=0 x01; else P3=1; P1=tabdisi; delay(50); 第九章第九章8051外部接口的外部接口的C編程編程4242AD574是
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供暖承包合同
- 裝修總承包合同
- 標(biāo)識(shí)標(biāo)牌制作合同
- 數(shù)據(jù)存儲(chǔ)與分析服務(wù)合同
- 英文服務(wù)合同范本
- 精技術(shù)合作開發(fā)合同
- 合同主體變更協(xié)議
- 房屋買賣居間合同簽訂注意事項(xiàng)
- 關(guān)于固定期限聘用合同
- 公對(duì)公的借款合同正規(guī)范本
- 宮頸癌后裝治療護(hù)理查房課件
- 員工內(nèi)部眾籌方案
- 復(fù)變函數(shù)與積分變換期末考試試卷及答案
- 初中班級(jí)成績(jī)分析課件
- 勞務(wù)合同樣本下載
- 聰明格練習(xí)題(初、中級(jí))
- 血液透析水處理系統(tǒng)演示
- 小批量試制總結(jié)報(bào)告
- 2023年經(jīng)濟(jì)開發(fā)區(qū)工作會(huì)議表態(tài)發(fā)言
- YY/T 0216-1995制藥機(jī)械產(chǎn)品型號(hào)編制方法
- 糖尿病足與周圍血管病01課件
評(píng)論
0/150
提交評(píng)論