《單片機(jī)應(yīng)用技術(shù)》課件第6章_第1頁
《單片機(jī)應(yīng)用技術(shù)》課件第6章_第2頁
《單片機(jī)應(yīng)用技術(shù)》課件第6章_第3頁
《單片機(jī)應(yīng)用技術(shù)》課件第6章_第4頁
《單片機(jī)應(yīng)用技術(shù)》課件第6章_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

項(xiàng)目6簡易信號發(fā)生器設(shè)計(jì)6.1項(xiàng)目要求

6.2理論知識

6.3項(xiàng)目分析及實(shí)施

6.4項(xiàng)目拓展

6.5項(xiàng)目總結(jié)習(xí)題

6.1項(xiàng)目要求

在計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其是在實(shí)時(shí)控制系統(tǒng)中,經(jīng)常需要將計(jì)算機(jī)計(jì)算結(jié)果的數(shù)字量轉(zhuǎn)換為連續(xù)變化的模擬量,用來控制、調(diào)節(jié)一些電路,實(shí)現(xiàn)對被控對象的控制。能夠?qū)崿F(xiàn)數(shù)字量轉(zhuǎn)為模擬量的器件通常稱作數(shù)/模(D/A)轉(zhuǎn)換器。

本項(xiàng)目通過信號發(fā)生器設(shè)計(jì),介紹D/A轉(zhuǎn)換器在單片機(jī)控制系統(tǒng)中的應(yīng)用,項(xiàng)目要求以STC89C52單片機(jī)為核心,設(shè)計(jì)一個簡易信號發(fā)生器,此信號發(fā)生器可以輸出正弦波、三角波、方波、鋸齒波。項(xiàng)目重難點(diǎn):

(1)D/A轉(zhuǎn)換器的相關(guān)技術(shù)指標(biāo);

(2)D/A轉(zhuǎn)換器與51單片機(jī)的接口電路設(shè)計(jì);

(3)51單片機(jī)控制D/A轉(zhuǎn)換器程序設(shè)計(jì)。

技能培養(yǎng):

(1)熟練掌握單片機(jī)與常見D/A轉(zhuǎn)換器的接口電路設(shè)計(jì)方法;

(2)熟練掌握常見D/A轉(zhuǎn)換程序設(shè)計(jì)方法;

(3)能夠分析和解決D/A轉(zhuǎn)換中遇到的問題。

6.2理論知識

6.2.1

D/A轉(zhuǎn)換器的基本原理

1.D/A轉(zhuǎn)換器的分類

D/A轉(zhuǎn)換器按工作方式可分為并行D/A轉(zhuǎn)換器、串行D/A轉(zhuǎn)換器和間接D/A轉(zhuǎn)換器等。在并行D/A轉(zhuǎn)換器中,又分為權(quán)電阻D/A轉(zhuǎn)換器和R-2RT型D/A轉(zhuǎn)換器。

D/A轉(zhuǎn)換器按模擬量輸出方式可分為電流輸出D/A轉(zhuǎn)換器和電壓輸出D/A轉(zhuǎn)換器。

D/A轉(zhuǎn)換器按D/A轉(zhuǎn)換的分辯率可分為低分辯率D/A轉(zhuǎn)換器、中分辯率D/A轉(zhuǎn)換器和高分辯率D/A轉(zhuǎn)換器。

D/A轉(zhuǎn)換器按模擬電子開關(guān)電路的不同可分為CMOS開關(guān)型D/A轉(zhuǎn)換器(速度要求不高)、雙極型開關(guān)D/A轉(zhuǎn)換器、電流開關(guān)型(速度要求較高)和ECL電流開關(guān)型(轉(zhuǎn)換速度更高)。

2.D/A轉(zhuǎn)換器的組成

D/A轉(zhuǎn)換器由數(shù)碼寄存器、模擬電子開關(guān)電路、解碼網(wǎng)絡(luò)、求和電路及基準(zhǔn)電壓等幾部分組成。

以R-2RT型D/A轉(zhuǎn)換器為例,其由基準(zhǔn)電壓VREF、T型(R-2R)電阻網(wǎng)絡(luò)、位切換開關(guān)和運(yùn)算放大器組成。

3.D/A轉(zhuǎn)換器的工作原理

