第10章 單片機AD及DA轉(zhuǎn)換接口_第1頁
第10章 單片機AD及DA轉(zhuǎn)換接口_第2頁
第10章 單片機AD及DA轉(zhuǎn)換接口_第3頁
第10章 單片機AD及DA轉(zhuǎn)換接口_第4頁
第10章 單片機AD及DA轉(zhuǎn)換接口_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、教學基本要求:教學基本要求: (1 1)、熟悉)、熟悉DAC0832DAC0832的內(nèi)部結(jié)構(gòu)及工作方式;的內(nèi)部結(jié)構(gòu)及工作方式; (2 2)、掌握單片機與)、掌握單片機與DAC0832DAC0832的接口原理;的接口原理; (3 3)、熟悉)、熟悉ADC0809ADC0809的內(nèi)部結(jié)構(gòu)及功能;的內(nèi)部結(jié)構(gòu)及功能; (4 4)、掌握單片機與)、掌握單片機與ADC0809ADC0809的接口原理;的接口原理; 教學重點:教學重點: (1 1)、單片機與)、單片機與DAC0832DAC0832的接口原理;的接口原理; (2 2)、單片機與)、單片機與ADC0809ADC0809的接口原理;的接口原理;

2、教學難點:教學難點: (1 1)、單片機與)、單片機與DAC0832DAC0832接口的程序設計;接口的程序設計; (2 2)、單片機與)、單片機與ADC0809ADC0809接口的程序設計;接口的程序設計; 第第1010章章 單片機單片機A/DA/D及及D/AD/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口 10.1 單片機測控系統(tǒng)與模擬輸入通道單片機測控系統(tǒng)與模擬輸入通道 10.1.1 單片機測控系統(tǒng)概述單片機測控系統(tǒng)概述 測控包含測控包含“測測”與與“控控”兩個過程。兩個過程。 所謂所謂“測測”就是實時采集被控對象的物理參量,諸如溫就是實時采集被控對象的物理參量,諸如溫 度、壓力、流量、速度和轉(zhuǎn)速等。這些參量

3、通常都是模擬度、壓力、流量、速度和轉(zhuǎn)速等。這些參量通常都是模擬 量,即連續(xù)變化的物理量。量,即連續(xù)變化的物理量。 所謂所謂“控控”就是把采集的數(shù)據(jù)經(jīng)單片機計算、比較等處就是把采集的數(shù)據(jù)經(jīng)單片機計算、比較等處 理后得出結(jié)論,以對被控對象實施校正控制。但經(jīng)單片機理后得出結(jié)論,以對被控對象實施校正控制。但經(jīng)單片機 處理后得到的是數(shù)字量結(jié)果。處理后得到的是數(shù)字量結(jié)果。 測控系統(tǒng)離不開模擬量與數(shù)字量的相互轉(zhuǎn)換,因此,模測控系統(tǒng)離不開模擬量與數(shù)字量的相互轉(zhuǎn)換,因此,模/ 數(shù)數(shù)(A/D)與數(shù)與數(shù)/模模(D/A)轉(zhuǎn)換也就成了測控系統(tǒng)的重要內(nèi)容。轉(zhuǎn)換也就成了測控系統(tǒng)的重要內(nèi)容。 10.1.2 模擬輸入通道 模擬

4、輸入通道的工作從采集信號開始。由于傳感器采模擬輸入通道的工作從采集信號開始。由于傳感器采 集到的模擬信號幅值通常很小,而且連續(xù)變化的信號容易集到的模擬信號幅值通常很小,而且連續(xù)變化的信號容易 受到干擾,因此,要對傳感器采集到的原始信號進行放大、受到干擾,因此,要對傳感器采集到的原始信號進行放大、 采樣、保持、濾波等處理后,才能送給采樣、保持、濾波等處理后,才能送給A/D轉(zhuǎn)換器。這一系轉(zhuǎn)換器。這一系 列的處理過程構(gòu)成了模擬輸入通道,如下圖。列的處理過程構(gòu)成了模擬輸入通道,如下圖。 1. 傳感器傳感器 傳感器的主要功能是采集信號,也兼有信號轉(zhuǎn)換功能,即把采集到的傳感器的主要功能是采集信號,也兼有信

5、號轉(zhuǎn)換功能,即把采集到的 非電信號轉(zhuǎn)換為電信號非電信號轉(zhuǎn)換為電信號(電壓或電流電壓或電流),以便于后續(xù)處理。傳感器的種類繁,以便于后續(xù)處理。傳感器的種類繁 多,常用的傳感器有如下幾種:多,常用的傳感器有如下幾種: 溫度傳感器:溫度傳感器: 用于將溫度轉(zhuǎn)換為電信號。用于將溫度轉(zhuǎn)換為電信號。 光電傳感器:利用光電效應將光信號轉(zhuǎn)換為電信號。光電傳感器:利用光電效應將光信號轉(zhuǎn)換為電信號。 濕度傳感器:濕度傳感器: 常用的濕度傳感器有毛發(fā)濕度計、干濕球濕度計、金屬氧常用的濕度傳感器有毛發(fā)濕度計、干濕球濕度計、金屬氧 化物濕敏元件等?;餄衩粼?。 流量傳感器:流量傳感器: 用于測量液體和氣體的流量。常

6、用的流量傳感器有速度式用于測量液體和氣體的流量。常用的流量傳感器有速度式 流量計和容積式流量計等。流量計和容積式流量計等。 壓力傳感器:壓力傳感器: 用于大氣壓力用于大氣壓力(氣壓氣壓)測量和容器壁壓力測量等。測量和容器壁壓力測量等。 機械量傳感器:機械量傳感器: 常用的機械量有拉力、壓力、位移、速度、加速度、扭常用的機械量有拉力、壓力、位移、速度、加速度、扭 矩及荷重等。常見的機械量傳感器有電阻應變片、力傳感器、荷重傳感器、矩及荷重等。常見的機械量傳感器有電阻應變片、力傳感器、荷重傳感器、 位移傳感器和轉(zhuǎn)速傳感器等。位移傳感器和轉(zhuǎn)速傳感器等。 成分分析傳感器:成分分析傳感器: 用于對混合氣體

