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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、量傳感器有速度式流量計(jì)和容積式流量計(jì)等。流量計(jì)和容積式流量計(jì)等。 壓力傳感器:壓力傳感器: 用于大氣壓力用于大氣壓力(氣壓氣壓)測(cè)量和容器壁壓力測(cè)量等。測(cè)量和容器壁壓力測(cè)量等。 機(jī)械量傳感器:機(jī)械量傳感器: 常用的機(jī)械量有拉力、壓力、位移、速度、加速度、扭常用的機(jī)械量有拉力、壓力、位移、速度、加速度、扭矩及荷重等。常見的機(jī)械量傳感器有電阻應(yīng)變片、力傳感器、荷重傳感器、矩及荷重等。常見的機(jī)械量傳感器有電阻應(yīng)變片、力傳感器、荷重傳感器、位移傳感器和轉(zhuǎn)速傳感器等。位移傳感器和轉(zhuǎn)速傳感器等。 成分分析傳感器:成分分析傳感器: 用于對(duì)混合氣體或混合物的成分進(jìn)行自動(dòng)分析。用于對(duì)混合氣體或混合物的成分進(jìn)行自

7、動(dòng)分析。 pH值傳感器:值傳感器: 用于測(cè)量水溶液的酸堿度。用于測(cè)量水溶液的酸堿度。 2. 放大器放大器 傳感器得到的電壓或電流信號(hào)往往幅度較小,難以直傳感器得到的電壓或電流信號(hào)往往幅度較小,難以直接進(jìn)行接進(jìn)行A/D轉(zhuǎn)換,需要使用放大器對(duì)模擬信號(hào)進(jìn)行放大處轉(zhuǎn)換,需要使用放大器對(duì)模擬信號(hào)進(jìn)行放大處理。理。 放大器的種類很多,但在模擬輸入通道中使用的是一放大器的種類很多,但在模擬輸入通道中使用的是一種具有高放大倍數(shù)并帶深度負(fù)反饋的直接耦合放大器,由種具有高放大倍數(shù)并帶深度負(fù)反饋的直接耦合放大器,由于它可以對(duì)輸入信號(hào)進(jìn)行多種數(shù)學(xué)運(yùn)算于它可以對(duì)輸入信號(hào)進(jìn)行多種數(shù)學(xué)運(yùn)算(例如比例、加、例如比例、加、減、

8、積分和微分等減、積分和微分等),所以稱為運(yùn)算放大器。運(yùn)算放大器,所以稱為運(yùn)算放大器。運(yùn)算放大器具有輸入阻抗高,增益大,可靠性高,價(jià)格低和使用方便具有輸入阻抗高,增益大,可靠性高,價(jià)格低和使用方便等特點(diǎn)?,F(xiàn)在已有各種專用或通用的運(yùn)算放大器可供選擇。等特點(diǎn)。現(xiàn)在已有各種專用或通用的運(yùn)算放大器可供選擇。3. 采樣采樣/保持電路保持電路 采樣是為了跟蹤輸入信號(hào)的變化,其實(shí)質(zhì)是將一個(gè)連續(xù)變采樣是為了跟蹤輸入信號(hào)的變化,其實(shí)質(zhì)是將一個(gè)連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為時(shí)間上離散的采樣信號(hào),采樣頻率要遠(yuǎn)高化的模擬信號(hào)轉(zhuǎn)換為時(shí)間上離散的采樣信號(hào),采樣頻率要遠(yuǎn)高于模擬信號(hào)中的最高頻率成分于模擬信號(hào)中的最高頻率成分(一般為

9、一般為2.5倍倍)。 保持則是為了把采樣信號(hào)保持一段時(shí)間,因?yàn)槠浜蟮谋3謩t是為了把采樣信號(hào)保持一段時(shí)間,因?yàn)槠浜蟮腁/D轉(zhuǎn)換需要有一個(gè)時(shí)間過程。在保持期間要維持信號(hào)的穩(wěn)定,盡轉(zhuǎn)換需要有一個(gè)時(shí)間過程。在保持期間要維持信號(hào)的穩(wěn)定,盡可能保持信號(hào)不變??赡鼙3中盘?hào)不變。 在模擬輸入通道中,采樣電路和保持電路是合在一起的,在模擬輸入通道中,采樣電路和保持電路是合在一起的,稱為采樣稱為采樣/保持電路。如下圖所示。保持電路。如下圖所示。 4. 濾波器濾波器 濾波可分為模擬濾波和數(shù)字濾波兩種。濾波可分為模擬濾波和數(shù)字濾波兩種。 模擬濾波由電子元器件搭建的濾波電路完成,模擬濾波模擬濾波由電子元器件搭建的濾波電