數(shù)字量是用代碼按數(shù)位組合起來表示的,對于有權(quán)碼,每位代碼都有一定的位權(quán)。為了將數(shù)字量轉(zhuǎn)換成模擬量,必須將每1位的代碼按其位權(quán)的大小轉(zhuǎn)換成相應(yīng)的模擬量,然后將這些模擬量相加,即可得到與數(shù)字量成正比的總模擬量,從而實(shí)現(xiàn)了數(shù)字—模擬轉(zhuǎn)換。這就是D/A轉(zhuǎn)換器的基本指導(dǎo)思想。

數(shù)字量以串行或并行方式輸入、存儲于數(shù)碼寄存器中,數(shù)字寄存器輸出的各位數(shù)碼,分別控制對應(yīng)位的模擬電子開關(guān),使數(shù)碼為1的位在位權(quán)網(wǎng)絡(luò)上產(chǎn)生與其權(quán)值成正比的電流值,再由求和電路將各種權(quán)值相加,即得到數(shù)字量對應(yīng)的模擬量。我們以R-2RT型D/A轉(zhuǎn)換器為例簡要介紹D/A轉(zhuǎn)換器的工作原理。如圖6-1所示為R-2RT型D/A轉(zhuǎn)換器原理電路。圖6-1

R-2RT型D/A轉(zhuǎn)換器原理電路圖6-1所示的電路是一個3位二進(jìn)制數(shù)的D/A轉(zhuǎn)換電路,每位二進(jìn)制數(shù)控制一個開關(guān)S。當(dāng)?shù)趇位的數(shù)碼為“0”時(shí),開關(guān)Si打在左邊;當(dāng)?shù)趇位的數(shù)碼為“1”時(shí),開關(guān)Si打在右邊。當(dāng)S0接通時(shí),由圖可知:

由于B點(diǎn)對地電阻相當(dāng)于兩個2R的并聯(lián)即等于R,所以:

同理可以推出:則可以推出:

將上式推廣到n位二進(jìn)制數(shù)的轉(zhuǎn)換,可得一般表達(dá)式:則輸出電壓為:

輸出電壓會因器件誤差、集成運(yùn)放的非理想特性而產(chǎn)生一定的轉(zhuǎn)換誤差。

一般D/A轉(zhuǎn)換器用如圖6-2所示的框圖表示。圖中輸入量與輸出量的關(guān)系為

UOUT=B×Ur

圖6-2

D/A轉(zhuǎn)換器框圖6.2.2

D/A轉(zhuǎn)換器的技術(shù)性能指標(biāo)

1.分辯率

分辨率是D/A轉(zhuǎn)換器對輸入量變化敏感程度的描述,與輸入數(shù)字量的位數(shù)有關(guān)。如果數(shù)字量的位數(shù)為n,則D/A轉(zhuǎn)換器的分辨率為1/2n。這就意味著數(shù)/模轉(zhuǎn)換器能對滿刻度的1/2n輸入量作出反應(yīng)。即:

分辨率=輸出模擬量的滿量程值/2n

2.精度

如果不考慮D/A的轉(zhuǎn)換誤差,D/A轉(zhuǎn)換的精度為其分辨率的大小。因此,要獲得一定精度的D/A轉(zhuǎn)換結(jié)果,首要條件是選擇有足夠分辨率的D/A轉(zhuǎn)換器。當(dāng)然,D/A轉(zhuǎn)換的精度不僅與D/A轉(zhuǎn)換器本身有關(guān),也與外電路以及電源有關(guān)。

3.轉(zhuǎn)換速度

轉(zhuǎn)換速度是DAC每秒可以轉(zhuǎn)換的次數(shù),其倒數(shù)為轉(zhuǎn)換時(shí)間。轉(zhuǎn)換時(shí)間是指從輸入數(shù)字量到轉(zhuǎn)換為模擬量輸出所需的時(shí)間。當(dāng)D/A轉(zhuǎn)換器的輸出形式為電流時(shí),轉(zhuǎn)換時(shí)間較短;當(dāng)D/A轉(zhuǎn)換器的輸出形式為電壓時(shí),由于轉(zhuǎn)換時(shí)間還要加上運(yùn)算放大器的延遲時(shí)間,因此轉(zhuǎn)換時(shí)間要長一點(diǎn),一般在幾十微秒內(nèi)。

4.建立時(shí)間