7、或混合物的成分進行自動分析。用于對混合氣體或混合物的成分進行自動分析。 pH值傳感器:值傳感器: 用于測量水溶液的酸堿度。用于測量水溶液的酸堿度。 2. 放大器放大器 傳感器得到的電壓或電流信號往往幅度較小,難以直傳感器得到的電壓或電流信號往往幅度較小,難以直 接進行接進行A/D轉(zhuǎn)換,需要使用放大器對模擬信號進行放大處轉(zhuǎn)換,需要使用放大器對模擬信號進行放大處 理。理。 放大器的種類很多,但在模擬輸入通道中使用的是一放大器的種類很多,但在模擬輸入通道中使用的是一 種具有高放大倍數(shù)并帶深度負反饋的直接耦合放大器,由種具有高放大倍數(shù)并帶深度負反饋的直接耦合放大器,由 于它可以對輸入信號進行多種數(shù)學運

8、算于它可以對輸入信號進行多種數(shù)學運算(例如比例、加、例如比例、加、 減、積分和微分等減、積分和微分等),所以稱為運算放大器。運算放大器,所以稱為運算放大器。運算放大器 具有輸入阻抗高,增益大,可靠性高,價格低和使用方便具有輸入阻抗高,增益大,可靠性高,價格低和使用方便 等特點。現(xiàn)在已有各種專用或通用的運算放大器可供選擇。等特點。現(xiàn)在已有各種專用或通用的運算放大器可供選擇。 3. 采樣采樣/保持電路保持電路 采樣是為了跟蹤輸入信號的變化,其實質(zhì)是將一個連續(xù)變采樣是為了跟蹤輸入信號的變化,其實質(zhì)是將一個連續(xù)變 化的模擬信號轉(zhuǎn)換為時間上離散的采樣信號,采樣頻率要遠高化的模擬信號轉(zhuǎn)換為時間上離散的采樣

9、信號,采樣頻率要遠高 于模擬信號中的最高頻率成分于模擬信號中的最高頻率成分(一般為一般為2.5倍倍)。 保持則是為了把采樣信號保持一段時間,因為其后的保持則是為了把采樣信號保持一段時間,因為其后的A/D 轉(zhuǎn)換需要有一個時間過程。在保持期間要維持信號的穩(wěn)定,盡轉(zhuǎn)換需要有一個時間過程。在保持期間要維持信號的穩(wěn)定,盡 可能保持信號不變??赡鼙3中盘柌蛔儭?在模擬輸入通道中,采樣電路和保持電路是合在一起的,在模擬輸入通道中,采樣電路和保持電路是合在一起的, 稱為采樣稱為采樣/保持電路。如下圖所示。保持電路。如下圖所示。 4. 濾波器濾波器 濾波可分為模擬濾波和數(shù)字濾波兩種。濾波可分為模擬濾波和數(shù)字濾波

10、兩種。 模擬濾波由電子元器件搭建的濾波電路完成,模擬濾波模擬濾波由電子元器件搭建的濾波電路完成,模擬濾波 又可分為無源和有源兩種。無源濾波是使用無源器件又可分為無源和有源兩種。無源濾波是使用無源器件(電感、電感、 電容和電阻電容和電阻)構(gòu)成的濾波電路。有源濾波器則是用放大器和電構(gòu)成的濾波電路。有源濾波器則是用放大器和電 容、電阻構(gòu)成的濾波電路。容、電阻構(gòu)成的濾波電路。 數(shù)字濾波,就是通過程序?qū)Σ蓸有盘栠M行平滑加工,以數(shù)字濾波,就是通過程序?qū)Σ蓸有盘栠M行平滑加工,以 提高其有用信號,消除或抑制干擾信號。有多種數(shù)字濾波程提高其有用信號,消除或抑制干擾信號。有多種數(shù)字濾波程 序,例如,程序判斷濾波程

11、序、中值濾波程序、算術平均濾序,例如,程序判斷濾波程序、中值濾波程序、算術平均濾 波程序、加權(quán)平均濾波程序、一階滯后濾波程序以及復合濾波程序、加權(quán)平均濾波程序、一階滯后濾波程序以及復合濾 波程序等。波程序等。 與模擬濾波相比,數(shù)字濾波具有眾多優(yōu)點,所以在現(xiàn)代與模擬濾波相比,數(shù)字濾波具有眾多優(yōu)點,所以在現(xiàn)代 測控系統(tǒng)中廣泛使用數(shù)字濾波。數(shù)字濾波不但不需要硬件設測控系統(tǒng)中廣泛使用數(shù)字濾波。數(shù)字濾波不但不需要硬件設 備,而且使用也很方便,只需在程序進入數(shù)據(jù)處理或控制算備,而且使用也很方便,只需在程序進入數(shù)據(jù)處理或控制算 法前,附加一段濾波程序即可。法前,附加一段濾波程序即可。 A/D轉(zhuǎn)換器:實現(xiàn)模擬

12、量轉(zhuǎn)換器:實現(xiàn)模擬量數(shù)字量的轉(zhuǎn)換。數(shù)字量的轉(zhuǎn)換。 1. 按原理劃分的芯片類型按原理劃分的芯片類型 積分型積分型A/D轉(zhuǎn)換器。也稱雙斜率或多斜率轉(zhuǎn)換器。也稱雙斜率或多斜率A/D轉(zhuǎn)換器。轉(zhuǎn)換器。 應用最為廣泛,具有精度高、抗干擾能力強等優(yōu)點。應用最為廣泛,具有精度高、抗干擾能力強等優(yōu)點。 逐次逼近型逐次逼近型A/D轉(zhuǎn)換器。原理簡單,便于實現(xiàn),不存轉(zhuǎn)換器。原理簡單,便于實現(xiàn),不存 在時間延遲問題。在時間延遲問題。 閃爍型閃爍型A/D轉(zhuǎn)換器。最大特點是速度快,但功耗大且轉(zhuǎn)換器。最大特點是速度快,但功耗大且 電路復雜,所以芯片尺寸也比較大。電路復雜,所以芯片尺寸也比較大。 型型A/D轉(zhuǎn)換器。又稱為過采樣