10、路完成,模擬濾波又可分為無源和有源兩種。無源濾波是使用無源器件又可分為無源和有源兩種。無源濾波是使用無源器件(電感、電感、電容和電阻電容和電阻)構(gòu)成的濾波電路。有源濾波器則是用放大器和電構(gòu)成的濾波電路。有源濾波器則是用放大器和電容、電阻構(gòu)成的濾波電路。容、電阻構(gòu)成的濾波電路。 數(shù)字濾波,就是通過程序?qū)Σ蓸有盘?hào)進(jìn)行平滑加工,以數(shù)字濾波,就是通過程序?qū)Σ蓸有盘?hào)進(jìn)行平滑加工,以提高其有用信號(hào),消除或抑制干擾信號(hào)。有多種數(shù)字濾波程提高其有用信號(hào),消除或抑制干擾信號(hào)。有多種數(shù)字濾波程序,例如,程序判斷濾波程序、中值濾波程序、算術(shù)平均濾序,例如,程序判斷濾波程序、中值濾波程序、算術(shù)平均濾波程序、加權(quán)平均濾

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

12、/D轉(zhuǎn)換器。也稱雙斜率或多斜率轉(zhuǎn)換器。也稱雙斜率或多斜率A/D轉(zhuǎn)換器。轉(zhuǎn)換器。應(yīng)用最為廣泛,具有精度高、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。應(yīng)用最為廣泛,具有精度高、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。 逐次逼近型逐次逼近型A/D轉(zhuǎn)換器。原理簡單,便于實(shí)現(xiàn),不存轉(zhuǎn)換器。原理簡單,便于實(shí)現(xiàn),不存在時(shí)間延遲問題。在時(shí)間延遲問題。 閃爍型閃爍型A/D轉(zhuǎn)換器。最大特點(diǎn)是速度快,但功耗大且轉(zhuǎn)換器。最大特點(diǎn)是速度快,但功耗大且電路復(fù)雜,所以芯片尺寸也比較大。電路復(fù)雜,所以芯片尺寸也比較大。 型型A/D轉(zhuǎn)換器。又稱為過采樣轉(zhuǎn)換器。又稱為過采樣A/D轉(zhuǎn)換器。雖然出轉(zhuǎn)換器。雖然出現(xiàn)得較晚,但卻具有分辨率高,價(jià)格便宜以及抗干擾現(xiàn)得較晚,但卻具有

13、分辨率高,價(jià)格便宜以及抗干擾能力強(qiáng)等優(yōu)點(diǎn)。能力強(qiáng)等優(yōu)點(diǎn)。10.2 A/D 轉(zhuǎn)換器轉(zhuǎn)換器2. 輸入電壓信號(hào)形式輸入電壓信號(hào)形式 單極性電壓信號(hào),各種單極性電壓信號(hào),各種A/D轉(zhuǎn)換芯片都具有這種輸入轉(zhuǎn)換芯片都具有這種輸入形式。一般可允許電壓變化范圍是形式。一般可允許電壓變化范圍是0+5 V、0+10 V和和0+20 V等。等。 雙極形式的電壓信號(hào),可正可負(fù),雖然還是通過一條雙極形式的電壓信號(hào),可正可負(fù),雖然還是通過一條引線輸入,但芯片上需要有一對(duì)極性相反的工作電源引線輸入,但芯片上需要有一對(duì)極性相反的工作電源與之配合。與之配合。 差分信號(hào)是不共地的電壓信號(hào),兩個(gè)極性的差分信號(hào)差分信號(hào)是不共地的電壓

14、信號(hào),兩個(gè)極性的差分信號(hào)需要兩條信號(hào)線輸入,在芯片上表示為需要兩條信號(hào)線輸入,在芯片上表示為VIN+和和VIN-。差分電壓信號(hào)可以從非差分電壓信號(hào)可以從非0 V開始,其變化范圍可以是開始,其變化范圍可以是2 V、4 V、5 V和和10 V等等。 3. 輸出二進(jìn)制代碼形式輸出二進(jìn)制代碼形式 二進(jìn)制碼二進(jìn)制碼A/D轉(zhuǎn)換芯片輸出的是二進(jìn)制代碼,其位數(shù)可分為轉(zhuǎn)換芯片輸出的是二進(jìn)制代碼,其位數(shù)可分為8位、位、10位、位、12位、位、14位、位、16位、位、20位和位和24位等。位等。 BCD碼碼A/D轉(zhuǎn)換芯片輸出的是多位轉(zhuǎn)換芯片輸出的是多位BCD碼,這類轉(zhuǎn)換芯片的碼,這類轉(zhuǎn)換芯片的典型應(yīng)用是在數(shù)字電壓表