建立時(shí)間是描述D/A轉(zhuǎn)換速度快慢的一個重要指標(biāo),指從輸入數(shù)字量變化到輸出達(dá)到終值誤差±(1/2)LSB(最低有效位)時(shí)所需的時(shí)間,即輸入的數(shù)字量變化后,輸出模擬量穩(wěn)定到相應(yīng)的數(shù)字范圍內(nèi)所需的時(shí)間。

通常以建立時(shí)間來表示轉(zhuǎn)換速度。轉(zhuǎn)換器的輸出形式為電流時(shí)建立時(shí)間較短;而當(dāng)輸出形式為電壓時(shí),由于還要加上運(yùn)算放大器的延遲時(shí)間,因此建立時(shí)間要長一點(diǎn)。但總的來說,D/A轉(zhuǎn)換速度遠(yuǎn)高于A/D轉(zhuǎn)換速度,例如快速的D/A轉(zhuǎn)換器的建立時(shí)間只需1μs。

5.輸入編碼形式

輸入編碼形式是指D/A轉(zhuǎn)換電路輸入的數(shù)字量的形式。如二進(jìn)制碼、BCD碼等。

6.線性度

線性度是指D/A轉(zhuǎn)換器的實(shí)際轉(zhuǎn)移特性與理想直線之間的最大誤差或最大偏移。通常給出在一定溫度下的最大非線性度,一般為0.01%~0.03%。

7.輸出電平

不同型號的D/A轉(zhuǎn)換芯片,輸出電平相差很大。大部分D/A轉(zhuǎn)換芯片是電壓型輸出,一般為5~10V;也有高壓輸出型的,為24~30V。也有一些是電流型的輸出,低者為20mA左右,高者可達(dá)3A。

8.尖峰

尖峰是輸入的數(shù)字量發(fā)生變化時(shí)產(chǎn)生的瞬時(shí)誤差。通常尖峰的轉(zhuǎn)換時(shí)間很短,但幅度很大。在許多場合是不允許有尖峰存在的,應(yīng)采取措施予以消除。

正確了解D/A轉(zhuǎn)換器件的技術(shù)性能參數(shù),對于合理選用轉(zhuǎn)換芯片、正確設(shè)計(jì)接口電路十分重要。但要注意的是目前各器件生產(chǎn)廠家對同一參數(shù)給出不同的定義,使用時(shí)要注意。

其實(shí)在選擇D/A轉(zhuǎn)換器時(shí),不僅要考慮上述性能指標(biāo),還要考慮D/A轉(zhuǎn)換芯片的如下的一些結(jié)構(gòu)特性和應(yīng)用特性。

(1)數(shù)字輸入特性:串行輸入或并行輸入以及邏輯電平等。

(2)模擬輸出特性:電流輸出或電壓輸出以及輸出的范圍等。

(3)鎖存特性及轉(zhuǎn)換特性:是否具有鎖存功能,是單緩沖還是雙緩沖,如何啟動轉(zhuǎn)換等。

(4)參考電壓:是內(nèi)部參考電壓還是外部參考電壓以及其大小和極性等。

(5)電源:功耗的大小,是否具有低功耗的模式,正常工作時(shí)需要幾組電源及電壓的高低等。 6.3項(xiàng)目分析及實(shí)施

6.3.1任務(wù)1——燈光亮度調(diào)節(jié)器設(shè)計(jì)

1.任務(wù)要求和分析

1)任務(wù)要求

利用單片機(jī)控制一個發(fā)光二極管,使發(fā)光二極管的亮度逐漸變暗,再逐漸變亮,不斷循環(huán)。

2)任務(wù)分析

我們用一只電阻和發(fā)光二極管串聯(lián),發(fā)光二極管的正極接電源,負(fù)極接地就可以點(diǎn)亮發(fā)光二極管。當(dāng)其限流電阻固定時(shí),改變電源的電壓值就可以改變LED燈的亮度。改變電源電壓值實(shí)質(zhì)上是通過改變電壓達(dá)到改變電流的目的。也就是若要改變發(fā)光二極管的亮度,必須改變通過發(fā)光二極管的電流,因?yàn)榘l(fā)光二級管是電流驅(qū)動的,電流連續(xù)的變化時(shí),發(fā)光二極管的亮度也會逐漸變化。但是單片機(jī)輸出的是數(shù)字量,因此必須將這個數(shù)字量轉(zhuǎn)換成模擬量之后,再去控制流過發(fā)光二極管的電流,就能制作成一個燈光亮度調(diào)節(jié)器。這里我們需要D/A轉(zhuǎn)換芯片完成數(shù)字量到模擬量的轉(zhuǎn)換任務(wù)。