13、轉(zhuǎn)換器。又稱為過采樣A/D轉(zhuǎn)換器。雖然出轉(zhuǎn)換器。雖然出 現(xiàn)得較晚,但卻具有分辨率高,價格便宜以及抗干擾現(xiàn)得較晚,但卻具有分辨率高,價格便宜以及抗干擾 能力強等優(yōu)點。能力強等優(yōu)點。 10.2 A/D 轉(zhuǎn)換器轉(zhuǎn)換器 2. 輸入電壓信號形式輸入電壓信號形式 單極性電壓信號,各種單極性電壓信號,各種A/D轉(zhuǎn)換芯片都具有這種輸入轉(zhuǎn)換芯片都具有這種輸入 形式。一般可允許電壓變化范圍是形式。一般可允許電壓變化范圍是0+5 V、0+10 V 和和0+20 V等。等。 雙極形式的電壓信號,可正可負,雖然還是通過一條雙極形式的電壓信號,可正可負,雖然還是通過一條 引線輸入,但芯片上需要有一對極性相反的工作電源引線

14、輸入,但芯片上需要有一對極性相反的工作電源 與之配合。與之配合。 差分信號是不共地的電壓信號,兩個極性的差分信號差分信號是不共地的電壓信號,兩個極性的差分信號 需要兩條信號線輸入,在芯片上表示為需要兩條信號線輸入,在芯片上表示為VIN+和和VIN-。 差分電壓信號可以從非差分電壓信號可以從非0 V開始,其變化范圍可以是開始,其變化范圍可以是 2 V、4 V、5 V和和10 V等等。 3. 輸出二進制代碼形式輸出二進制代碼形式 二進制碼二進制碼A/D轉(zhuǎn)換芯片輸出的是二進制代碼,其位數(shù)可分為轉(zhuǎn)換芯片輸出的是二進制代碼,其位數(shù)可分為 8位、位、10位、位、12位、位、14位、位、16位、位、20位和

15、位和24位等。位等。 BCD碼碼A/D轉(zhuǎn)換芯片輸出的是多位轉(zhuǎn)換芯片輸出的是多位BCD碼,這類轉(zhuǎn)換芯片的碼,這類轉(zhuǎn)換芯片的 典型應用是在數(shù)字電壓表中,輸出的典型應用是在數(shù)字電壓表中,輸出的BCD碼可直接送碼可直接送LED或或 LCD進行顯示。常見的進行顯示。常見的BCD碼碼A/D轉(zhuǎn)換芯片的位數(shù)有轉(zhuǎn)換芯片的位數(shù)有3位半、位半、 4位半和位半和5位半等。位半等。 4. A/D轉(zhuǎn)換器分辨率轉(zhuǎn)換器分辨率 A/D轉(zhuǎn)換器,被轉(zhuǎn)換量是電壓,所以分辨率是對輸入電轉(zhuǎn)換器,被轉(zhuǎn)換量是電壓,所以分辨率是對輸入電 壓信號變化的分辨能力,壓信號變化的分辨能力, A/D轉(zhuǎn)換器位數(shù)越多,分辨率的轉(zhuǎn)換器位數(shù)越多,分辨率的 值越

16、小,分辨能力就越強,亦即轉(zhuǎn)換器對輸入量變化的敏值越小,分辨能力就越強,亦即轉(zhuǎn)換器對輸入量變化的敏 感程度也就越高。所以選擇感程度也就越高。所以選擇A/D轉(zhuǎn)換器時,要把位數(shù)放在重轉(zhuǎn)換器時,要把位數(shù)放在重 要的位置。要的位置。 5. A/D轉(zhuǎn)換器的控制信號轉(zhuǎn)換器的控制信號 A/D轉(zhuǎn)換芯片中有一些控制信號,包括時鐘信號、轉(zhuǎn)換轉(zhuǎn)換芯片中有一些控制信號,包括時鐘信號、轉(zhuǎn)換 啟動信號和轉(zhuǎn)換結(jié)束信號等,接口連接時要對這些信號進啟動信號和轉(zhuǎn)換結(jié)束信號等,接口連接時要對這些信號進 行處理。行處理。 (1)時鐘信號)時鐘信號 時鐘信號時鐘信號A/D轉(zhuǎn)換需要時鐘信號的配合,有些轉(zhuǎn)換需要時鐘信號的配合,有些A/D轉(zhuǎn)換

17、轉(zhuǎn)換 芯片芯片(例如例如AD571等等)內(nèi)部有時鐘電路。另外一些內(nèi)部有時鐘電路。另外一些A/D轉(zhuǎn)換芯轉(zhuǎn)換芯 片片(例如例如ADC0808/0809等等)內(nèi)部沒有時鐘電路,所需時鐘信內(nèi)部沒有時鐘電路,所需時鐘信 號由外界提供。號由外界提供。 (2)轉(zhuǎn)換啟動信號)轉(zhuǎn)換啟動信號 轉(zhuǎn)換啟動信號轉(zhuǎn)換啟動信號應由轉(zhuǎn)換啟動信號轉(zhuǎn)換啟動信號應由CPU提供,不同型號的提供,不同型號的 A/D轉(zhuǎn)換芯片對轉(zhuǎn)換啟動信號的要求不盡相同。有的要求脈轉(zhuǎn)換芯片對轉(zhuǎn)換啟動信號的要求不盡相同。有的要求脈 沖信號啟動,例如沖信號啟動,例如ADC0804、ADC0809等芯片,而有的芯片等芯片,而有的芯片 則要求電平信號啟動,例如則