15、中,輸出的典型應(yīng)用是在數(shù)字電壓表中,輸出的BCD碼可直接送碼可直接送LED或或LCD進(jìn)行顯示。常見的進(jìn)行顯示。常見的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)換量是電壓,所以分辨率是對(duì)輸入電轉(zhuǎn)換器,被轉(zhuǎn)換量是電壓,所以分辨率是對(duì)輸入電壓信號(hào)變化的分辨能力,壓信號(hào)變化的分辨能力, A/D轉(zhuǎn)換器位數(shù)越多,分辨率的轉(zhuǎn)換器位數(shù)越多,分辨率的值越小,分辨能力就越強(qiáng),亦即轉(zhuǎn)換器對(duì)輸入量變化的敏值越小,分辨能力就越強(qiáng),亦即轉(zhuǎn)換器對(duì)輸入量變化的敏感程度也就越高。所以選擇感程度也就越高。所以選擇A/D轉(zhuǎn)換

16、器時(shí),要把位數(shù)放在重轉(zhuǎn)換器時(shí),要把位數(shù)放在重要的位置。要的位置。5. A/D轉(zhuǎn)換器的控制信號(hào)轉(zhuǎn)換器的控制信號(hào) A/D轉(zhuǎn)換芯片中有一些控制信號(hào),包括時(shí)鐘信號(hào)、轉(zhuǎn)換轉(zhuǎn)換芯片中有一些控制信號(hào),包括時(shí)鐘信號(hào)、轉(zhuǎn)換啟動(dòng)信號(hào)和轉(zhuǎn)換結(jié)束信號(hào)等,接口連接時(shí)要對(duì)這些信號(hào)進(jìn)啟動(dòng)信號(hào)和轉(zhuǎn)換結(jié)束信號(hào)等,接口連接時(shí)要對(duì)這些信號(hào)進(jìn)行處理。行處理。 (1)時(shí)鐘信號(hào))時(shí)鐘信號(hào) 時(shí)鐘信號(hào)時(shí)鐘信號(hào)A/D轉(zhuǎn)換需要時(shí)鐘信號(hào)的配合,有些轉(zhuǎn)換需要時(shí)鐘信號(hào)的配合,有些A/D轉(zhuǎn)換轉(zhuǎn)換芯片芯片(例如例如AD571等等)內(nèi)部有時(shí)鐘電路。另外一些內(nèi)部有時(shí)鐘電路。另外一些A/D轉(zhuǎn)換芯轉(zhuǎn)換芯片片(例如例如ADC0808/0809等等)內(nèi)部沒有時(shí)鐘電路

17、,所需時(shí)鐘信內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供。號(hào)由外界提供。 (2)轉(zhuǎn)換啟動(dòng)信號(hào))轉(zhuǎn)換啟動(dòng)信號(hào) 轉(zhuǎn)換啟動(dòng)信號(hào)轉(zhuǎn)換啟動(dòng)信號(hào)應(yīng)由轉(zhuǎn)換啟動(dòng)信號(hào)轉(zhuǎn)換啟動(dòng)信號(hào)應(yīng)由CPU提供,不同型號(hào)的提供,不同型號(hào)的A/D轉(zhuǎn)換芯片對(duì)轉(zhuǎn)換啟動(dòng)信號(hào)的要求不盡相同。有的要求脈轉(zhuǎn)換芯片對(duì)轉(zhuǎn)換啟動(dòng)信號(hào)的要求不盡相同。有的要求脈沖信號(hào)啟動(dòng),例如沖信號(hào)啟動(dòng),例如ADC0804、ADC0809等芯片,而有的芯片等芯片,而有的芯片則要求電平信號(hào)啟動(dòng),例如則要求電平信號(hào)啟動(dòng),例如AD570、AD571和和AD574等等 。 6. 轉(zhuǎn)換結(jié)束與數(shù)據(jù)讀取轉(zhuǎn)換結(jié)束與數(shù)據(jù)讀取 A/D轉(zhuǎn)換后得到的數(shù)字量數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)轉(zhuǎn)換后得到的數(shù)字

18、量數(shù)據(jù)應(yīng)及時(shí)傳送給單片機(jī)進(jìn)行處理,在數(shù)據(jù)轉(zhuǎn)換完成后,進(jìn)行讀取。行處理,在數(shù)據(jù)轉(zhuǎn)換完成后,進(jìn)行讀取。 (1)定時(shí)等待方式)定時(shí)等待方式 對(duì)于一個(gè)對(duì)于一個(gè)A/D轉(zhuǎn)換芯片來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指轉(zhuǎn)換芯片來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知且固定的,可用延時(shí)的方法等待轉(zhuǎn)換結(jié)束,此即標(biāo)是已知且固定的,可用延時(shí)的方法等待轉(zhuǎn)換結(jié)束,此即定時(shí)等待方式。定時(shí)等待方式。 (2)查詢方式)查詢方式 A/D轉(zhuǎn)換芯片都提供表明轉(zhuǎn)換完成的狀態(tài)信號(hào),可以用轉(zhuǎn)換芯片都提供表明轉(zhuǎn)換完成的狀態(tài)信號(hào),可以用查詢方式,通過測(cè)試狀態(tài)就可以知道轉(zhuǎn)換是否完成。查詢方式,通過測(cè)試狀態(tài)就可以知道轉(zhuǎn)換是否完成。(3)中斷方式)中斷方式 表明