2.器件及設(shè)備選擇

集成的D/A轉(zhuǎn)換器我們稱為DAC芯片,有多種型號。根據(jù)DAC芯片是否可采用總線形式與單片機(jī)直接接口,可以分為兩類:一類在芯片內(nèi)部只有完成D/A轉(zhuǎn)換功能的基本電路,不帶數(shù)據(jù)鎖存器(如DAC0808),這類DAC芯片內(nèi)部結(jié)構(gòu)簡單,價(jià)格較低,但是與單片機(jī)連接時(shí)不太方便,為了保存來自單片機(jī)的轉(zhuǎn)換數(shù)據(jù),接口時(shí)需要另外加鎖存器;另一類在芯片內(nèi)部除了有完成D/A轉(zhuǎn)換功能的基本電路外,還帶有數(shù)據(jù)鎖存器(如DAC0832),帶鎖存器的D/A轉(zhuǎn)換器可以看作一個輸出口,可直接連接在數(shù)據(jù)總線上,不需要另外加鎖存器,目前這類DAC芯片應(yīng)用比較廣泛。目前單片機(jī)系統(tǒng)常用的D/A轉(zhuǎn)換器的轉(zhuǎn)換精度有8位、10位、12位等,與單片機(jī)的接口方式有并行接口,也有串行接口。這里我們選用DAC0832轉(zhuǎn)換器。

1)DAC0832芯片介紹

DAC0832由美國國家半導(dǎo)體公司研制,同系列芯片還有DAC0830和DAC0831,它們都是8位D/A轉(zhuǎn)換器,可以互換。DAC0832是采用COMS/Si-Cr工藝制成的雙列直插式單片8位D/A轉(zhuǎn)換器。它可以直接與CPU相連,也可以同單片機(jī)相連,以電流形式輸出。當(dāng)需要轉(zhuǎn)換為電壓輸出時(shí),可外接運(yùn)算放大器。其主要特性有:

(1)輸出電流線性度可在滿量程下調(diào)節(jié);

(2)轉(zhuǎn)換時(shí)間(電流建立時(shí)間)為1μs;

(3)數(shù)據(jù)輸入可采用雙緩沖、單緩沖或直通方式;

(4)增益溫度補(bǔ)償為0.02%FS/℃;

(5)每次輸入數(shù)字為8位二進(jìn)制數(shù);

(6)低功耗,20mW;

(7)邏輯電平輸入與TTL兼容;

(8)基準(zhǔn)電壓的范圍為±10V;

(9)單電源供電,可在+5~+15V內(nèi)正常工作。

DAC0832可以直接接收從單片機(jī)輸入的數(shù)字量,并經(jīng)一定的方式轉(zhuǎn)換成模擬量。D/A轉(zhuǎn)換器輸出的模擬量與輸入的數(shù)字量是成正比關(guān)系的。

DAC0832的工作原理很簡單,它將數(shù)字量的每一位按權(quán)值分別轉(zhuǎn)換成模擬量,再通過運(yùn)算放大器求和相加,因此D/A轉(zhuǎn)換器內(nèi)部有一個解碼網(wǎng)絡(luò),以實(shí)現(xiàn)按權(quán)值分別進(jìn)行D/A轉(zhuǎn)換。

DAC0832由兩個數(shù)據(jù)鎖存器、一個8位D/A轉(zhuǎn)換器和控制電路等組成。DAC0832的內(nèi)部結(jié)構(gòu)如圖6-3所示。

8位輸入寄存器由8個D鎖存器組成。它的8條輸入線可以直接和單片機(jī)的數(shù)據(jù)總線相連。LE1為其控制輸入端,當(dāng)LE1=1時(shí),8位輸入寄存器處于送數(shù)狀態(tài);當(dāng)LE1=0時(shí),為鎖存狀態(tài)。圖6-3

DAC0832的內(nèi)部結(jié)構(gòu)圖