18、要求電平信號啟動,例如AD570、AD571和和AD574等等 。 6. 轉(zhuǎn)換結(jié)束與數(shù)據(jù)讀取轉(zhuǎn)換結(jié)束與數(shù)據(jù)讀取 A/D轉(zhuǎn)換后得到的數(shù)字量數(shù)據(jù)應及時傳送給單片機進轉(zhuǎn)換后得到的數(shù)字量數(shù)據(jù)應及時傳送給單片機進 行處理,在數(shù)據(jù)轉(zhuǎn)換完成后,進行讀取。行處理,在數(shù)據(jù)轉(zhuǎn)換完成后,進行讀取。 (1)定時等待方式)定時等待方式 對于一個對于一個A/D轉(zhuǎn)換芯片來說,轉(zhuǎn)換時間作為一項技術指轉(zhuǎn)換芯片來說,轉(zhuǎn)換時間作為一項技術指 標是已知且固定的,可用延時的方法等待轉(zhuǎn)換結(jié)束,此即標是已知且固定的,可用延時的方法等待轉(zhuǎn)換結(jié)束,此即 定時等待方式。定時等待方式。 (2)查詢方式)查詢方式 A/D轉(zhuǎn)換芯片都提供表明轉(zhuǎn)換完成的

19、狀態(tài)信號,可以用轉(zhuǎn)換芯片都提供表明轉(zhuǎn)換完成的狀態(tài)信號,可以用 查詢方式,通過測試狀態(tài)就可以知道轉(zhuǎn)換是否完成。查詢方式,通過測試狀態(tài)就可以知道轉(zhuǎn)換是否完成。 (3)中斷方式)中斷方式 表明轉(zhuǎn)換是否完成的狀態(tài)信號表明轉(zhuǎn)換是否完成的狀態(tài)信號(ADC0809為為EOC)都可作為都可作為 中斷請求信號使用,從而可采用中斷方式進行轉(zhuǎn)換數(shù)據(jù)的中斷請求信號使用,從而可采用中斷方式進行轉(zhuǎn)換數(shù)據(jù)的 傳送。傳送。 10.2.1 810.2.1 8位位A/DA/D轉(zhuǎn)換器芯片與轉(zhuǎn)換器芯片與80C5180C51接口接口 ADC0809采用逐次逼近式采用逐次逼近式A/D轉(zhuǎn)換原理,可實現(xiàn)轉(zhuǎn)換原理,可實現(xiàn)8路路 模擬信號的分時

20、采集,片內(nèi)有模擬信號的分時采集,片內(nèi)有8路模擬選通開關,以及相路模擬選通開關,以及相 應的通道地址鎖存與譯碼電路,轉(zhuǎn)換時間為應的通道地址鎖存與譯碼電路,轉(zhuǎn)換時間為100 s左右。左右。 ADC0809的內(nèi)部邏輯結(jié)構(gòu)如下圖所示。的內(nèi)部邏輯結(jié)構(gòu)如下圖所示。 圖中多路開關可選通圖中多路開關可選通8個模擬通道,允許個模擬通道,允許8路模擬量分時路模擬量分時 輸入,共用一個輸入,共用一個A/D轉(zhuǎn)換芯片進行轉(zhuǎn)換。地址鎖存與譯碼電轉(zhuǎn)換芯片進行轉(zhuǎn)換。地址鎖存與譯碼電 路完成對路完成對A、B、C 3個地址位進行鎖存和譯碼,其譯碼輸出個地址位進行鎖存和譯碼,其譯碼輸出 用于通道選擇。用于通道選擇。8位位A/D轉(zhuǎn)換

21、器是逐次逼近式。輸出鎖存器轉(zhuǎn)換器是逐次逼近式。輸出鎖存器 用于存放和輸出轉(zhuǎn)換得到的數(shù)字量。用于存放和輸出轉(zhuǎn)換得到的數(shù)字量。 2 2、信號引腳、信號引腳 ADC 0809ADC 0809轉(zhuǎn)換器芯片為轉(zhuǎn)換器芯片為2828引腳,雙列直插式(引腳,雙列直插式(DIPDIP)封裝。)封裝。 D0 ADC0809 1 2 3 4 5 6 7 8 9 10 11 12 13 1415 16 17 18 19 20 21 22 23 24 25 26 27 28 D2 Vref(-) D4 D5 D6 D7 ALE ADDC ADDB ADDA IN0 IN1 IN2IN3 IN4 IN5 IN6 IN7 S

22、TART EOC D3 OE CLOCK VCC Vref(+) GND D1 (1 1)、)、IN7IN7IN0IN0:模擬量輸入通道;:模擬量輸入通道; ADC0809ADC0809對輸入模擬量的要求主要有:信號單極性,電壓范圍對輸入模擬量的要求主要有:信號單極性,電壓范圍 0 05 V5 V,若信號過小還需進行放大。另外,在,若信號過小還需進行放大。另外,在A/DA/D轉(zhuǎn)換過程中,轉(zhuǎn)換過程中, 模擬量輸入的值不應變化太快,因此,對變化速度快的模擬量,模擬量輸入的值不應變化太快,因此,對變化速度快的模擬量, 在輸入前應增加采樣保持電路。在輸入前應增加采樣保持電路。 (2 2)、)、A A、

23、B B、C C:地址線;:地址線; A A為低位地址,為低位地址,C C為高位地址,用于對模擬通道進行選擇;為高位地址,用于對模擬通道進行選擇; C B A 選擇的通道選擇的通道 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 (3 3)、)、ALEALE:地址鎖存允許信號;:地址鎖存允許信號; 在對應在對應ALEALE上跳沿,上跳沿,A A、B B、C C地址狀態(tài)送入地址鎖存器中;地址狀態(tài)送入地址鎖存器中; (4 4)、)、STARTSTART:轉(zhuǎn)換啟動信號;:轉(zhuǎn)換啟動信號; ST