19、轉(zhuǎn)換是否完成的狀態(tài)信號(hào)表明轉(zhuǎn)換是否完成的狀態(tài)信號(hào)(ADC0809為為EOC)都可作為都可作為中斷請(qǐng)求信號(hào)使用,從而可采用中斷方式進(jìn)行轉(zhuǎn)換數(shù)據(jù)的中斷請(qǐng)求信號(hào)使用,從而可采用中斷方式進(jìn)行轉(zhuǎn)換數(shù)據(jù)的傳送。傳送。10.2.1 810.2.1 8位位A/DA/D轉(zhuǎn)換器芯片與轉(zhuǎn)換器芯片與80C5180C51接口接口 ADC0809采用逐次逼近式采用逐次逼近式A/D轉(zhuǎn)換原理,可實(shí)現(xiàn)轉(zhuǎn)換原理,可實(shí)現(xiàn)8路路模擬信號(hào)的分時(shí)采集,片內(nèi)有模擬信號(hào)的分時(shí)采集,片內(nèi)有8路模擬選通開關(guān),以及相路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存與譯碼電路,轉(zhuǎn)換時(shí)間為應(yīng)的通道地址鎖存與譯碼電路,轉(zhuǎn)換時(shí)間為100 s左右。左右。ADC080

20、9的內(nèi)部邏輯結(jié)構(gòu)如下圖所示。的內(nèi)部邏輯結(jié)構(gòu)如下圖所示。 圖中多路開關(guān)可選通圖中多路開關(guān)可選通8個(gè)模擬通道,允許個(gè)模擬通道,允許8路模擬量分時(shí)路模擬量分時(shí)輸入,共用一個(gè)輸入,共用一個(gè)A/D轉(zhuǎn)換芯片進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電轉(zhuǎn)換芯片進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電路完成對(duì)路完成對(duì)A、B、C 3個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇。用于通道選擇。8位位A/D轉(zhuǎn)換器是逐次逼近式。輸出鎖存器轉(zhuǎn)換器是逐次逼近式。輸出鎖存器用于存放和輸出轉(zhuǎn)換得到的數(shù)字量。用于存放和輸出轉(zhuǎn)換得到的數(shù)字量。 2 2、信號(hào)引腳、信號(hào)引腳 ADC 0809ADC 0809轉(zhuǎn)換器芯片為轉(zhuǎn)換器芯片

21、為2828引腳,雙列直插式(引腳,雙列直插式(DIPDIP)封裝。)封裝。D0ADC080912345678910111213141516171819202122232425262728D2Vref(-)D4D5D6D7ALEADDCADDBADDAIN0IN1IN2IN3IN4IN5IN6IN7STARTEOCD3OECLOCKVCCVref(+)GNDD1(1 1)、)、IN7IN7IN0IN0:模擬量輸入通道;:模擬量輸入通道; ADC0809ADC0809對(duì)輸入模擬量的要求主要有:信號(hào)單極性,電壓范圍對(duì)輸入模擬量的要求主要有:信號(hào)單極性,電壓范圍0 05 V5 V,若信號(hào)過小還需進(jìn)行放

22、大。另外,在,若信號(hào)過小還需進(jìn)行放大。另外,在A/DA/D轉(zhuǎn)換過程中,轉(zhuǎn)換過程中,模擬量輸入的值不應(yīng)變化太快,因此,對(duì)變化速度快的模擬量,模擬量輸入的值不應(yīng)變化太快,因此,對(duì)變化速度快的模擬量,在輸入前應(yīng)增加采樣保持電路。在輸入前應(yīng)增加采樣保持電路。(2 2)、)、A A、B B、C C:地址線;:地址線; A A為低位地址,為低位地址,C C為高位地址,用于對(duì)模擬通道進(jìn)行選擇;為高位地址,用于對(duì)模擬通道進(jìn)行選擇;C B A 選擇的通道選擇的通道0 0 00 0 10 1 00 1 11 0 01 0 1 1 1 0 1 1 1 IN0IN1IN2IN3IN4IN5IN6IN7(3 3)、)、