8位DAC寄存器也由8個D鎖存器組成。8位輸入數(shù)據(jù)只有經(jīng)過DAC寄存器才能送到D/A轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。它的控制端為LE2,當(dāng)LE2=1時(shí),8位DAC寄存器處于送數(shù)狀態(tài);當(dāng)

LE2=0時(shí),為鎖存狀態(tài)。DAC寄存器的輸出數(shù)據(jù)直接送到8位D/A轉(zhuǎn)換器進(jìn)行數(shù)模轉(zhuǎn)換。

8位D/A轉(zhuǎn)換器是采用一個R-2R的T型電阻網(wǎng)絡(luò)的D/A轉(zhuǎn)換電路,其輸出是與數(shù)字量成比例的電流。為了得到電壓信號還需外接運(yùn)算放大器??刂七壿嫴糠纸邮胀鈦淼目刂菩盘栆钥刂艱AC0832的工作。當(dāng)ILE、CS、WR1都有效時(shí),8位輸入寄存器處于送數(shù)狀態(tài),數(shù)據(jù)由8位輸入寄存器的輸入端傳送到其輸出端。當(dāng)XFER、WR2都有效時(shí),DAC寄存器處于送數(shù)狀態(tài),數(shù)據(jù)由DAC寄存器的輸入端傳送到其輸出端,并進(jìn)行D/A轉(zhuǎn)換。雙列直插式封裝的DAC0832的引腳排列如圖6-4所示。圖6-4

DAC0832的引腳運(yùn)算放大器的接法如圖6-5所示。圖6-5運(yùn)算放大器的接法

2)DAC0832的輸出

DAC0832是電流輸出型D/A轉(zhuǎn)換器,為了得到電壓輸出,在使用時(shí)需要在兩個電流輸出端連接運(yùn)算放大器。根據(jù)運(yùn)放和DAC0832的連接方法,運(yùn)放的輸出可以分為單極性輸出和雙極性輸出兩種。圖6-6是一種單極性輸出電路。圖6-6

DAC0832單極性電壓輸出電路在圖6-4中DAC0832的Iout2被接地,Iout1輸出的電流經(jīng)運(yùn)放器741輸出一個單極性電壓。運(yùn)放的輸出電壓為

式中,B為DAC0832的輸入數(shù)字量。由于VREF接-5V的基準(zhǔn)電壓,所以單極性電壓的范圍為0~+5V。

如果在單極性輸出的電路中再加一個加法器,便構(gòu)成雙極性輸出電路。圖6-7是一種雙極性電壓輸出電路。圖6-7

DAC0832雙極性電壓輸出電路由以上運(yùn)放的連接方法,可以導(dǎo)出輸出電壓與輸入數(shù)據(jù)的關(guān)系。假設(shè)運(yùn)放OP1的輸出為Vout1,OP2的輸出為Vout,則

根據(jù)上式,當(dāng)VREF為正,數(shù)字量在0x01~0x7F之間變化時(shí),Vout為負(fù)值;當(dāng)數(shù)字量在0x80~0xFF之間變化時(shí),Vout為正值。

3)DAC0832與51單片機(jī)的接口方式

DAC0832由輸入寄存器和DAC寄存器構(gòu)成兩級數(shù)據(jù)輸入鎖存,也就是可以實(shí)現(xiàn)兩次緩沖,即在輸出的同時(shí),還可以存放一個帶轉(zhuǎn)換的數(shù)字量,這就提高了轉(zhuǎn)換速度。當(dāng)多芯片同時(shí)工作時(shí),可用同步信號實(shí)現(xiàn)各模擬量同時(shí)輸出。所以DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。直通方式是數(shù)據(jù)直接輸入(兩級直通)的形式,單緩沖方式是單級鎖存(一級鎖存,一級直通)形式,雙緩沖方式的數(shù)據(jù)輸入可以采用兩級鎖存(雙鎖存)的形式。在3種不同的工作方式下,DAC0832與單片機(jī)的接口也不同。

(1)直通方式下的接口電路。

在直通方式下,兩個8位數(shù)據(jù)寄存器都處于數(shù)據(jù)接收狀態(tài),即LE1和LE2都為1。為此,ILE=1,而WR1、WR2、CS和XFER均為0。輸入數(shù)據(jù)直接送到內(nèi)部D/A轉(zhuǎn)換器去轉(zhuǎn)換。

直通方式下51單片機(jī)與DAC0832的接口電路如圖6-8所示。