24、ARTSTART上跳沿時,所有內(nèi)部寄存器清上跳沿時,所有內(nèi)部寄存器清0 0;STARTSTART下跳沿時,開下跳沿時,開 始進行始進行A/DA/D轉(zhuǎn)換;在轉(zhuǎn)換;在A/DA/D轉(zhuǎn)換期間,轉(zhuǎn)換期間,STARTSTART應保持低電平;應保持低電平; (5 5)、)、D7D7D0D0:數(shù)據(jù)輸出線;:數(shù)據(jù)輸出線; (6 6)、)、OEOE:輸出允許信號;:輸出允許信號; 用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。用于控制三態(tài)輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。 OE=0OE=0,輸出數(shù)據(jù)線呈高電阻;,輸出數(shù)據(jù)線呈高電阻;OE=1OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);,輸出轉(zhuǎn)換得到的數(shù)據(jù); (7 7)、

25、)、CLKCLK:時鐘信號,通常使用頻率為:時鐘信號,通常使用頻率為500kHz500kHz的時鐘信號;的時鐘信號; (8 8)、)、EOCEOC:轉(zhuǎn)換結(jié)束狀態(tài)信號。:轉(zhuǎn)換結(jié)束狀態(tài)信號。 EOC=0EOC=0,正在進行轉(zhuǎn)換;,正在進行轉(zhuǎn)換;EOC=1EOC=1,轉(zhuǎn)換結(jié)束。該狀態(tài)信號既可,轉(zhuǎn)換結(jié)束。該狀態(tài)信號既可 作為查詢的狀態(tài)標志,又可以作為中斷請求信號使用;作為查詢的狀態(tài)標志,又可以作為中斷請求信號使用; (9 9)、)、VCCVCC:+5 V+5 V電源;電源; (1010)、)、VrefVref:參考電源。:參考電源。 參考電壓用來與輸入的模擬信號進行比較,作為逐次逼近的參考電壓用來與輸

26、入的模擬信號進行比較,作為逐次逼近的 基準。其典型值為基準。其典型值為+5 V+5 V(Vref (+) =+5 VVref (+) =+5 V,Vref(-) =0 VVref(-) =0 V) 。 10.2.210.2.2、MCS-51MCS-51單片機與單片機與ADC 0809ADC 0809接口接口 8路模擬通道選擇信號路模擬通道選擇信號A、B、C分別接最低分別接最低3位地址位地址A0、A1、 A2(即(即P0.0、P0.1、P0.2),而地址鎖存允許信號),而地址鎖存允許信號ALE由由P2.0 控制,則控制,則8路模擬通道的地址為路模擬通道的地址為FEF8HFEFFH 。 4 4、應

27、用舉例、應用舉例 設計一個設計一個8 8路模擬量輸入的巡回檢測系統(tǒng),采樣數(shù)據(jù)依次存放路模擬量輸入的巡回檢測系統(tǒng),采樣數(shù)據(jù)依次存放 在片外在片外RAM 0A0HRAM 0A0H0A7H0A7H單元中,單元中,ADC 0809ADC 0809的的8 8路通道路通道IN0IN0IN7IN7的的 地址分別為地址分別為FEF8HFEF8HFEFFHFEFFH,其數(shù)據(jù)采樣的初始化程序和中斷服務,其數(shù)據(jù)采樣的初始化程序和中斷服務 程序如下:程序如下: 設計思路:設計思路: 執(zhí)行一條執(zhí)行一條“MOVX DPTR,A”指令,產(chǎn)生指令,產(chǎn)生WR信號,信號, 使使ALE和和START有效,就可以啟動一次有效,就可以

28、啟動一次A/D轉(zhuǎn)換。但一轉(zhuǎn)換。但一 次啟動只能進行一個通道的轉(zhuǎn)換,次啟動只能進行一個通道的轉(zhuǎn)換,8個通道的個通道的A/D轉(zhuǎn)換需轉(zhuǎn)換需 按通道順序逐個進行。為此,在程序中應當有改變通道按通道順序逐個進行。為此,在程序中應當有改變通道 號的指令,并且每改變一次就執(zhí)行一次啟動號的指令,并且每改變一次就執(zhí)行一次啟動A/D轉(zhuǎn)換指轉(zhuǎn)換指 令。令。 初始化程序:初始化程序: ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ORG 0013H ORG 0013H LJMP ADCLJMP ADC ORG 0100HORG 0100H MAIN:MOV R0, #0A0H ; MA

29、IN:MOV R0, #0A0H ;數(shù)據(jù)存儲區(qū)首址數(shù)據(jù)存儲區(qū)首址 MOV R2, #08H ;MOV R2, #08H ;通道計數(shù)通道計數(shù) SETB IT1 ;SETB IT1 ;邊沿觸發(fā)方式邊沿觸發(fā)方式, ,下降沿下降沿 SETB EA ;SETB EA ;中斷允許中斷允許 SETB EX1 ;SETB EX1 ;外部中斷外部中斷1 1允許允許 MOV DPTR, #0FEF8H ;MOV DPTR, #0FEF8H ;通道首地址通道首地址 LOOPLOOP: MOVX DPTRMOVX DPTR,A ;A ;啟動啟動A/DA/D轉(zhuǎn)換轉(zhuǎn)換 LCALL DELY1MSLCALL DELY1MS

30、 DJNZ R2 DJNZ R2, LOOPLOOP LJMP MAINLJMP MAIN 中斷服務程序:中斷服務程序: ORG 0500H ADC:MOVX A, DPTR;讀;讀A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果 MOVX R0, A ;存數(shù);存數(shù) INC DPTR ;更新通道;更新通道 INC R0 ;更新暫存單元;更新暫存單元 RETI ;返回;返回 # include # include # define uchar unsigned char # define IN0 XBYTE 0 x7ff8 /* 設置設置AD0809的通道的通道0地址地址 */ uchar k; uchar xdata