23、ALEALE:地址鎖存允許信號(hào);:地址鎖存允許信號(hào); 在對(duì)應(yīng)在對(duì)應(yīng)ALEALE上跳沿,上跳沿,A A、B B、C C地址狀態(tài)送入地址鎖存器中;地址狀態(tài)送入地址鎖存器中;(4 4)、)、STARTSTART:轉(zhuǎn)換啟動(dòng)信號(hào);:轉(zhuǎn)換啟動(dòng)信號(hào); STARTSTART上跳沿時(shí),所有內(nèi)部寄存器清上跳沿時(shí),所有內(nèi)部寄存器清0 0;STARTSTART下跳沿時(shí),開下跳沿時(shí),開始進(jìn)行始進(jìn)行A/DA/D轉(zhuǎn)換;在轉(zhuǎn)換;在A/DA/D轉(zhuǎn)換期間,轉(zhuǎn)換期間,STARTSTART應(yīng)保持低電平;應(yīng)保持低電平;(5 5)、)、D7D7D0D0:數(shù)據(jù)輸出線;:數(shù)據(jù)輸出線;(6 6)、)、OEOE:輸出允許信號(hào);:輸出允許信號(hào);

24、用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0OE=0,輸出數(shù)據(jù)線呈高電阻;,輸出數(shù)據(jù)線呈高電阻;OE=1OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);,輸出轉(zhuǎn)換得到的數(shù)據(jù);(7 7)、)、CLKCLK:時(shí)鐘信號(hào),通常使用頻率為:時(shí)鐘信號(hào),通常使用頻率為500kHz500kHz的時(shí)鐘信號(hào);的時(shí)鐘信號(hào);(8 8)、)、EOCEOC:轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。:轉(zhuǎn)換結(jié)束狀態(tài)信號(hào)。 EOC=0EOC=0,正在進(jìn)行轉(zhuǎn)換;,正在進(jìn)行轉(zhuǎn)換;EOC=1EOC=1,轉(zhuǎn)換結(jié)束。該狀態(tài)信號(hào)既可,轉(zhuǎn)換結(jié)束。該狀態(tài)信號(hào)既可作為查詢的狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用;作為查詢的

25、狀態(tài)標(biāo)志,又可以作為中斷請(qǐng)求信號(hào)使用;(9 9)、)、VCCVCC:+5 V+5 V電源;電源;(1010)、)、VrefVref:參考電源。:參考電源。 參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的參考電壓用來與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為基準(zhǔn)。其典型值為+5 V+5 V(Vref (+) =+5 VVref (+) =+5 V,VrefVref(-) =0 V(-) =0 V) 。10.2.210.2.2、MCS-51MCS-51單片機(jī)與單片機(jī)與ADC 0809ADC 0809接口接口 8路模擬通道選擇信號(hào)路模擬通道選擇信號(hào)A、B、C分別接最低分別接最低3

26、位地址位地址A0、A1、A2(即(即P0.0、P0.1、P0.2),而地址鎖存允許信號(hào)),而地址鎖存允許信號(hào)ALE由由P2.0控制,則控制,則8路模擬通道的地址為路模擬通道的地址為FEF8HFEFFH 。4 4、應(yīng)用舉例、應(yīng)用舉例 設(shè)計(jì)一個(gè)設(shè)計(jì)一個(gè)8 8路模擬量輸入的巡回檢測(cè)系統(tǒng),采樣數(shù)據(jù)依次存放路模擬量輸入的巡回檢測(cè)系統(tǒng),采樣數(shù)據(jù)依次存放在片外在片外RAM 0A0HRAM 0A0H0A7H0A7H單元中,單元中,ADC 0809ADC 0809的的8 8路通道路通道IN0IN0IN7IN7的的地址分別為地址分別為FEF8HFEF8HFEFFHFEFFH,其數(shù)據(jù)采樣的初始化程序和中斷服務(wù),其數(shù)

27、據(jù)采樣的初始化程序和中斷服務(wù)程序如下:程序如下:設(shè)計(jì)思路:設(shè)計(jì)思路:執(zhí)行一條執(zhí)行一條“MOVX DPTR,A”指令,產(chǎn)生指令,產(chǎn)生WR信號(hào),信號(hào),使使ALE和和START有效,就可以啟動(dòng)一次有效,就可以啟動(dòng)一次A/D轉(zhuǎn)換。但一轉(zhuǎn)換。但一次啟動(dòng)只能進(jìn)行一個(gè)通道的轉(zhuǎn)換,次啟動(dòng)只能進(jìn)行一個(gè)通道的轉(zhuǎn)換,8個(gè)通道的個(gè)通道的A/D轉(zhuǎn)換需轉(zhuǎn)換需按通道順序逐個(gè)進(jìn)行。為此,在程序中應(yīng)當(dāng)有改變通道按通道順序逐個(gè)進(jìn)行。為此,在程序中應(yīng)當(dāng)有改變通道號(hào)的指令,并且每改變一次就執(zhí)行一次啟動(dòng)號(hào)的指令,并且每改變一次就執(zhí)行一次啟動(dòng)A/D轉(zhuǎn)換指轉(zhuǎn)換指令。令。 初始化程序:初始化程序:ORG 0000HORG 0000H LJM

