單片機(jī)技術(shù)與項(xiàng)目訓(xùn)練 課件 第8章 單片機(jī)AD轉(zhuǎn)換接口設(shè)計(jì)_第1頁
單片機(jī)技術(shù)與項(xiàng)目訓(xùn)練 課件 第8章 單片機(jī)AD轉(zhuǎn)換接口設(shè)計(jì)_第2頁
單片機(jī)技術(shù)與項(xiàng)目訓(xùn)練 課件 第8章 單片機(jī)AD轉(zhuǎn)換接口設(shè)計(jì)_第3頁
單片機(jī)技術(shù)與項(xiàng)目訓(xùn)練 課件 第8章 單片機(jī)AD轉(zhuǎn)換接口設(shè)計(jì)_第4頁
單片機(jī)技術(shù)與項(xiàng)目訓(xùn)練 課件 第8章 單片機(jī)AD轉(zhuǎn)換接口設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)A/D轉(zhuǎn)換接口設(shè)計(jì)第8章在單片機(jī)測(cè)控系統(tǒng)中經(jīng)常需要測(cè)量非電量數(shù)據(jù),如溫度、壓力、流量、速度等,要測(cè)量這些數(shù)據(jù)只有先使用傳感器把它們轉(zhuǎn)換成連續(xù)變化的模擬電信號(hào)(電壓或電流),再將模擬電信號(hào)轉(zhuǎn)換成數(shù)字量后才能在單片機(jī)中進(jìn)行處理。實(shí)現(xiàn)把模擬量轉(zhuǎn)換成數(shù)字量的器件稱為A/D轉(zhuǎn)換器(ADC)。本章主要講解A/D轉(zhuǎn)換接口和單片機(jī)的連接原理,以及單片機(jī)如何實(shí)現(xiàn)對(duì)A/D轉(zhuǎn)換芯片的讀/寫控制。引言目錄A/D轉(zhuǎn)換器工作原理1A/D轉(zhuǎn)換芯片及接口設(shè)計(jì)2本章小結(jié)4項(xiàng)目訓(xùn)練:數(shù)字電壓表設(shè)計(jì)3本章習(xí)題5行業(yè)PPT模板/hangye/8.1