31、*ad_adr; uchar idata ad10; void main() uchar i; while(1) IT1=1; EA=1; EX1=1; ad_adr= k=0; for ( i=0 ; i8 ;i+ ) /* 處理處理8通道通道 */ *ad_adr=0 ; /* 啟動轉(zhuǎn)換啟動轉(zhuǎn)換 */ daly1ms(); void INTT1( ) interrupt 2void INTT1( ) interrupt 2 adk= adk= * * ad_adr ; ad_adr ; ad_adr + ; /ad_adr + ; /* * 下一通道下一通道 * */ / k +;k +;

32、 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0, #0A0H; MOV R2, #08H; MOV DPTR,#0FEF8H; LOOP: MOVX DPTR,A ; 啟動轉(zhuǎn)換啟動轉(zhuǎn)換 LOOPP: JB P3.3, LOOPP 查詢轉(zhuǎn)換是否結(jié)束查詢轉(zhuǎn)換是否結(jié)束 MOVX A, DPTR;讀;讀A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果 MOVX R0, A ;存數(shù);存數(shù) INC DPTR ;更新通道;更新通道 INC R0 ;更新暫存單元;更新暫存單元 DJNZ R2, LOOP LJMP MAIN END 用查詢法實現(xiàn):用查詢法實現(xiàn): 采用查詢方式,采集結(jié)果放在數(shù)組采用

33、查詢方式,采集結(jié)果放在數(shù)組ad中:中: # include # include # define uchar unsigned char # define IN0 XBYTE 0 x7ff8 /* 設置設置AD0809的通道的通道0地址地址 */ sbit ad_busy =P33 ; /* 即即EOC狀態(tài)狀態(tài) */ void ad0809 ( uchar idata *x ) /* 采樣結(jié)果放指針中的采樣結(jié)果放指針中的A/D采集函數(shù)采集函數(shù) */ uchar i ; uchar xdata *ad_adr ; ad_adr= char code dis_code=0 xc0,0 xf9,0

34、xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 xff; char find_code=10,10,10,10; void DelayX1ms(uint count) uint j; while(count-!=0) for(j=0;j80;j+); void main() uint data1; ADC0809=0; while(1) do display(); while(EOC); ADC0809=0; data1=ADC0809; find_code0=data1/51; /個位個位 find_code1=data1%51*10/51;

35、/小數(shù)點后第一位小數(shù)點后第一位 find_code2=data1%51*10%51*10/51; /小數(shù)點后兩位小數(shù)點后兩位 display(); void display() char k; P2=0 x10; k=find_code2; P1=dis_codek; DelayX1ms(1); P2=0 x08; k=find_code1; P1=dis_codek; DelayX1ms(1); P2=0 x04; k=find_code0; P1=dis_codek; DelayX1ms(1); 10.3 D/A10.3 D/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口 10.3.1 D/A10.3.1 D/A

36、轉(zhuǎn)換芯片轉(zhuǎn)換芯片 1 1、概述、概述 D/AD/A轉(zhuǎn)換器輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換后輸出的是模擬量。轉(zhuǎn)換器輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換后輸出的是模擬量。 D/AD/A轉(zhuǎn)換器按輸出形式可分為:轉(zhuǎn)換器按輸出形式可分為: (1 1)、電壓輸出形式)、電壓輸出形式 輸入:二進制數(shù)或輸入:二進制數(shù)或BCDBCD碼數(shù)碼數(shù) 輸出:電壓輸出:電壓 (2 2)、電流輸出形式)、電流輸出形式 輸入:二進制數(shù)或輸入:二進制數(shù)或BCDBCD碼數(shù)碼數(shù) 輸出:電流輸出:電流 D/A D/A轉(zhuǎn)換器按其內(nèi)部是否含有鎖存器可分為:轉(zhuǎn)換器按其內(nèi)部是否含有鎖存器可分為: (1 1)、內(nèi)部無)、內(nèi)部無數(shù)據(jù)鎖存器數(shù)據(jù)鎖存器的的D/AD/A轉(zhuǎn)換器

37、轉(zhuǎn)換器 (2 2)、內(nèi)部有)、內(nèi)部有數(shù)據(jù)鎖存器數(shù)據(jù)鎖存器的的D/AD/A轉(zhuǎn)換器轉(zhuǎn)換器 2 2、技術指標、技術指標 D/AD/A轉(zhuǎn)換器的技術性能指標:轉(zhuǎn)換器的技術性能指標: 絕對精度、相對精度、線性度、輸出電壓范圍、溫度系數(shù)、輸絕對精度、相對精度、線性度、輸出電壓范圍、溫度系數(shù)、輸 入數(shù)字代碼種類(二進制或入數(shù)字代碼種類(二進制或BCDBCD碼)等。碼)等。 (1 1)、)、分辯率分辯率 分辨率是分辨率是D/AD/A轉(zhuǎn)換器對輸入量變化敏感程度的描述,與輸入數(shù)轉(zhuǎn)換器對輸入量變化敏感程度的描述,與輸入數(shù) 字量的位數(shù)有關。字量的位數(shù)有關。 如果數(shù)字量的位數(shù)為如果數(shù)字量的位數(shù)為n n,則,則D/AD/A