28、P MAIN LJMP MAIN ORG 0013H ORG 0013HLJMP ADCLJMP ADC ORG 0100HORG 0100H MAIN:MOV R0, #0A0H ; MAIN:MOV R0, #0A0H ;數(shù)據(jù)存儲(chǔ)區(qū)首址數(shù)據(jù)存儲(chǔ)區(qū)首址MOV R2, #08H ;MOV R2, #08H ;通道計(jì)數(shù)通道計(jì)數(shù)SETB IT1 ;SETB IT1 ;邊沿觸發(fā)方式邊沿觸發(fā)方式, ,下降沿下降沿SETB EA ;SETB EA ;中斷允許中斷允許SETB EX1 ;SETB EX1 ;外部中斷外部中斷1 1允許允許MOV DPTR, #0FEF8H ;MOV DPTR, #0FEF8

29、H ;通道首地址通道首地址LOOPLOOP: MOVX DPTRMOVX DPTR,A ;A ;啟動(dòng)啟動(dòng)A/DA/D轉(zhuǎn)換轉(zhuǎn)換 LCALL DELY1MSLCALL DELY1MS DJNZ R2 DJNZ R2, LOOPLOOPLJMP MAINLJMP MAIN中斷服務(wù)程序:中斷服務(wù)程序: 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 unsi

30、gned char # define IN0 XBYTE 0 x7ff8 /* 設(shè)置設(shè)置AD0809的通道的通道0地址地址 */uchar k;uchar xdata *ad_adr;uchar idata ad10;void main() uchar i; while(1)IT1=1; EA=1; EX1=1; ad_adr=&IN0; k=0; for ( i=0 ; i8 ;i+ ) /* 處理處理8通道通道 */ *ad_adr=0 ; /* 啟動(dòng)轉(zhuǎn)換啟動(dòng)轉(zhuǎn)換 */ daly1ms(); void INTT1( ) interrupt 2void INTT1( ) interrupt

31、2 adk= adk= * * ad_adr ad_adr ; ; ad_adrad_adr + ; / + ; /* * 下一通道下一通道 * */ /k +;k +; ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV R0, #0A0H; MOV R2, #08H; MOV DPTR,#0FEF8H; LOOP: MOVX DPTR,A ; 啟動(dòng)轉(zhuǎn)換啟動(dòng)轉(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 ;更新通道;更新

32、通道 INC R0 ;更新暫存單元;更新暫存單元 DJNZ R2, LOOP LJMP MAIN END用查詢法實(shí)現(xiàn):用查詢法實(shí)現(xiàn):采用查詢方式,采集結(jié)果放在數(shù)組采用查詢方式,采集結(jié)果放在數(shù)組ad中:中: # include # include # define uchar unsigned char # define IN0 XBYTE 0 x7ff8 /* 設(shè)置設(shè)置AD0809的通道的通道0地址地址 */ sbit ad_busy =P33 ; /* 即即EOC狀態(tài)狀態(tài) */ void ad0809 ( uchar idata *x ) /* 采樣結(jié)果放指針中的采樣結(jié)果放指針中的A/D采集

33、函數(shù)采集函數(shù) */ uchar i ; uchar xdata *ad_adr ; ad_adr= & IN0 ; for ( i=0 ; i8 ;i+ ) /* 處理處理8通道通道 */ *ad_adr=0 ; /* 啟動(dòng)轉(zhuǎn)換啟動(dòng)轉(zhuǎn)換 */ i=i ; /* 延時(shí)等待延時(shí)等待EOC變低變低 */ i=i ; while (ad_busy = =1 ) ; /* 查詢等待轉(zhuǎn)換結(jié)束查詢等待轉(zhuǎn)換結(jié)束 */ xi = * ad_adr ; /* 存轉(zhuǎn)換結(jié)果存轉(zhuǎn)換結(jié)果 */ ad_adr + ; /* 下一通道下一通道 */ void main ( void ) static uchar idata

34、ad 10 ; while(1) ad0809 ( ad ) ; /* 采樣采樣AD0809通道的值通道的值 */ 利用利用ADC0809轉(zhuǎn)換器,輪流采集模擬量輸入電壓信號(hào),并將模擬轉(zhuǎn)換器,輪流采集模擬量輸入電壓信號(hào),并將模擬量轉(zhuǎn)換成數(shù)字量,通過數(shù)碼管顯示器顯示量轉(zhuǎn)換成數(shù)字量,通過數(shù)碼管顯示器顯示(P1接段控,接段控,P2接位控接位控)(1)延時(shí)法)延時(shí)法 MAIN: MOVSP,#2FH MOVDPTR, #0FEF8HMOVX DPTR,ALCALL DELAYMOVX A,DPTRMOVB,#51DIVABMOVR0,AMOVA,BMOVB,#5DIVABMOVR1,AMOVA,BMOV