A/D轉(zhuǎn)換器工作原理8.1.1A/D轉(zhuǎn)換器概述只有經(jīng)過A/D轉(zhuǎn)換,單片機(jī)才能進(jìn)行數(shù)據(jù)處理。隨著超大規(guī)模集成電路技術(shù)的飛速發(fā)展,大量結(jié)構(gòu)不同、性能各異的A/D轉(zhuǎn)換芯片應(yīng)運(yùn)而生。目前,A/D轉(zhuǎn)換芯片較多,對(duì)設(shè)計(jì)者來說,只需合理地選擇芯片即可?,F(xiàn)在部分單片機(jī)片內(nèi)也集成了A/D轉(zhuǎn)換器,位數(shù)有8位、10位或12位等,且轉(zhuǎn)換速度也很快,但是在片內(nèi)A/D轉(zhuǎn)換器不能滿足需要的情況下,還需要使用外部ADC芯片。8.1.2A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)1.分辨率分辨率表示輸出數(shù)字量變化一個(gè)最低有效位(LeastSignificantBit,LSB)所對(duì)應(yīng)的輸入模擬量的變化量。分辨率取決于A/D轉(zhuǎn)換器的位數(shù),習(xí)慣上用輸出的二進(jìn)制數(shù)的位數(shù)或BCD碼的位數(shù)來表示。例如,A/D轉(zhuǎn)換器AD1674的滿量程輸入電壓為5V,可輸出12位二進(jìn)制數(shù),即用212個(gè)數(shù)進(jìn)行量化,其分辨率為1LSB,5V/212=1.22mV,其分辨率為12位,或者說能分辨出輸入電壓1.22mV的變化。2.量化誤差模擬量是連續(xù)的,而數(shù)字量是離散的,當(dāng)A/D轉(zhuǎn)換器的位數(shù)固定后,數(shù)字量不能把模擬量的所有值都精確地表示出來,這種由A/D轉(zhuǎn)換器的有限分辨率所造成的真實(shí)值與轉(zhuǎn)換值之間的誤差稱為量化誤差。一般量化誤差為數(shù)字量的LSB所表示的模擬量,理想的量化誤差容限是±1/2LSB。8.1.2A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)3.轉(zhuǎn)換精度A/D轉(zhuǎn)換器的精度是指與數(shù)字輸出量所對(duì)應(yīng)的模擬輸入量的實(shí)際值與理論值之間的差值。在A/D轉(zhuǎn)換電路中,與每個(gè)數(shù)字輸出量對(duì)應(yīng)的模擬輸入量并不是一個(gè)單一的數(shù)值,而是一個(gè)范圍值Δ,Δ的大小理論上取決于電路的分辨率。定義Δ為數(shù)字量的LSB。但在外界環(huán)境的影響下,與每個(gè)數(shù)字輸出量對(duì)應(yīng)的模擬輸入量的實(shí)際范圍往往偏離理論值Δ。轉(zhuǎn)換精度分為絕對(duì)精度和相對(duì)精度。絕對(duì)精度一般以LSB為單位給出,目前常用的A/D轉(zhuǎn)換集成芯片的絕對(duì)精度為1/4~2LSB。相對(duì)精度是絕對(duì)精度與滿量程的比值。8.1.2A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)4.轉(zhuǎn)換速度與轉(zhuǎn)換時(shí)間轉(zhuǎn)換速度是A/D轉(zhuǎn)換器能夠重復(fù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換的速度,即每秒轉(zhuǎn)換的次數(shù);轉(zhuǎn)換時(shí)間是完成一次A/D轉(zhuǎn)換所需的時(shí)間(包括穩(wěn)定時(shí)間),是轉(zhuǎn)換速度的倒數(shù)。轉(zhuǎn)換時(shí)間越短,A/D轉(zhuǎn)換器適應(yīng)輸入信號(hào)快速變化的能力越強(qiáng)。由于生產(chǎn)商在設(shè)計(jì)A/D轉(zhuǎn)換器時(shí)考慮了各種技術(shù)指標(biāo)對(duì)精度的影響,一般各種誤差都控制在最小分辨率以內(nèi),所以,通常在進(jìn)行A/D轉(zhuǎn)換器選型時(shí),分辨率和轉(zhuǎn)換速度是最重要的技術(shù)指標(biāo)。5.溫度系數(shù)溫度系數(shù)是A/D轉(zhuǎn)換器受溫度影響的程度,一般用環(huán)境溫度變化1℃所產(chǎn)生的相對(duì)誤差來表示,單位為PPM/℃(10-6/℃)。8.1.3A/D轉(zhuǎn)換器分類A/D轉(zhuǎn)換器種類很多,按其轉(zhuǎn)換原理可分為逐次比較式(也稱為逐次逼近式)、雙積分式、量化反饋式和并行式A/D轉(zhuǎn)換器;按其分辨率可分為8~16位的A/D轉(zhuǎn)換器。盡管A/D轉(zhuǎn)換器種類很多,但目前廣泛應(yīng)用在單片機(jī)應(yīng)用系統(tǒng)中的主要有逐次比較式A/D轉(zhuǎn)換器和雙積分式A/D轉(zhuǎn)換器。此外,Σ-Δ式轉(zhuǎn)換器也逐漸得到重視和應(yīng)用。逐次比較式A/D轉(zhuǎn)換器在精度、速度和價(jià)格方面都適中,是最常用的A/D轉(zhuǎn)換器,其常用產(chǎn)品有ADC0801~ADC0805型8位MOS型A/D轉(zhuǎn)換器、ADC0808/0809型8位MOS型A/D轉(zhuǎn)換器、ADC0816/0817型8位MOS型A/D轉(zhuǎn)換器、AD574型快速12位A/D轉(zhuǎn)換器。雙積分式A/D轉(zhuǎn)換器具有精度高、抗干擾性好、價(jià)格低廉等優(yōu)點(diǎn),與逐次比較式A/D轉(zhuǎn)換器相比,其轉(zhuǎn)換速度較慢,近年來在單片機(jī)應(yīng)用領(lǐng)域中已得到廣泛應(yīng)用。雙重積分式A/D轉(zhuǎn)換器的常用產(chǎn)品有ICL7106/ICL7107/ICL7126、MC14433/5G14433、ICL7135等。8.1.3A/D轉(zhuǎn)換器分類Σ-Δ式A/D轉(zhuǎn)換器具有雙積分式與逐次比較式A/D轉(zhuǎn)換器的優(yōu)點(diǎn)。它對(duì)工業(yè)現(xiàn)場(chǎng)的串模干擾具有較強(qiáng)的抑制能力,不亞于雙積分式A/D轉(zhuǎn)換器。它與雙積分式A/D轉(zhuǎn)換器相比,有較高的轉(zhuǎn)換速度。與逐次比較式A/D轉(zhuǎn)換器相比,它有較高的信噪比、分辨率,且線性度好。由于上述優(yōu)點(diǎn),Σ-Δ式A/D轉(zhuǎn)換器得到了人們的重視,已有多種Σ-Δ式A/D轉(zhuǎn)換器芯片可供用戶選用。A/D轉(zhuǎn)換器按照輸出數(shù)字量的有效位數(shù)分為8位、10位、12位、14位、16位、24位等并行輸出,以及BCD碼輸出的3位半、4位半、5位半等多種。目前,除并行A/D轉(zhuǎn)換器外,帶有同步SPI串行接口的A/D轉(zhuǎn)換器的使用也逐漸增多。它具有占用單片機(jī)的端口線少、使用方便、接口簡(jiǎn)單等優(yōu)點(diǎn),已經(jīng)得到廣泛應(yīng)用。較為典型的帶有同步SPI串行接口的A/D轉(zhuǎn)換器為TI公司的TLC549(8位)、TLC1549(10位)、TLC1543(10位)和TLC2543(12位)等。A/D轉(zhuǎn)換器按照轉(zhuǎn)換速度可大致分為超高速(轉(zhuǎn)換時(shí)間≤1ns)、高速(轉(zhuǎn)換時(shí)間≤1s)、中速(轉(zhuǎn)換時(shí)間≤1ms)、低速(轉(zhuǎn)換時(shí)間≤1s)等幾種。目前,許多新型的A/D轉(zhuǎn)換器已將多路轉(zhuǎn)換開關(guān)、時(shí)鐘電路、基準(zhǔn)電壓源、二/十進(jìn)制譯碼器和轉(zhuǎn)換電路集成在一個(gè)芯片內(nèi),為用戶提供了極大的方便。8.1.4A/D轉(zhuǎn)換器與單片機(jī)接口1.A/D轉(zhuǎn)換器數(shù)字量輸出線與單片機(jī)的連接方法A/D轉(zhuǎn)換器數(shù)字量輸出線與單片機(jī)的連接方法與其內(nèi)部結(jié)構(gòu)有關(guān)。對(duì)于內(nèi)部帶有三態(tài)鎖存數(shù)據(jù)輸出緩沖器的A/D轉(zhuǎn)換器(如ADC0809、AD574等),可直接與單片機(jī)相連;對(duì)于內(nèi)部不帶鎖存器的A/D轉(zhuǎn)換器,一般通過鎖存器或并行I/O接口與單片機(jī)相連。此外,隨著位數(shù)的不同,A/D轉(zhuǎn)換器與單片機(jī)的連接方法也不同。對(duì)于8位A/D轉(zhuǎn)換器,其數(shù)字量輸出線可與8位單片機(jī)數(shù)據(jù)線對(duì)應(yīng)相接;對(duì)于8位以上的A/D轉(zhuǎn)換器,須增加讀取控制邏輯,對(duì)8位以上的數(shù)據(jù)分兩次或多次讀取。為了便于連接,一些A/D轉(zhuǎn)換器產(chǎn)品內(nèi)部已帶有讀取控制邏輯,而對(duì)于內(nèi)部不包含讀取控制邏輯的A/D轉(zhuǎn)換器,在與8位單片機(jī)相連時(shí),應(yīng)增設(shè)三態(tài)鎖存數(shù)據(jù)輸出緩沖器對(duì)轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行鎖存。8.1.4A/D轉(zhuǎn)換器與單片機(jī)接口2.A/D轉(zhuǎn)換器的啟動(dòng)方式一個(gè)A/D轉(zhuǎn)換器開始轉(zhuǎn)換時(shí),必須加一個(gè)啟動(dòng)轉(zhuǎn)換信號(hào),這一啟動(dòng)轉(zhuǎn)換信號(hào)要由單片機(jī)提供。不同型號(hào)的A/D轉(zhuǎn)換器對(duì)啟動(dòng)轉(zhuǎn)換信號(hào)的要求也不同,一般分為脈沖啟動(dòng)和電平啟動(dòng)兩種。對(duì)于脈沖啟動(dòng)型A/D轉(zhuǎn)換器,只要給其啟動(dòng)控制端加一個(gè)符合要求的脈沖信號(hào)即可,如ADC0809、ADC574等,通常由WR和地址譯碼器的輸出經(jīng)一定的邏輯電路進(jìn)行控制;對(duì)于電平啟動(dòng)型A/D轉(zhuǎn)換器,當(dāng)把符合要求的電平加到啟動(dòng)控制端上時(shí),就立即開始轉(zhuǎn)換,而且,在轉(zhuǎn)換過程中,必須保持這個(gè)電平,否則轉(zhuǎn)換會(huì)終止。因此,在這種啟動(dòng)方式下,單片機(jī)的控制信號(hào)必須經(jīng)過鎖存器保持一段時(shí)間,一般采用D觸發(fā)器、鎖存器或并行I/O接口等來實(shí)現(xiàn)。ADS70、AD571等都屬于電平啟動(dòng)型A/D轉(zhuǎn)換器。8.1.4A/D轉(zhuǎn)換器與單片機(jī)接口3.轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)處理方法當(dāng)A/D轉(zhuǎn)換器轉(zhuǎn)換結(jié)束時(shí),它會(huì)輸出一個(gè)轉(zhuǎn)換結(jié)束標(biāo)志信號(hào),通知單片機(jī)讀取轉(zhuǎn)換結(jié)果。單片機(jī)檢查并判斷A/D轉(zhuǎn)換結(jié)束的方法一般有中斷和查詢兩種。對(duì)于中斷方式,可將轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)接到單片機(jī)的中斷請(qǐng)求輸入線或允許中斷的I/O接口的相應(yīng)引腳上,作為中斷請(qǐng)求信號(hào);對(duì)于查詢方式,可把轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)經(jīng)三態(tài)門送到單片機(jī)的某一位I/O口線上,作為查詢狀態(tài)信號(hào)。4.時(shí)鐘的連接方法A/D轉(zhuǎn)換器的另一個(gè)重要連接信號(hào)是時(shí)鐘,其頻率是決定芯片轉(zhuǎn)換速度的基準(zhǔn)。整個(gè)A/D轉(zhuǎn)換過程都是在時(shí)鐘的作用下完成的。A/D轉(zhuǎn)換時(shí)鐘的提供方法有兩種:一種是由芯片內(nèi)部提供(如AD574),一般不允許外加電路;另一種是由外部提供,有的用單獨(dú)的振蕩電路產(chǎn)生,更多的是把單片機(jī)輸出時(shí)鐘分頻后送到A/D轉(zhuǎn)換器的相應(yīng)時(shí)鐘端。8.2