38、轉(zhuǎn)換器的分辨率為轉(zhuǎn)換器的分辨率為2 2-n -n。這就意味 。這就意味 著數(shù)著數(shù)/ /模轉(zhuǎn)換器能對滿刻度的模轉(zhuǎn)換器能對滿刻度的2 2-n -n輸入量作出反應。 輸入量作出反應。 使用時,應根據(jù)分辨率的需要來選定轉(zhuǎn)換器的位數(shù)。使用時,應根據(jù)分辨率的需要來選定轉(zhuǎn)換器的位數(shù)。DACDAC??沙??分為分為8 8位、位、1010位、位、1212位三種。位三種。 (2 2)、)、建立時間建立時間 建立時間是描述建立時間是描述D/AD/A轉(zhuǎn)換速度快慢的一個參數(shù),指從輸入數(shù)字轉(zhuǎn)換速度快慢的一個參數(shù),指從輸入數(shù)字 量變化到輸出達到終值誤差量變化到輸出達到終值誤差(1/21/2)LSBLSB(最低有效位)時所需

39、(最低有效位)時所需 的時間。通常以建立時間來表示轉(zhuǎn)換速度。的時間。通常以建立時間來表示轉(zhuǎn)換速度。 3 3、典型、典型D/AD/A轉(zhuǎn)換器芯片轉(zhuǎn)換器芯片DAC 0832DAC 0832 DAC0832 DAC0832是一個是一個8 8位位D/AD/A轉(zhuǎn)換器。單電源供電,從轉(zhuǎn)換器。單電源供電,從+5 V+5 V+15 V+15 V均可均可 正常工作?;鶞孰妷旱姆秶鸀檎9ぷ鳌;鶞孰妷旱姆秶鸀?0 V10 V;電流建立時間為;電流建立時間為1 s1 s; CMOSCMOS工藝,低功耗工藝,低功耗20 mW20 mW。 DAC0832DAC0832轉(zhuǎn)換器芯片為轉(zhuǎn)換器芯片為2020引腳,雙列直插式(引腳

40、,雙列直插式(DIPDIP)封裝。)封裝。 DAC 0832 1 2 3 4 5 6 7 8 9 10 CSVCC ILE WR2 XFER DI4 DI5 DI6 DI7 Iout2 Iout1 WR1 AGND DI3 DI2 DI1 DI0 Vref Rfb DGND11 12 13 14 15 16 17 18 19 20 Iout2 Iout1 Rfb 電平輸出 DI7DI0: 轉(zhuǎn)換數(shù)據(jù)輸入轉(zhuǎn)換數(shù)據(jù)輸入 。 CS: 片選信號片選信號(輸入輸入),低電平有效。,低電平有效。 ILE: 數(shù)據(jù)鎖存允許信號數(shù)據(jù)鎖存允許信號(輸入),高電平有效。輸入),高電平有效。 WR1: 第第1寫信號寫信

41、號(輸入),低電平有效。輸入),低電平有效。 XFER: 數(shù)據(jù)傳送控制信號數(shù)據(jù)傳送控制信號(輸入),低電平有效。輸入),低電平有效。 WR2: 第第2寫信號寫信號(輸入輸入),低電平有效。,低電平有效。 IOUT1: 電流輸出電流輸出1。當數(shù)據(jù)為全。當數(shù)據(jù)為全1時,輸出電流最大;為全時,輸出電流最大;為全0時,時, 輸出電流最小。輸出電流最小。 IOUT2: 電流輸出電流輸出2。 RFB: 反饋電阻端,即運算放大器的反饋電阻端,電阻反饋電阻端,即運算放大器的反饋電阻端,電阻(15 k)已已 固化在芯片中。固化在芯片中。DAC0832是電流輸出型是電流輸出型D/A轉(zhuǎn)換器,為得到電壓轉(zhuǎn)換器,為得到

42、電壓 的轉(zhuǎn)換輸出,使用時需在兩個電流輸出端接運算放大器,的轉(zhuǎn)換輸出,使用時需在兩個電流輸出端接運算放大器,RFB即即 為運算放大器的反饋電阻。為運算放大器的反饋電阻。 VREF: 基準電壓,是外加高精度電壓源,與芯片內(nèi)的電阻網(wǎng)絡基準電壓,是外加高精度電壓源,與芯片內(nèi)的電阻網(wǎng)絡 相連接,該電壓可正可負,范圍為相連接,該電壓可正可負,范圍為-10+10 V。基準電壓決定。基準電壓決定D/A 轉(zhuǎn)換器的輸出電壓范圍,例如,若轉(zhuǎn)換器的輸出電壓范圍,例如,若VREF接接+10 V,則輸出電壓范,則輸出電壓范 圍是圍是0-10 V。 DGND: 數(shù)字地數(shù)字地 。 AGND: 模擬地模擬地 DAC0832的內(nèi)

43、部結(jié)構(gòu)框圖如下圖所示。輸入通道由輸?shù)膬?nèi)部結(jié)構(gòu)框圖如下圖所示。輸入通道由輸 入寄存器和入寄存器和DAC寄存器構(gòu)成兩級數(shù)據(jù)輸入鎖存,由寄存器構(gòu)成兩級數(shù)據(jù)輸入鎖存,由3個個“與與” 門電路組成控制邏輯,產(chǎn)生門電路組成控制邏輯,產(chǎn)生LE1和和LE2信號,分別對兩個輸信號,分別對兩個輸 入寄存器進行控制。入寄存器進行控制。 10.3.2 DAC0832單緩沖連接方式 所謂單緩沖連接方式,就是使所謂單緩沖連接方式,就是使DAC0832DAC0832的兩個輸入的兩個輸入 寄存器中有一個寄存器中有一個( (多為多為DACDAC寄存器寄存器) )處于直通狀態(tài),另一個處于直通狀態(tài),另一個 處于受控的鎖存狀態(tài)。在實