35、R2,A MOVDPTR, #TABMOVA,R0MOVC A,A+DPTRMOVP2,#04HMOVP1,ALCALL DELAYMOVA,R1MOVCA,A+DPTRMOVP2,#08HMOVP1,ALCALLDELAYMOVA,R2MOVCA,A+DPTRMOVP2,#10HMOVP1,ALCALLDELAYLJMPMAINDELAY:。 RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END(2)中斷法)中斷法ORG0000HLJMPMAINORG0013HLJMPINTT1MAIN: MOV SP, #3FH MOV DP

36、TR, #0FEF8HSETBEASETBEX1MOVX DPTR, A HERE: LJMPHEREINTT1: MOVX A, DPTRMOVB,#51DIVABMOVR0,AMOVA,BMOVB,#5DIVABMOVR1,AMOVA,BMOVR2,AMOVDPTR,#TABMOVA,R0MOVCA,A+DPTRMOVP2,#04HMOVP1,ALCALLDELAYMOVA,R1MOVCA,A+DPTRMOVP2,#08HMOVP1,ALCALLDELAYMOVA,R2MOVCA,A+DPTRMOVP2,#10HMOVP1,ALCALLDELAYMOV DPTR, #0FEF8HMOVX

37、DPTR, ARETIDELAY:。 RETTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END(3)查詢法)查詢法MAIN: MOV SP, #2FH MOV DPTR, #0FEF8HCLR EALOOP0: MOVX DPTR, A LOOP: JB P3.3, LOOP MOVX A, DPTRMOVB,#51DIVABMOVR0,AMOVA,BMOVB,#5DIVABMOVR1,AMOVA,BMOVR2,A。#include#include#define uchar unsigned char#define uint unsi

38、gned int#define ADC0809 XBYTE 0 xFEF8sbit EOC=P33;char code dis_code=0 xc0,0 xf9,0 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)

39、; ADC0809=0; data1=ADC0809; find_code0=data1/51; /個(gè)位個(gè)位 find_code1=data1%51*10/51; /小數(shù)點(diǎn)后第一位小數(shù)點(diǎn)后第一位 find_code2=data1%51*10%51*10/51; /小數(shù)點(diǎn)后兩位小數(shù)點(diǎn)后兩位 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=

40、dis_codek;DelayX1ms(1); 10.3 10.3 D/AD/A轉(zhuǎn)換器接口轉(zhuǎn)換器接口10.3.1 10.3.1 D/AD/A轉(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)、電壓輸出形式)、電壓輸出形式 輸入:二進(jìn)制數(shù)或輸入:二進(jìn)制數(shù)或BCDBCD碼數(shù)碼數(shù) 輸出:電壓輸出:電壓(2 2)、電流輸出形式)、電流輸出形式 輸入:二進(jìn)制數(shù)或輸入:二進(jìn)制數(shù)或BCDBCD碼數(shù)碼數(shù) 輸出:電流輸出:電流 D/A D/A轉(zhuǎn)換器按

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

42、量變化敏感程度的描述,與輸入數(shù)字量的位數(shù)有關(guān)。字量的位數(shù)有關(guān)。 如果數(shù)字量的位數(shù)為如果數(shù)字量的位數(shù)為n n,則,則D/AD/A轉(zhuǎn)換器的分辨率為轉(zhuǎn)換器的分辨率為2 2-n-n。這就意味。這就意味著數(shù)著數(shù)/ /模轉(zhuǎn)換器能對(duì)滿刻度的模轉(zhuǎn)換器能對(duì)滿刻度的2 2-n-n輸入量作出反應(yīng)。輸入量作出反應(yīng)。 使用時(shí),應(yīng)根據(jù)分辨率的需要來選定轉(zhuǎn)換器的位數(shù)。使用時(shí),應(yīng)根據(jù)分辨率的需要來選定轉(zhuǎn)換器的位數(shù)。DACDAC??沙?煞譃榉譃? 8位、位、1010位、位、1212位三種。位三種。(2 2)、)、建立時(shí)間建立時(shí)間 建立時(shí)間是描述建立時(shí)間是描述D/AD/A轉(zhuǎn)換速度快慢的一個(gè)參數(shù),指從輸入數(shù)字轉(zhuǎn)換速度快慢的一個(gè)參數(shù)