A/D轉(zhuǎn)換芯片及接口設(shè)計(jì)8.2.1ADC0809及接口設(shè)計(jì)1.ADC0809簡(jiǎn)介ADC0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的8路模擬輸入的8位逐次比較式A/D轉(zhuǎn)換器件,采用CMOS工藝,具有較低的功耗,轉(zhuǎn)換時(shí)間為100μs(當(dāng)時(shí)鐘輸入頻率fc=640kHz時(shí)),其內(nèi)部結(jié)構(gòu)和引腳如圖8-1所示。圖8-1ADC0809的內(nèi)部結(jié)構(gòu)和引腳8.2.1ADC0809及接口設(shè)計(jì)1.ADC0809簡(jiǎn)介8路模擬開關(guān)根據(jù)地址譯碼信號(hào)選擇8路模擬輸入,允許8路模擬量分時(shí)輸入,公用一個(gè)8位A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼器完成對(duì)ADDA、ADDB、ADDC(A、B、C)三個(gè)地址位的鎖存和譯碼,其譯碼輸出用于通道選擇,只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換,是國(guó)內(nèi)應(yīng)用較為廣泛的8位通用A/D轉(zhuǎn)換芯片之一。8位A/D轉(zhuǎn)換器是逐次比較式的,由控制與時(shí)序電路、比較器、逐次逼近寄存器(SAR)、樹狀開關(guān)及256R電阻階梯網(wǎng)絡(luò)等組成,實(shí)現(xiàn)逐次比較A/D轉(zhuǎn)換,在SAR中得到A/D轉(zhuǎn)換完成的數(shù)字量。轉(zhuǎn)換結(jié)果通過三態(tài)鎖存數(shù)據(jù)輸出緩沖器輸出,輸出鎖存器用于存放和輸出轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE引腳變?yōu)楦唠娖綍r(shí),就可以從三態(tài)鎖存數(shù)據(jù)輸出緩沖器中取走A/D轉(zhuǎn)換結(jié)果。三態(tài)數(shù)據(jù)鎖存輸出緩沖器可以直接與系統(tǒng)數(shù)據(jù)總線相連。8.2.1ADC0809及接口設(shè)計(jì)1.ADC0809簡(jiǎn)介1)ADC0809的主要特性(1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。(2)具有轉(zhuǎn)換啟停控制端。(3)轉(zhuǎn)換時(shí)間為100μs(當(dāng)時(shí)鐘輸入頻率為640kHz時(shí))、130μs(時(shí)鐘頻率為500kHz時(shí))。(4)單個(gè)+5V電源供電。(5)模擬輸入電壓為0~+5V,不需要零點(diǎn)和滿刻度校準(zhǔn)。(6)工作溫度為-40~+85℃。(7)低功耗,約15mW。8.2.1ADC0809及接口設(shè)計(jì)2.ADC0809的外部特性(引腳功能)ADC0809有28個(gè)引腳,采用雙列直插式封裝,如圖8-1(b)所示。下面說明各引腳的功能。IN0~I(xiàn)N7:8路模擬量輸入端,用于輸入被轉(zhuǎn)換的模擬電壓,一次只能選通其中的某一路進(jìn)行轉(zhuǎn)換,選通的通道由ALE上升沿時(shí)送入的ADDC、ADDB、ADDA引腳信號(hào)決定。D0~D7:8位數(shù)字量輸出端。圖8-1ADC0809的內(nèi)部結(jié)構(gòu)和引腳8.2.1ADC0809及接口設(shè)計(jì)ADDA、ADDB、ADDC(A、B、C):模擬輸入通道地址選擇線,分別與單片機(jī)的3根地址線相連,其8位編碼分別對(duì)應(yīng)IN0~I(xiàn)N7,CBA=000~111分別表示選擇IN0~I(xiàn)N7。各路模擬輸入通道之間的切換由改變加到C、B、A上的編碼來實(shí)現(xiàn),如表8-1所示。8.2.1ADC0809及接口設(shè)計(jì)ALE:地址鎖存允許信號(hào),輸入,高電平有效。當(dāng)ALE為高電平時(shí),把3個(gè)地址信號(hào),即C、B、A送入地址鎖存器,經(jīng)過譯碼器得到地址輸出,以選擇相應(yīng)的模擬輸入通道。START:A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,正脈沖有效。只有在為它加上正脈沖(至少100ns寬)后,A/D轉(zhuǎn)換才開始進(jìn)行。(正脈沖上升沿使ADC0809復(fù)位,所有內(nèi)部寄存器清零﹔下降沿啟動(dòng)A/D轉(zhuǎn)換。)EOC:A/D轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)輸出端,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平。在START下降沿后10μs左右,EOC=0,表示正在進(jìn)行轉(zhuǎn)換;EOC=1,表示A/D轉(zhuǎn)換結(jié)束。EOC常用于A/D轉(zhuǎn)換狀態(tài)的查詢或作為中斷請(qǐng)求信號(hào)。轉(zhuǎn)換結(jié)果讀取方式有延時(shí)讀數(shù)、查詢EOC(EOC=1時(shí)申請(qǐng)中斷)。8.2.1ADC0809及接口設(shè)計(jì)OE:數(shù)據(jù)輸出允許信號(hào),輸入高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,只有這樣才能打開三態(tài)鎖存數(shù)據(jù)輸出緩沖器,允許轉(zhuǎn)換結(jié)果從D0~D7引腳送出;若OE=0,則數(shù)字輸出口為高阻態(tài)。CLOCK:時(shí)鐘信號(hào)輸入端,為ADC0809提供逐次比較所需的時(shí)鐘脈沖。ADC0809內(nèi)部沒有時(shí)鐘電路,故需要外加時(shí)鐘信號(hào)。時(shí)鐘輸入要求頻率范圍一般為10kHz~1.2MHz,典型值為640kHz,在實(shí)際運(yùn)用中,需要將主機(jī)的脈沖信號(hào)降頻后接入。VREF(+)、VREF(-):參考電壓輸入線,用于給電阻階梯網(wǎng)絡(luò)提供正、負(fù)基準(zhǔn)電壓。VCC+5V:電源輸入線。GND:地線。8.2.1ADC0809及接口設(shè)計(jì)3.ADC0809的工作過程ADC0809的工作過程:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器。此地址經(jīng)譯碼選通8路模擬輸入之一到A/D轉(zhuǎn)換器。START上升沿將逐次逼近寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示A/D轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入三態(tài)鎖存數(shù)據(jù)輸出緩沖器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平時(shí),三態(tài)輸出緩沖器打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上,具體時(shí)序如圖8-2所示。圖8-2ADC0809轉(zhuǎn)換工作時(shí)序8.2.1ADC0809及接口設(shè)計(jì)3.ADC0809的工作過程A/D轉(zhuǎn)換后得到的數(shù)據(jù)為數(shù)字量,這些數(shù)據(jù)應(yīng)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換完成,因?yàn)橹挥性诖_認(rèn)A/D轉(zhuǎn)換完成后,才能進(jìn)行數(shù)據(jù)傳送。確認(rèn)A/D轉(zhuǎn)換完成可采用下述3種方式。1)定時(shí)傳送方式對(duì)一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。假設(shè)ADC0809的轉(zhuǎn)換時(shí)間為128μs,相當(dāng)于6MHz的8051單片機(jī),共64個(gè)機(jī)器周期??蓳?jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用此子程序,延遲時(shí)間一到,表明轉(zhuǎn)換已經(jīng)完成,就可進(jìn)行數(shù)據(jù)傳送了。2)查詢方式A/D轉(zhuǎn)換器有表明A/D轉(zhuǎn)換完成的狀態(tài)信號(hào),如ADC0809的EOC端。因此可以用查詢方式檢測(cè)EOC的狀態(tài),即可確認(rèn)A/D轉(zhuǎn)換是否完成,并接著進(jìn)行數(shù)據(jù)傳送。3)中斷方式把表明A/D轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送。8.2.1ADC0809及接口設(shè)計(jì)3.ADC0809的工作過程中斷方式是指單片機(jī)啟動(dòng)A/D轉(zhuǎn)換后,單片機(jī)不等待轉(zhuǎn)換結(jié)束而執(zhí)行其他程序。ADC0809轉(zhuǎn)換結(jié)束后,EOC變?yōu)楦唠娖剑珽OC通過反相器向單片機(jī)發(fā)出中斷請(qǐng)求,單片機(jī)響應(yīng)中斷,進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中讀入轉(zhuǎn)換完畢的數(shù)字量。中斷方式效率高,特別適合于轉(zhuǎn)換時(shí)間較長(zhǎng)的A/D轉(zhuǎn)換器。無論使用上述哪種方式,只要一旦確定A/D轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。單片機(jī)首先要輸出與A/D轉(zhuǎn)換器接口的地址,之后開始轉(zhuǎn)換。轉(zhuǎn)換結(jié)束后輸出使能信號(hào)(OE),把轉(zhuǎn)換后的數(shù)據(jù)讀入。8.2.1ADC0809及接口設(shè)計(jì)4.ADC0809與單片機(jī)接口圖8-3是ADC0809與8051的典型接口電路圖,其中8路模擬量的變化范圍是0~5V。ADC0809的時(shí)鐘由8051輸出的ALE信號(hào)經(jīng)分頻后提供。因?yàn)锳DC0809的最高時(shí)鐘頻率為640kHz,ALE信號(hào)的頻率是晶振頻率的1/6,如果晶振頻率為6MHz,則ALE的頻率為1MHz,所以ALE信號(hào)要經(jīng)過分頻后送給ADC0809。若單片機(jī)的時(shí)鐘頻率符合要求,則也可不加分頻電路。圖8-3ADC0809與8051的典型接口電路圖8.2.1ADC0809及接口設(shè)計(jì)4.ADC0809與單片機(jī)接口模擬輸入通道地址由單片機(jī)的P0口的低3位P0.0~P0.2直接提供。由于ADC0809的地址鎖存器具有鎖存功能,所以P0.0~P0.2可以不需要地址鎖存器而直接與ADC0809的ADDA、ADDB、ADDC連接。8051單片機(jī)通過地址線P2.0和讀/寫信號(hào)線(、)來控制ADC0809的鎖存信號(hào)ALE、啟動(dòng)信號(hào)START、輸出允許信號(hào)OE。鎖存信號(hào)ALE和啟動(dòng)信號(hào)START連接在一起,在鎖存通道地址的同時(shí)進(jìn)行轉(zhuǎn)換。當(dāng)P2.0和寫信號(hào)()同時(shí)為低電平時(shí),鎖存信號(hào)ALE和啟動(dòng)信號(hào)START有效,通道地址送地址鎖存器鎖存,同時(shí)啟動(dòng)ADC0809,開始轉(zhuǎn)換。當(dāng)轉(zhuǎn)換結(jié)束而要讀取轉(zhuǎn)換結(jié)果時(shí),只要P2.0和讀信號(hào)()同為低電平,且輸出允許信號(hào)OE有效,轉(zhuǎn)換的數(shù)字量就通過D0~D7輸出。ADC0809的EOC轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)接8051的外部中斷0(使用中斷方式);也可采用查詢方式,與任一I/O口連接。8.2.1ADC0809及接口設(shè)計(jì)4.ADC0809與單片機(jī)接口電路連接主要涉及兩個(gè)問題,一個(gè)是8路模擬信號(hào)的通道選擇,另一個(gè)是A/D轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。注意:圖8-3中使用的是線選法,OE由P2.0確定,該ADC0809的通道地址不唯一。若無關(guān)位都取0,則8路通道INO~I(xiàn)N7的地址分別為0000H~0007H;若無關(guān)位都取1,則8路通道INO~I(xiàn)N7的地址分別為FEF0H~FEF7H。當(dāng)然,通道地址也可以由單片機(jī)的其他I/O口線提供,或者由幾根I/O口線經(jīng)過譯碼后提供,這樣,通道的地址也就有所不同。ADDA、ADDB、ADDC分別接地址鎖存器提供的低3位地址,只要把這3位地址寫入ADC0809的地址鎖存器,就可實(shí)現(xiàn)模擬通道選擇。對(duì)單片機(jī)系統(tǒng)來說,地址鎖存器是一個(gè)輸出口,為了把這3位地址寫入,還要提供對(duì)應(yīng)的外部端口地址。8.2.1ADC0809及接口設(shè)計(jì)5.ADC0809的A/D轉(zhuǎn)換應(yīng)用程序舉例接下來舉個(gè)例子,采用查詢方式控制ADC0809進(jìn)行A/D轉(zhuǎn)換,原理電路如圖8-4所示。輸入給ADC0809的模擬電壓可通過調(diào)節(jié)電位器RV1來實(shí)現(xiàn),ADC0809將輸入的模擬電壓轉(zhuǎn)換成二進(jìn)制數(shù),并通過P1口輸出,控制LED的亮與滅,以此來顯示轉(zhuǎn)換結(jié)果的二進(jìn)制數(shù)字量。圖8-4單片機(jī)控制ADC0809進(jìn)行A/D轉(zhuǎn)換的原理電路8.2.1ADC0809及接口設(shè)計(jì)5.ADC0809的A/D轉(zhuǎn)換應(yīng)用程序舉例ADC0809轉(zhuǎn)換一次約需要100μs,采用查詢方式,即使用P2.6來查詢EOC引腳的電平,判斷A/D轉(zhuǎn)換是否結(jié)束。如果EOC引腳為高電平,就說明轉(zhuǎn)換結(jié)束,單片機(jī)從P1口讀入轉(zhuǎn)換的二進(jìn)制數(shù)結(jié)果,并把結(jié)果從P0口輸出給8個(gè)LED,LED被點(diǎn)亮的位對(duì)應(yīng)轉(zhuǎn)換結(jié)果“0”。8.2.1ADC0809及接口設(shè)計(jì)5.ADC0809的A/D轉(zhuǎn)換應(yīng)用程序舉例在進(jìn)行A/D轉(zhuǎn)換時(shí),必須加基準(zhǔn)電壓,單獨(dú)用高精度穩(wěn)壓電源供給,其電壓變化要小于1LSB,這是保證轉(zhuǎn)換精度的基本條件。否則當(dāng)被轉(zhuǎn)換的輸入電壓不變,而基準(zhǔn)電壓變化大于1LSB時(shí),也會(huì)引起A/D轉(zhuǎn)換器輸出的數(shù)字量變化。如果用中斷方式讀取結(jié)果,則可將EOC引腳與單片機(jī)P2.6引腳斷開,EOC引腳接反相器(如74LS04)的輸入,反相器輸出接單片機(jī)外部中斷請(qǐng)求輸入端(INTx引腳),轉(zhuǎn)換結(jié)束時(shí),向單片機(jī)發(fā)出中斷請(qǐng)求信號(hào)。可對(duì)本例接口電路及程序進(jìn)行修改,采用中斷方式讀取A/D轉(zhuǎn)換結(jié)果。8.2.2ADC0804及接口設(shè)計(jì)ADC0804是用CMOS集成工藝制成的逐次比較式單通道A/D轉(zhuǎn)換芯片,分辨率為8位,轉(zhuǎn)換時(shí)間為100μs,輸入電壓為0~5V。該芯片內(nèi)有輸出數(shù)據(jù)鎖存器,當(dāng)與計(jì)算機(jī)連接時(shí),轉(zhuǎn)換電路的輸出可以直接連接在CPU數(shù)據(jù)總線上,無須附加邏輯接口電路。ADC0804芯片外引腳圖如圖8-5所示。圖8-5ADC0804芯片外引腳圖8.2.2ADC0804及接口設(shè)計(jì)1.ADC0804引腳功能(1)、、(引腳1、2、3):數(shù)字控制輸入端,滿足標(biāo)準(zhǔn)TTL邏輯電平。其中,和用來控制A/D轉(zhuǎn)換的啟動(dòng)信號(hào),和用來讀取A/D轉(zhuǎn)換結(jié)果,當(dāng)它們同時(shí)為低電平時(shí),輸出數(shù)據(jù)鎖存器DB0~DB7各端上出現(xiàn)8位并行二進(jìn)制碼。(2)CLKIN(引腳4)和CLKR(引腳19):ADC0801~ADC0805片內(nèi)有時(shí)鐘電路,只要在外部CLKI和CLKR兩端外接一對(duì)電阻電容即可產(chǎn)生A/D轉(zhuǎn)換所要求的時(shí)鐘,其振蕩頻率為fCLK≈1/(1.1RC),其典型應(yīng)用參數(shù)為:R=12kΩ,C=120pF,fCLK≈640kHz,轉(zhuǎn)換時(shí)間為100μs。若采用外部時(shí)鐘,則外部fCLK可從CLKI端送入,此時(shí)不接電阻電容對(duì)。ADC0804允許的時(shí)鐘頻率為100~1460kHz。(3)(引腳5):轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)輸出端,輸出跳轉(zhuǎn)為低電平表示本次轉(zhuǎn)換已經(jīng)完成,可作為微處理器的中斷或查詢信號(hào)。如果將和端與端相連,則ADC0804就處于自動(dòng)循環(huán)轉(zhuǎn)換狀態(tài)。當(dāng)=0時(shí),允許進(jìn)行A/D轉(zhuǎn)換。當(dāng)由低電平跳變到高電平時(shí),A/D轉(zhuǎn)換開始,8位逐次比較需要8×8=64個(gè)時(shí)鐘周期,再加上控制邏輯操作,一次轉(zhuǎn)換需要66~73個(gè)時(shí)鐘周期。在典型應(yīng)用fCLK=640kHz時(shí),轉(zhuǎn)換時(shí)間為103~114μs。當(dāng)fCLK超過640kHz時(shí),轉(zhuǎn)換精度下降,超過極限值1460kHz時(shí)便不能正常工作。8.2.2ADC0804及接口設(shè)計(jì)1.ADC0804引腳功能(4)VIN(+)(引腳6)和VIN(-)(引腳7):被轉(zhuǎn)換的電壓信號(hào)從VIN(+)和VIN(-)端輸入,允許此信號(hào)是差動(dòng)的或不共地的電壓信號(hào)。如果輸入電壓VIN的變化范圍為0~Vmax,則芯片的VIN(-)端接地,輸入電壓加到VIN(+)端。由于該芯片允許差動(dòng)輸入,所以在共模輸入電壓允許的情況下,輸入電壓范圍可以從非零開始,即從Vmin至Vmax。此時(shí)芯片的VIN(-)端應(yīng)該接入等于Vmin的恒值電壓,而輸入電壓VIN仍然加到VIN(+)端。(5)AGND(引腳8)和DGND(引腳10):A/D轉(zhuǎn)換器一般都有這兩個(gè)引腳。模擬地AGND和數(shù)字地DGND分別設(shè)置引入端,使數(shù)字電路的地電流不影響模擬信號(hào)回路,以防止寄生耦合造成的干擾。(6)VREF/2(引腳9):參考電壓VREF/2可以由外部電路供給,從VREF/2端直接送入,VREF/2端的電壓值應(yīng)是輸入電壓范圍的1/2。因此,輸入電壓的范圍可以通過調(diào)整VREF/2端的電壓加以改變,A/D轉(zhuǎn)換器的零點(diǎn)無須調(diào)整。8.2.2ADC0804及接口設(shè)計(jì)2.ADC0804的工作時(shí)序ADC0804的工作時(shí)序如圖8-6所示。圖8-6ADC0804的工作時(shí)序8.2.2ADC0804及接口設(shè)計(jì)3.ADC0804與單片機(jī)接口電路與ADC0809不同的是,ADC0804有自動(dòng)時(shí)鐘產(chǎn)生電路,不需要額外的時(shí)鐘輸入,因此電路相對(duì)簡(jiǎn)單,如圖8-7所示。圖8-7ADC0809與單片機(jī)接口電路圖在圖8-7中,ADC0804數(shù)據(jù)輸出線與AT89C51的數(shù)據(jù)總線直接相連,AT89C51的、和端直接連接于ADC0804的、和,由于這里用P1.0線來產(chǎn)生片選信號(hào),故無須外加地址譯碼器。當(dāng)AT89C51向ADC0804發(fā)送(啟動(dòng)轉(zhuǎn)換)、(讀取結(jié)果)信號(hào)時(shí),只要虛擬一個(gè)系統(tǒng)不占用的數(shù)據(jù)存儲(chǔ)器地址即可。8.3