44、際應用中,如果只有一路模處于受控的鎖存狀態(tài)。在實際應用中,如果只有一路模 擬量輸出,或雖是多路模擬量輸出但并不要求輸出同步擬量輸出,或雖是多路模擬量輸出但并不要求輸出同步 的情況下,就應當采用單緩沖方式。其連接如下圖所示。的情況下,就應當采用單緩沖方式。其連接如下圖所示。 【例【例10.2】鋸齒波的生成。在一些控制應用中,需要有】鋸齒波的生成。在一些控制應用中,需要有 一個線性增長的電壓一個線性增長的電壓(鋸齒波鋸齒波)來控制檢測過程,移動來控制檢測過程,移動 記錄筆或移動電子束等。對此可通過在記錄筆或移動電子束等。對此可通過在DAC0832的輸?shù)妮?出端接運算放大器,由運算放大器產(chǎn)生鋸齒波來

45、實現(xiàn),出端接運算放大器,由運算放大器產(chǎn)生鋸齒波來實現(xiàn), 其電路連接如下圖所示。其電路連接如下圖所示。 ORG 0000H LJMP DASAW ORG 0200H DASAW:MOV DPTR, #5000H ;輸入寄存器地址輸入寄存器地址 MOV R0, #00H;轉(zhuǎn)換初值轉(zhuǎn)換初值 WW: MOV A, R0 MOVX DPTR, A ;D/A轉(zhuǎn)換轉(zhuǎn)換 INC R0;轉(zhuǎn)換值增量轉(zhuǎn)換值增量 NOP ;延時延時 NOP NOP AJMP WW END 程序清單(假定輸入寄存器地址為5000H ) # include # include # define DA0832 XBYTE 0 x7fff

46、# define uchar unsigned char # define uint unsigned int void main (void ) uchar i ; while ( 1 ) for ( i=0 ; i=255 ; i=i+ ) /* 形成鋸齒波輸出值,最大值為形成鋸齒波輸出值,最大值為255 */ DA0832 = i ; /* D/A轉(zhuǎn)換輸出轉(zhuǎn)換輸出 */ 設計一個簡單的單片機應用系統(tǒng),利用設計一個簡單的單片機應用系統(tǒng),利用DAC0832輸出連續(xù)輸出連續(xù) 周期性信號周期性信號 。按下。按下K0,產(chǎn)生方波;按下,產(chǎn)生方波;按下K1,產(chǎn)生鋸齒波;按,產(chǎn)生鋸齒波;按 下下K2,產(chǎn)

47、生三角波;按下,產(chǎn)生三角波;按下K3,產(chǎn)生正弦波。,產(chǎn)生正弦波。 MAIN: MOV DPTR, #7FFFH LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.2, KEYCC JB ACC.3, KEYDD LJMP MAIN KEYAA: MOV R0, #00H WW1: MOV A, #00H MOVX DPTR, A INC R0 CJNE R0, #8FH, WW1 WW2: MOV A, #0FFH MOVX DPTR, A DJNZ R0, WW2 LCALL KEY MOV A, 20H JB ACC.1

48、, KEYBB JB ACC.2, KEYCC JB ACC.3, KEYDD LJMP KEYAA KEYBB: MOV R0, #0FFH WW3: MOV A, R0 MOVX DPTR, A DEC R0 CJNE R0, #00H, WW3 LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.2, KEYCC JB ACC.3, KEYDD LJMP KEYBB KEYCC: MOV R0, #00H WW4: MOV A, R0 MOVX DPTR, A INC R0 CJNE R0, #0FFH, WW4 WW5: MOV A, R0 MOVX

49、 DPTR, A DEC R0 CJNE R0, #00H, WW5 LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.3, KEYDD LJMP KEYCC KEYDD: MOV R7, #00H WW6: MOV DPTR, #DK MOV A, R7 MOVC A, A+DPTR MOV DPTR, #7FFFH MOVX DPTR, A INC R7 CJNE R7, #0FFH, WW6 LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.2, K

50、EYCC LJMP KEYDD KEY: 。 DK:DB 07FH, 082H, 085H, 088H, 08BH, 08FH, 092H, 095H, 098H, 。 END #include #include #define uchar unsigned char #define uint unsigned int #define DA0832 XBYTE 0 x7fff uchar key,jskey; uint i; uint code st=0 x7F,0 x82,0 x85,. uchar keyscan() uchar tmp; P1=0 xff; if(P1 / 延時去抖延時去

51、抖 if(P1 dowhile(P1 /判鍵釋放判鍵釋放 tmp=tmp; return (tmp); /還回鍵值還回鍵值 return (0); /無鍵按下無鍵按下,還回還回0 void main(void) uchar i,v; uchar temp; v=keyscan(); if(v=1|v=2|v=4|v=8) while(1) switch(v) case 1: while(v=1|v=0) for(i=0;i=255;i+) if(i128) DA0832=255; else DA0832=0; v=keyscan(); break; case 2: while(v=2|v=0)

52、 for(i=0;i=255;i+) DA0832=i; v=keyscan(); break; case 4: while(v=4|v=0) for(i=0;i=1;i-) DA0832=i; v=keyscan(); break; case 8: while(v=8|v=0) for(i=0;i=255;i+) DA0832=sti; v=keyscan(); break; *10.3.3 DAC0832雙緩沖連接方式 所謂雙緩沖連接方式,就是把所謂雙緩沖連接方式,就是把DAC0832的輸入寄存器和的輸入寄存器和 DAC寄存器都接成受控鎖存方式。在多路寄存器都接成受控鎖存方式。在多路D/A轉(zhuǎn)換中,如果轉(zhuǎn)換中,如果 要求同步輸出,就應當采用雙緩沖連接方式。要求同步輸出,就應當采用雙緩沖連接方式。DAC0832的的 雙緩沖方式連接如下圖所示。雙緩沖方式連接如下圖所示。 【例】【例】XY繪圖儀由繪圖儀由X、Y兩個方向的步進電機驅(qū)動,其中一個兩個方向的步進電機驅(qū)動,其中一個 電機控制繪筆沿電機控制繪筆沿X軸方向運動,另一個電機控制繪筆沿軸方向運動,另一個電機控制繪筆沿Y軸軸 方向運動。因此,對方向運動。因此,對

溫馨提示

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

評論

0/150

提交評論