用指令“P1=0xFF;”就可以將一個數(shù)字量(0xFF)轉(zhuǎn)換為模擬量。圖6-8直通方式下89C51與DAC0832的連接圖

(2)單緩沖方式下的接口電路。所謂單緩沖方式,就是使DAC0832的兩個8位數(shù)據(jù)寄存器中有一個處于直通方式,而另一個處于受控的鎖存方式,或者兩個8位數(shù)據(jù)寄存器處于同時(shí)受控的方式,即同時(shí)送數(shù),同時(shí)鎖存。在實(shí)際應(yīng)用中,如果只有一路模擬量輸出或雖有幾路模擬量但并不要求同步輸出的情況,就可采用單緩沖方式。

例如,在單緩沖工作方式下,可以將8位DAC寄存器置于直通方式。為此,應(yīng)將WR2和XFER接地,而輸入寄存器的工作狀態(tài)受單片機(jī)的控制。單緩沖方式下51單片機(jī)與DAC0832的一種接口電路如圖6-9所示。圖6-9單緩沖方式下89C51與DAC0832的連接圖一

DAC0832單緩沖工作方式的另一種接口電路如圖6-10所示。圖6-10單緩沖方式下89C51與DAC0832的連接圖二

(3)雙緩沖方式下的接口電路。所謂雙緩沖方式,就是把DAC0832的兩個鎖存器都接成受控鎖存方式。DAC0832的WR1、WR2、CS和XFER都受單片機(jī)送來的信號的控制。雙緩沖方式下51單片機(jī)與兩片DAC0832的接口電路如圖6-11所示。圖6-11雙緩沖方式下89C51與兩片DAC0832的連接圖

3.任務(wù)實(shí)施

1)燈光亮度調(diào)節(jié)器硬件原理圖設(shè)計(jì)

用Protus軟件繪制燈光亮度調(diào)節(jié)器的硬件電路如圖6-12所示。DAC0832工作于單緩沖方式,地址由P2和P0口決定,由于片選信號CS必須低電平有效,所以P2.7須為0,這樣DAC0832的地址為0x7FFF。由于DAC0832的VREF接-5V的基準(zhǔn)電壓,所以其輸出的單極性電壓在0~+5V之間變化。圖6-12燈光亮度調(diào)節(jié)器硬件電路圖

2)燈光亮度調(diào)節(jié)器軟件程序設(shè)計(jì)

根據(jù)任務(wù)的要求,依次從單機(jī)PI口送出0xFF到0x00數(shù)字量給DAC0832,經(jīng)過D/A轉(zhuǎn)換后輸出的模擬量就可以使發(fā)光二極管由亮變暗,反之由暗變亮。

源程序如下:程序分析:

DAC0832的地址為0x7FFF,在程序的開始就定義好,這樣只要將傳送的數(shù)字信號送給該地址就可以了。首先將i=255送入DAC0832,轉(zhuǎn)換出的電壓就是+5V,LED處于最亮的狀況,逐漸減小i值,則輸出的電壓也逐漸減小,LED由亮逐漸變暗,每一次改變i值延時(shí)1ms,當(dāng)i值減到0后又逐漸增加,輸出的電壓也逐漸增大,LED又由暗逐漸變亮,用while(1)反復(fù)執(zhí)行。

3)軟硬件聯(lián)合調(diào)試

在Protus環(huán)境下,將編譯好的軟件下載到單片機(jī)中運(yùn)行,可以看到LED燈如任務(wù)要求的一樣先由亮逐漸變暗,再由暗逐漸變亮。6.3.2任務(wù)2——信號發(fā)生器的設(shè)計(jì)

1.任務(wù)要求和分析

1)任務(wù)要求

用單片機(jī)AT89C51和D/A轉(zhuǎn)換芯片DAC0832設(shè)計(jì)簡易信號發(fā)生器,輸出鋸齒波、三角波、方波或正弦波。

2)任務(wù)分析