項(xiàng)目訓(xùn)練:數(shù)字電壓表設(shè)計(jì)8.3.1項(xiàng)目要求用單片機(jī)設(shè)計(jì)一個(gè)數(shù)字電壓表,要求能實(shí)現(xiàn)0~50V直流電壓的采樣,并通過4位數(shù)碼管將電壓值顯示出來;畫出原理圖,焊接電路,并編程調(diào)試。通過制作數(shù)字電壓表,學(xué)會(huì)A/D轉(zhuǎn)換的接口技術(shù),了解A/D采樣原理;掌握常用采樣芯片的使用方法與電路設(shè)計(jì)及編程;掌握采樣數(shù)據(jù)與實(shí)際顯示數(shù)據(jù)的轉(zhuǎn)換。8.3.2項(xiàng)目分析要設(shè)計(jì)數(shù)字電壓表,首先要選擇合適的A/D轉(zhuǎn)換器,將輸入的電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。這里考慮到只需測(cè)量一路模擬信號(hào),因此可以選擇用ADC0804。而且它自帶時(shí)鐘產(chǎn)生電路,不需要額外的時(shí)鐘輸入,電路相對(duì)簡(jiǎn)單。任務(wù)要求實(shí)現(xiàn)最高50V的電壓采樣,但ADC0804的電壓輸入范圍是0~5V,故在輸入端要采取電壓分壓處理。其次要考慮顯示控制部分,前面章節(jié)有用到數(shù)碼管和LCD進(jìn)行顯示,它們有各自的優(yōu)/缺點(diǎn),數(shù)碼管適用于顯示簡(jiǎn)單的數(shù)字信息,價(jià)格便宜、使用方便;LCD適用于顯示復(fù)雜的信息,價(jià)格較高、使用相對(duì)復(fù)雜一些。由于本項(xiàng)目只顯示電壓值,因此可選用數(shù)碼管,根據(jù)顯示精度選用4位數(shù)碼管,并采用動(dòng)態(tài)顯示技術(shù)實(shí)現(xiàn)多位數(shù)字的顯示。8.3.3項(xiàng)目設(shè)計(jì)過程1.設(shè)計(jì)思路本電路從測(cè)試端輸入0~50V的電壓,經(jīng)91kΩ與10kΩ電阻的分壓,ADC0804輸入電壓Vin(0~5.0V)大約只有測(cè)試端的1/10,經(jīng)過單片機(jī)處理,最后將其顯示在4位7段數(shù)碼管顯示器上。數(shù)據(jù)顯示到小數(shù)點(diǎn)后2位,若最高位數(shù)為0,則不顯示。如果測(cè)試端輸入4.0V的電壓,則顯示“4.00”。2.原理圖設(shè)計(jì)(用Proteus仿真)數(shù)字電壓表的原理圖設(shè)計(jì)主要考慮ADC0804的時(shí)鐘電路,模擬電壓的輸入,以及ADC0804與單片機(jī)的接口。顯示電路采用4位數(shù)碼管顯示,可以參考第3章的電路。ADC0804的時(shí)鐘電路參考芯片手冊(cè),外接阻容元件參數(shù)為R=10kΩ,C=150pF,此時(shí)的頻率為fCLK≈640kHz,轉(zhuǎn)換速度為100μs。模擬電壓的輸入采用電阻分壓來實(shí)現(xiàn),為了使輸入電壓可調(diào),分壓電路的下部分電阻采用電位器代替。ADC0804是并行數(shù)據(jù)輸出口,可以直接與單片機(jī)的P1口連接。采用Proteus仿真的電路如圖8-8所示。8.3.3項(xiàng)目設(shè)計(jì)過程圖8-8采用Proteus仿真的電路8.3.3項(xiàng)目設(shè)計(jì)過程3.程序設(shè)計(jì)流程圖因?yàn)锳/D轉(zhuǎn)換需要一定的時(shí)間,所以單片機(jī)進(jìn)行A/D采樣時(shí)往往采用中斷的方式獲取數(shù)據(jù)。因此,程序可分為兩部分:主程序和中斷服務(wù)程序。主程序?qū)崿F(xiàn)程序的初始化、中斷的使能、啟動(dòng)A/D轉(zhuǎn)換,以及數(shù)據(jù)的處理和顯示,具體的流程如圖8-9(a)所示。中斷服務(wù)程序主要實(shí)現(xiàn)數(shù)據(jù)的讀取,按照芯片的工作時(shí)序?qū)ζ溥M(jìn)行控制,如輸出片選信號(hào)、讀使能信號(hào),之后讀取數(shù)據(jù)。讀取數(shù)據(jù)之后關(guān)閉片選信號(hào)和讀使能信號(hào)。具體的流程如圖8-9(b)所示。8.3.3項(xiàng)目設(shè)計(jì)過程4.具體程序設(shè)計(jì)(1)A/D轉(zhuǎn)換的控制。A/D轉(zhuǎn)換的控制主要依據(jù)芯片的時(shí)序圖來設(shè)計(jì),因此,看懂時(shí)序圖是控制芯片工作的前提條件。從時(shí)序圖中可以看出,無論是啟動(dòng)轉(zhuǎn)換還是要讀取數(shù)據(jù),都需要使片選信號(hào)有效。數(shù)據(jù)轉(zhuǎn)換結(jié)束可以通過延時(shí)一定的時(shí)間(>100μs)來判斷,也可以通過中斷來判斷。(2)A/D采樣數(shù)據(jù)與實(shí)際電壓的轉(zhuǎn)換。A/D采樣得到的數(shù)據(jù)只有轉(zhuǎn)換為電壓值才能顯示出來,因此二者的關(guān)系要通過一定的運(yùn)算得到。因?yàn)樵撔酒姆直媛手挥?位,所以可以表示的十進(jìn)制數(shù)是256個(gè),相當(dāng)于把滿量程電壓(5V)分為256份,每份為5/256V,采樣所得的數(shù)據(jù)乘上每份的值就得到實(shí)際的電壓值。具體的計(jì)算公式如下。8.3.3項(xiàng)目設(shè)計(jì)過程4.具體程序設(shè)計(jì)設(shè)滿量程電壓為Vref,A/D轉(zhuǎn)換芯片的分辨率為k位,A/D轉(zhuǎn)換后得到的數(shù)值為Ds,則轉(zhuǎn)換得到的電壓值為

通過上面公式計(jì)算出來的值是浮點(diǎn)數(shù)(帶小數(shù)點(diǎn))。浮點(diǎn)數(shù)占的數(shù)據(jù)存儲(chǔ)空間較大,運(yùn)算量較大,因此不適合在單片機(jī)上進(jìn)行運(yùn)算,那么,應(yīng)如何避免用浮點(diǎn)數(shù)呢?假設(shè)需要顯示的數(shù)據(jù)精確到小數(shù)點(diǎn)后2位,則可以把數(shù)據(jù)乘以100,這樣數(shù)據(jù)就變成了整數(shù),運(yùn)算起來就快得多。需要顯示時(shí),只需在相應(yīng)的位數(shù)上加上小數(shù)點(diǎn)即可。8.3.3項(xiàng)目設(shè)計(jì)過程4.具體程序設(shè)計(jì)(3)電壓的顯示。通過計(jì)算得到實(shí)際的電壓值后,需要將其送到數(shù)碼管中進(jìn)行顯示。數(shù)據(jù)被送

溫馨提示

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