43、,指從輸入數(shù)字量變化到輸出達(dá)到終值誤差量變化到輸出達(dá)到終值誤差(1/21/2)LSBLSB(最低有效位)時(shí)所需(最低有效位)時(shí)所需的時(shí)間。通常以建立時(shí)間來表示轉(zhuǎn)換速度。的時(shí)間。通常以建立時(shí)間來表示轉(zhuǎn)換速度。 3 3、典型、典型D/AD/A轉(zhuǎn)換器芯片轉(zhuǎn)換器芯片DAC 0832DAC 0832 DAC0832 DAC0832是一個(gè)是一個(gè)8 8位位D/AD/A轉(zhuǎn)換器。單電源供電,從轉(zhuǎn)換器。單電源供電,從+5 V+5 V+15 V+15 V均可均可正常工作。基準(zhǔn)電壓的范圍為正常工作。基準(zhǔn)電壓的范圍為10 V10 V;電流建立時(shí)間為;電流建立時(shí)間為1 s1 s;CMOSCMOS工藝,低功耗工藝,低功耗2

44、0 mW20 mW。 DAC0832DAC0832轉(zhuǎn)換器芯片為轉(zhuǎn)換器芯片為2020引腳,雙列直插式(引腳,雙列直插式(DIPDIP)封裝。)封裝。DAC083212345678910CSVCCILEWR2XFERDI4DI5DI6DI7Iout2Iout1WR1AGNDDI3DI2DI1DI0VrefRfbDGND11121314151617181920Iout2Iout1Rfb電平輸出 DI7DI0: 轉(zhuǎn)換數(shù)據(jù)輸入轉(zhuǎn)換數(shù)據(jù)輸入 。 CS: 片選信號(hào)片選信號(hào)(輸入輸入),低電平有效。,低電平有效。 ILE: 數(shù)據(jù)鎖存允許信號(hào)數(shù)據(jù)鎖存允許信號(hào)(輸入),高電平有效。輸入),高電平有效。 WR1:

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

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

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

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

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

50、 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)換輸出 */ 設(shè)計(jì)一個(gè)簡單的單片機(jī)應(yīng)用系統(tǒng),利用設(shè)計(jì)一個(gè)簡單的單片機(jī)應(yīng)用系統(tǒng),利用DAC0832輸出連續(xù)輸出連續(xù)周期性信號(hào)周期性信號(hào) 。按下。按下K0,產(chǎn)生方波;按下,產(chǎn)生方波;按下K1,產(chǎn)生鋸齒波;按,產(chǎn)生鋸齒波;按下下K2,產(chǎn)生三角波;按下,產(chǎn)生三角波;按下K3,產(chǎn)生正弦波。

51、,產(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 MAINKEYAA: MOV R0, #00H WW1: MOV A, #00H MOVX DPTR, A INC R0 CJNE R0, #8FH, WW1WW2: MOV A, #0FFH MOVX DPTR, A DJNZ R0, WW2 LCALL KEY MOV A, 20H JB ACC.1, KEYBB JB ACC.2, KEYCC JB A

52、CC.3, KEYDDLJMP KEYAAKEYBB: MOV R0, #0FFHWW3: MOV A, R0 MOVX DPTR, A DEC R0CJNE R0, #00H, WW3 LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.2, KEYCC JB ACC.3, KEYDDLJMP KEYBBKEYCC: MOV R0, #00HWW4: MOV A, R0 MOVX DPTR, A INC R0 CJNE R0, #0FFH, WW4WW5: MOV A, R0 MOVX DPTR, A DEC R0CJNE R0, #00H, WW5 LC

53、ALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.3, KEYDD LJMP KEYCCKEYDD: MOV R7, #00HWW6: MOV DPTR, #DK MOV A, R7 MOVC A, A+DPTR MOV DPTR, #7FFFH MOVX DPTR, A INC R7 CJNE R7, #0FFH, WW6LCALL KEY MOV A, 20H JB ACC.0, KEYAA JB ACC.1, KEYBB JB ACC.2, KEYCC LJMP KEYDDKEY: 。DK:DB 07FH, 082H, 0

54、85H, 088H, 08BH, 08FH, 092H, 095H, 098H, 。END#include#include#define uchar unsigned char#define uint unsigned int#define DA0832 XBYTE 0 x7fffuchar key,jskey; uint i; uint code st=0 x7F,0 x82,0 x85,.uchar keyscan()uchar tmp; P1=0 xff; if(P1&0 x0f)!=0 x0f) /若有鍵按下若有鍵按下 delay(1000); / 延時(shí)去抖延時(shí)去抖 if(P1&0 x

55、0f)!=0 x0f) /有鍵按下有鍵按下 tmp=(P1&0 x0f); dowhile(P1&0 x0f)!=0 x0f); /判鍵釋放判鍵釋放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=

56、0; v=keyscan(); break; case 2: while(v=2|v=0)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)換中,如果要求同步輸出,就應(yīng)當(dāng)采用雙緩沖連接方式。要求同步輸出,就應(yīng)當(dāng)采用雙緩沖連接方式。DAC0832的的雙緩沖方式連接如下圖

溫馨提示

  • 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)論