鋸齒波、三角波和方波的生成比較簡單,向DAC0832反復(fù)送入0x00~0xFF數(shù)據(jù),就會生成幅度為0V~+5V的鋸齒波,而向DAC0832反復(fù)送入0x00~0xFF和0xFF~0x00數(shù)據(jù),就會生成幅度為0V~+5V的三角波,若向DAC0832送入一定時(shí)長的0x00和一定時(shí)長的0xFF,則會生成幅度為0V~+5V的方波,其周期與單片機(jī)的機(jī)器周期和程序中的延時(shí)長短相關(guān)。正弦波的生成相對復(fù)雜一些。如果把正弦信號按等時(shí)間間隔進(jìn)行分割,計(jì)算出分割時(shí)刻的信號幅值,將這些幅值對應(yīng)的數(shù)字量存儲到ROM中,然后用查表的方法取出這些取樣值,送到DAC0832轉(zhuǎn)換后輸出,那么輸出信號就是正弦波形。比如要產(chǎn)生頻率為50Hz的正弦波信號,波形如圖6-13所示。如果將正弦波信號以5°作為1個階梯,則共分割成360°/5°=72份,則時(shí)間間隔應(yīng)該為20ms/72=0.278ms。當(dāng)參考電壓為-5V時(shí),72個采樣值、輸出電壓值、正弦值、角度如表6-1所示。表6-1正弦波數(shù)據(jù)表

2.器件及設(shè)備選擇

我們運(yùn)用實(shí)驗(yàn)板中的D/A轉(zhuǎn)換部分就可以設(shè)計(jì)簡易的信號發(fā)生器,其中用到的主要器件就是AT89C51、DAC0832、UA741等,輸出波形可以通過示波器來觀察。

3.任務(wù)實(shí)施

1)簡易信號發(fā)生器硬件原理圖設(shè)計(jì)

信號發(fā)生器的硬件電路如圖6-14所示。DAC0832工作于單緩沖方式,地址為0x7FFF。由于DAC0832的VREF接-5V的基準(zhǔn)電壓,用UA741運(yùn)放將電流轉(zhuǎn)換為電壓,因此其輸出的單極性電壓在0~+5V之間變化。在電壓輸出端加入一只虛擬示波器和一只電壓表用于觀察結(jié)果。圖6-14信號發(fā)生器的硬件電路

2)簡易信號發(fā)生器軟件程序設(shè)計(jì)

任務(wù)要求的波形不同,程序就有所區(qū)別,我們分別加以介紹。

(1)產(chǎn)生鋸齒波的源程序如下:

#include<reg51.h>

#include<absacc.h>

#defineuintunsignedint

#defineucharunsignedchar

#defineDAC0832XBYTE[0x7FFF]

voidDelayMS(uintx)

{uchart;程序分析:

程序每循環(huán)一次,i加1,因此實(shí)際上鋸齒波的上升邊是由255個小階梯構(gòu)成的。但因?yàn)殡A梯很小,所以宏觀上看就如同線性增長鋸齒波一樣??赏ㄟ^循環(huán)程序段的機(jī)器周期數(shù),計(jì)算出鋸齒波的周期。并可根據(jù)需要,通過延時(shí)的辦法來改變波形周期。當(dāng)延遲時(shí)間較短時(shí),可用空操作來實(shí)現(xiàn)(本程序就是如此);當(dāng)需要延遲時(shí)間較長時(shí),可以使用一個延時(shí)子程序。延遲時(shí)間不同,波形周期不同,鋸齒波的斜率就不同。通過i加1,可得到正向的鋸齒波。如要得到負(fù)向的鋸齒波,改為減1指令即可實(shí)現(xiàn)。程序中i的變化范圍是0~255,因此得到的鋸齒波是滿幅度的。如要求得到非滿幅鋸齒波,可通過計(jì)算求得數(shù)字量的初值和終值,然后在程序中通過置初值判終值的辦法即可實(shí)現(xiàn)。

(2)產(chǎn)生三角波的源程序如下:

#include<reg51.h>

#include<absacc.h>

#defineuintunsignedint

#defineucharunsignedchar

#defineDAC0832XBYTE[0x7FFF]

voidDelayMS(uintx)

{uchart;程序分析:

程序中將數(shù)字從0~255逐個增大送給DAC0832轉(zhuǎn)換,輸出的電壓會從0~+5V上升,之后又將數(shù)字從255~0逐個減小給DAC0832轉(zhuǎn)換,輸出的電壓會從+5V~0下降,形成三角波。

(3)產(chǎn)生正弦波的源程序如下:

#include<reg51.h>

#include<absacc.h>

#defineuintunsignedint

#defineucharunsignedchar

#defineDAC0832XBYTE[0x7FFF]程序分析:

我們把表6-1中計(jì)算好的正弦波各點(diǎn)的數(shù)值存放在數(shù)組data[72]中,這樣在程序中只要將這一個周期的數(shù)值反復(fù)送入DAC0832轉(zhuǎn)換,就可以得到連續(xù)的正弦波信號。

3)軟硬件聯(lián)合調(diào)試

將上面相應(yīng)波形的程序編譯為*.hex文件后,加載到單片機(jī)中運(yùn)行,在虛擬示波器上可以看到對應(yīng)的波形圖。在Proteus仿真運(yùn)行過程中可能會提示CPU過載,這時(shí)虛擬示波器可能會無法實(shí)時(shí)顯示波形,可將虛擬示波器通道A中指向1的黃色旋鈕從1開始先正向旋轉(zhuǎn)一圈,再反向旋轉(zhuǎn)一圈,這樣會使虛擬示波器盡快刷新顯示波形。

如果是將程序下載到實(shí)驗(yàn)板中,可以用示波器檢測UA741輸出的實(shí)際波形。

6.4項(xiàng)目拓展

1.TLC5615主要特性

(1)5V單電源供電;

(2)10位CMOS電壓輸出;

(3)與CPU3線串行接口;

(4)高阻抗基準(zhǔn)輸入端;

(5)DAC的最大輸出電壓為基準(zhǔn)輸入電壓的2倍;

(6)上電時(shí)內(nèi)部自動復(fù)位;

(7)低功耗,最大功耗為1.75mW;

(8)轉(zhuǎn)換速率快,更新率為1.21MHz,建立時(shí)間12.5μs。小型(D)封裝TLC5615CD和塑料DIP(P)封裝TLC5615CP的工作溫度范圍均為0℃~70℃;而小型(D)封裝TLC5615ID和塑料DIP(P)封裝TLC5615IP的工作溫度在-40℃~85℃范圍內(nèi)。

2.TLC5615內(nèi)部結(jié)構(gòu)及引腳

TLC5615的內(nèi)部功能框圖如圖6-15所示,它主要由以下幾部分組成:

(1)10位DAC電路;

(2)一個16位移位寄存器,接受串行移入的二進(jìn)制數(shù)。并且有一個級聯(lián)的數(shù)據(jù)輸出端DOUT;

(3)并行輸入/輸出的10位DAC寄存器,為10位DAC電路提供待轉(zhuǎn)換的二進(jìn)制數(shù)據(jù);圖6-15

TLC5615的內(nèi)部功能框圖

(4)電壓跟隨器為參考電壓端REFIN提供很高的輸入阻抗,大約10MΩ;

(5)×2電路提供最大值為2倍于REFIN的輸出;

(6)上電復(fù)位電路和控制電路。

8腳直插式TLC5615的引腳分布如圖6-16所示。各引腳功能如下:

(1)DIN,串行二進(jìn)制數(shù)輸入端;

(2)SCLK,串行時(shí)鐘輸入端;

(3)CS,芯片選擇,低電平有效;

(4)DOUT,串行數(shù)據(jù)輸出端;

(5)AGND,模擬地;

(6)REFIN,基準(zhǔn)電壓輸入端;

(7)OUT,DAC模擬電壓輸出端;

(8)VDD,正電源電壓端。

3.TLC5615時(shí)序及工作過程

TLC5615的工作電源一般要求在4.5~5.5V,通常取5V;高電平輸入電壓不小于2.4V;低電平輸入電壓不高于0.8V,基準(zhǔn)輸入電壓為2V~(VDD-2),通常取2.048V,負(fù)載電阻一般不小于2kΩ。

TLC5615工作時(shí)序如圖6-17所示。圖6-17

TLC5615時(shí)序

TLC5615有兩種工作方式。從圖6-15可以看出,16位移位寄存器分為高4位虛擬位、低2位填充位以及10位有效位。在TLC5615工作時(shí),只需要向16位移位寄存器按先后輸入10位有效位和低2位填充位,2位填充位數(shù)據(jù)任意,這是第一種方式,即12位數(shù)據(jù)序列。第二種方式為級聯(lián)方式,即16位數(shù)據(jù)序列,可以將本片的DOUT接到下一片的DIN,需要向16

溫馨提示

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

最新文檔

評論

0/150

提交評論