版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機A/D轉換接口設計第8章在單片機測控系統(tǒng)中經(jīng)常需要測量非電量數(shù)據(jù),如溫度、壓力、流量、速度等,要測量這些數(shù)據(jù)只有先使用傳感器把它們轉換成連續(xù)變化的模擬電信號(電壓或電流),再將模擬電信號轉換成數(shù)字量后才能在單片機中進行處理。實現(xiàn)把模擬量轉換成數(shù)字量的器件稱為A/D轉換器(ADC)。本章主要講解A/D轉換接口和單片機的連接原理,以及單片機如何實現(xiàn)對A/D轉換芯片的讀/寫控制。引言目錄A/D轉換器工作原理1A/D轉換芯片及接口設計2本章小結4項目訓練:數(shù)字電壓表設計3本章習題5行業(yè)PPT模板/hangye/8.1
A/D轉換器工作原理8.1.1A/D轉換器概述只有經(jīng)過A/D轉換,單片機才能進行數(shù)據(jù)處理。隨著超大規(guī)模集成電路技術的飛速發(fā)展,大量結構不同、性能各異的A/D轉換芯片應運而生。目前,A/D轉換芯片較多,對設計者來說,只需合理地選擇芯片即可?,F(xiàn)在部分單片機片內(nèi)也集成了A/D轉換器,位數(shù)有8位、10位或12位等,且轉換速度也很快,但是在片內(nèi)A/D轉換器不能滿足需要的情況下,還需要使用外部ADC芯片。8.1.2A/D轉換器的主要技術指標1.分辨率分辨率表示輸出數(shù)字量變化一個最低有效位(LeastSignificantBit,LSB)所對應的輸入模擬量的變化量。分辨率取決于A/D轉換器的位數(shù),習慣上用輸出的二進制數(shù)的位數(shù)或BCD碼的位數(shù)來表示。例如,A/D轉換器AD1674的滿量程輸入電壓為5V,可輸出12位二進制數(shù),即用212個數(shù)進行量化,其分辨率為1LSB,5V/212=1.22mV,其分辨率為12位,或者說能分辨出輸入電壓1.22mV的變化。2.量化誤差模擬量是連續(xù)的,而數(shù)字量是離散的,當A/D轉換器的位數(shù)固定后,數(shù)字量不能把模擬量的所有值都精確地表示出來,這種由A/D轉換器的有限分辨率所造成的真實值與轉換值之間的誤差稱為量化誤差。一般量化誤差為數(shù)字量的LSB所表示的模擬量,理想的量化誤差容限是±1/2LSB。8.1.2A/D轉換器的主要技術指標3.轉換精度A/D轉換器的精度是指與數(shù)字輸出量所對應的模擬輸入量的實際值與理論值之間的差值。在A/D轉換電路中,與每個數(shù)字輸出量對應的模擬輸入量并不是一個單一的數(shù)值,而是一個范圍值Δ,Δ的大小理論上取決于電路的分辨率。定義Δ為數(shù)字量的LSB。但在外界環(huán)境的影響下,與每個數(shù)字輸出量對應的模擬輸入量的實際范圍往往偏離理論值Δ。轉換精度分為絕對精度和相對精度。絕對精度一般以LSB為單位給出,目前常用的A/D轉換集成芯片的絕對精度為1/4~2LSB。相對精度是絕對精度與滿量程的比值。8.1.2A/D轉換器的主要技術指標4.轉換速度與轉換時間轉換速度是A/D轉換器能夠重復進行數(shù)據(jù)轉換的速度,即每秒轉換的次數(shù);轉換時間是完成一次A/D轉換所需的時間(包括穩(wěn)定時間),是轉換速度的倒數(shù)。轉換時間越短,A/D轉換器適應輸入信號快速變化的能力越強。由于生產(chǎn)商在設計A/D轉換器時考慮了各種技術指標對精度的影響,一般各種誤差都控制在最小分辨率以內(nèi),所以,通常在進行A/D轉換器選型時,分辨率和轉換速度是最重要的技術指標。5.溫度系數(shù)溫度系數(shù)是A/D轉換器受溫度影響的程度,一般用環(huán)境溫度變化1℃所產(chǎn)生的相對誤差來表示,單位為PPM/℃(10-6/℃)。8.1.3A/D轉換器分類A/D轉換器種類很多,按其轉換原理可分為逐次比較式(也稱為逐次逼近式)、雙積分式、量化反饋式和并行式A/D轉換器;按其分辨率可分為8~16位的A/D轉換器。盡管A/D轉換器種類很多,但目前廣泛應用在單片機應用系統(tǒng)中的主要有逐次比較式A/D轉換器和雙積分式A/D轉換器。此外,Σ-Δ式轉換器也逐漸得到重視和應用。逐次比較式A/D轉換器在精度、速度和價格方面都適中,是最常用的A/D轉換器,其常用產(chǎn)品有ADC0801~ADC0805型8位MOS型A/D轉換器、ADC0808/0809型8位MOS型A/D轉換器、ADC0816/0817型8位MOS型A/D轉換器、AD574型快速12位A/D轉換器。雙積分式A/D轉換器具有精度高、抗干擾性好、價格低廉等優(yōu)點,與逐次比較式A/D轉換器相比,其轉換速度較慢,近年來在單片機應用領域中已得到廣泛應用。雙重積分式A/D轉換器的常用產(chǎn)品有ICL7106/ICL7107/ICL7126、MC14433/5G14433、ICL7135等。8.1.3A/D轉換器分類Σ-Δ式A/D轉換器具有雙積分式與逐次比較式A/D轉換器的優(yōu)點。它對工業(yè)現(xiàn)場的串模干擾具有較強的抑制能力,不亞于雙積分式A/D轉換器。它與雙積分式A/D轉換器相比,有較高的轉換速度。與逐次比較式A/D轉換器相比,它有較高的信噪比、分辨率,且線性度好。由于上述優(yōu)點,Σ-Δ式A/D轉換器得到了人們的重視,已有多種Σ-Δ式A/D轉換器芯片可供用戶選用。A/D轉換器按照輸出數(shù)字量的有效位數(shù)分為8位、10位、12位、14位、16位、24位等并行輸出,以及BCD碼輸出的3位半、4位半、5位半等多種。目前,除并行A/D轉換器外,帶有同步SPI串行接口的A/D轉換器的使用也逐漸增多。它具有占用單片機的端口線少、使用方便、接口簡單等優(yōu)點,已經(jīng)得到廣泛應用。較為典型的帶有同步SPI串行接口的A/D轉換器為TI公司的TLC549(8位)、TLC1549(10位)、TLC1543(10位)和TLC2543(12位)等。A/D轉換器按照轉換速度可大致分為超高速(轉換時間≤1ns)、高速(轉換時間≤1s)、中速(轉換時間≤1ms)、低速(轉換時間≤1s)等幾種。目前,許多新型的A/D轉換器已將多路轉換開關、時鐘電路、基準電壓源、二/十進制譯碼器和轉換電路集成在一個芯片內(nèi),為用戶提供了極大的方便。8.1.4A/D轉換器與單片機接口1.A/D轉換器數(shù)字量輸出線與單片機的連接方法A/D轉換器數(shù)字量輸出線與單片機的連接方法與其內(nèi)部結構有關。對于內(nèi)部帶有三態(tài)鎖存數(shù)據(jù)輸出緩沖器的A/D轉換器(如ADC0809、AD574等),可直接與單片機相連;對于內(nèi)部不帶鎖存器的A/D轉換器,一般通過鎖存器或并行I/O接口與單片機相連。此外,隨著位數(shù)的不同,A/D轉換器與單片機的連接方法也不同。對于8位A/D轉換器,其數(shù)字量輸出線可與8位單片機數(shù)據(jù)線對應相接;對于8位以上的A/D轉換器,須增加讀取控制邏輯,對8位以上的數(shù)據(jù)分兩次或多次讀取。為了便于連接,一些A/D轉換器產(chǎn)品內(nèi)部已帶有讀取控制邏輯,而對于內(nèi)部不包含讀取控制邏輯的A/D轉換器,在與8位單片機相連時,應增設三態(tài)鎖存數(shù)據(jù)輸出緩沖器對轉換后的數(shù)據(jù)進行鎖存。8.1.4A/D轉換器與單片機接口2.A/D轉換器的啟動方式一個A/D轉換器開始轉換時,必須加一個啟動轉換信號,這一啟動轉換信號要由單片機提供。不同型號的A/D轉換器對啟動轉換信號的要求也不同,一般分為脈沖啟動和電平啟動兩種。對于脈沖啟動型A/D轉換器,只要給其啟動控制端加一個符合要求的脈沖信號即可,如ADC0809、ADC574等,通常由WR和地址譯碼器的輸出經(jīng)一定的邏輯電路進行控制;對于電平啟動型A/D轉換器,當把符合要求的電平加到啟動控制端上時,就立即開始轉換,而且,在轉換過程中,必須保持這個電平,否則轉換會終止。因此,在這種啟動方式下,單片機的控制信號必須經(jīng)過鎖存器保持一段時間,一般采用D觸發(fā)器、鎖存器或并行I/O接口等來實現(xiàn)。ADS70、AD571等都屬于電平啟動型A/D轉換器。8.1.4A/D轉換器與單片機接口3.轉換結束標志信號處理方法當A/D轉換器轉換結束時,它會輸出一個轉換結束標志信號,通知單片機讀取轉換結果。單片機檢查并判斷A/D轉換結束的方法一般有中斷和查詢兩種。對于中斷方式,可將轉換結束標志信號接到單片機的中斷請求輸入線或允許中斷的I/O接口的相應引腳上,作為中斷請求信號;對于查詢方式,可把轉換結束標志信號經(jīng)三態(tài)門送到單片機的某一位I/O口線上,作為查詢狀態(tài)信號。4.時鐘的連接方法A/D轉換器的另一個重要連接信號是時鐘,其頻率是決定芯片轉換速度的基準。整個A/D轉換過程都是在時鐘的作用下完成的。A/D轉換時鐘的提供方法有兩種:一種是由芯片內(nèi)部提供(如AD574),一般不允許外加電路;另一種是由外部提供,有的用單獨的振蕩電路產(chǎn)生,更多的是把單片機輸出時鐘分頻后送到A/D轉換器的相應時鐘端。8.2
A/D轉換芯片及接口設計8.2.1ADC0809及接口設計1.ADC0809簡介ADC0809是美國國家半導體公司生產(chǎn)的8路模擬輸入的8位逐次比較式A/D轉換器件,采用CMOS工藝,具有較低的功耗,轉換時間為100μs(當時鐘輸入頻率fc=640kHz時),其內(nèi)部結構和引腳如圖8-1所示。圖8-1ADC0809的內(nèi)部結構和引腳8.2.1ADC0809及接口設計1.ADC0809簡介8路模擬開關根據(jù)地址譯碼信號選擇8路模擬輸入,允許8路模擬量分時輸入,公用一個8位A/D轉換器進行轉換。地址鎖存與譯碼器完成對ADDA、ADDB、ADDC(A、B、C)三個地址位的鎖存和譯碼,其譯碼輸出用于通道選擇,只選通8路模擬輸入信號中的一個進行A/D轉換,是國內(nèi)應用較為廣泛的8位通用A/D轉換芯片之一。8位A/D轉換器是逐次比較式的,由控制與時序電路、比較器、逐次逼近寄存器(SAR)、樹狀開關及256R電阻階梯網(wǎng)絡等組成,實現(xiàn)逐次比較A/D轉換,在SAR中得到A/D轉換完成的數(shù)字量。轉換結果通過三態(tài)鎖存數(shù)據(jù)輸出緩沖器輸出,輸出鎖存器用于存放和輸出轉換得到的數(shù)字量,當OE引腳變?yōu)楦唠娖綍r,就可以從三態(tài)鎖存數(shù)據(jù)輸出緩沖器中取走A/D轉換結果。三態(tài)數(shù)據(jù)鎖存輸出緩沖器可以直接與系統(tǒng)數(shù)據(jù)總線相連。8.2.1ADC0809及接口設計1.ADC0809簡介1)ADC0809的主要特性(1)8路輸入通道,8位A/D轉換器,即分辨率為8位。(2)具有轉換啟停控制端。(3)轉換時間為100μs(當時鐘輸入頻率為640kHz時)、130μs(時鐘頻率為500kHz時)。(4)單個+5V電源供電。(5)模擬輸入電壓為0~+5V,不需要零點和滿刻度校準。(6)工作溫度為-40~+85℃。(7)低功耗,約15mW。8.2.1ADC0809及接口設計2.ADC0809的外部特性(引腳功能)ADC0809有28個引腳,采用雙列直插式封裝,如圖8-1(b)所示。下面說明各引腳的功能。IN0~IN7:8路模擬量輸入端,用于輸入被轉換的模擬電壓,一次只能選通其中的某一路進行轉換,選通的通道由ALE上升沿時送入的ADDC、ADDB、ADDA引腳信號決定。D0~D7:8位數(shù)字量輸出端。圖8-1ADC0809的內(nèi)部結構和引腳8.2.1ADC0809及接口設計ADDA、ADDB、ADDC(A、B、C):模擬輸入通道地址選擇線,分別與單片機的3根地址線相連,其8位編碼分別對應IN0~IN7,CBA=000~111分別表示選擇IN0~IN7。各路模擬輸入通道之間的切換由改變加到C、B、A上的編碼來實現(xiàn),如表8-1所示。8.2.1ADC0809及接口設計ALE:地址鎖存允許信號,輸入,高電平有效。當ALE為高電平時,把3個地址信號,即C、B、A送入地址鎖存器,經(jīng)過譯碼器得到地址輸出,以選擇相應的模擬輸入通道。START:A/D轉換啟動脈沖輸入端,正脈沖有效。只有在為它加上正脈沖(至少100ns寬)后,A/D轉換才開始進行。(正脈沖上升沿使ADC0809復位,所有內(nèi)部寄存器清零﹔下降沿啟動A/D轉換。)EOC:A/D轉換結束標志信號輸出端,當A/D轉換結束時,此端輸出一個高電平。在START下降沿后10μs左右,EOC=0,表示正在進行轉換;EOC=1,表示A/D轉換結束。EOC常用于A/D轉換狀態(tài)的查詢或作為中斷請求信號。轉換結果讀取方式有延時讀數(shù)、查詢EOC(EOC=1時申請中斷)。8.2.1ADC0809及接口設計OE:數(shù)據(jù)輸出允許信號,輸入高電平有效。當A/D轉換結束時,此端輸入一個高電平,只有這樣才能打開三態(tài)鎖存數(shù)據(jù)輸出緩沖器,允許轉換結果從D0~D7引腳送出;若OE=0,則數(shù)字輸出口為高阻態(tài)。CLOCK:時鐘信號輸入端,為ADC0809提供逐次比較所需的時鐘脈沖。ADC0809內(nèi)部沒有時鐘電路,故需要外加時鐘信號。時鐘輸入要求頻率范圍一般為10kHz~1.2MHz,典型值為640kHz,在實際運用中,需要將主機的脈沖信號降頻后接入。VREF(+)、VREF(-):參考電壓輸入線,用于給電阻階梯網(wǎng)絡提供正、負基準電壓。VCC+5V:電源輸入線。GND:地線。8.2.1ADC0809及接口設計3.ADC0809的工作過程ADC0809的工作過程:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器。此地址經(jīng)譯碼選通8路模擬輸入之一到A/D轉換器。START上升沿將逐次逼近寄存器復位,下降沿啟動A/D轉換,之后EOC輸出信號變低,指示A/D轉換正在進行。直到A/D轉換完成,EOC變?yōu)楦唠娖?,指示A/D轉換結束,結果數(shù)據(jù)已存入三態(tài)鎖存數(shù)據(jù)輸出緩沖器,這個信號可用作中斷申請。當OE輸入高電平時,三態(tài)輸出緩沖器打開,轉換結果的數(shù)字量輸出到數(shù)據(jù)總線上,具體時序如圖8-2所示。圖8-2ADC0809轉換工作時序8.2.1ADC0809及接口設計3.ADC0809的工作過程A/D轉換后得到的數(shù)據(jù)為數(shù)字量,這些數(shù)據(jù)應傳送給單片機進行處理。數(shù)據(jù)傳送的關鍵問題是如何確認A/D轉換完成,因為只有在確認A/D轉換完成后,才能進行數(shù)據(jù)傳送。確認A/D轉換完成可采用下述3種方式。1)定時傳送方式對一種A/D轉換器來說,轉換時間作為一項技術指標是已知的和固定的。假設ADC0809的轉換時間為128μs,相當于6MHz的8051單片機,共64個機器周期??蓳?jù)此設計一個延時子程序,A/D轉換啟動后即調用此子程序,延遲時間一到,表明轉換已經(jīng)完成,就可進行數(shù)據(jù)傳送了。2)查詢方式A/D轉換器有表明A/D轉換完成的狀態(tài)信號,如ADC0809的EOC端。因此可以用查詢方式檢測EOC的狀態(tài),即可確認A/D轉換是否完成,并接著進行數(shù)據(jù)傳送。3)中斷方式把表明A/D轉換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。8.2.1ADC0809及接口設計3.ADC0809的工作過程中斷方式是指單片機啟動A/D轉換后,單片機不等待轉換結束而執(zhí)行其他程序。ADC0809轉換結束后,EOC變?yōu)楦唠娖?,EOC通過反相器向單片機發(fā)出中斷請求,單片機響應中斷,進入中斷服務程序,在中斷服務程序中讀入轉換完畢的數(shù)字量。中斷方式效率高,特別適合于轉換時間較長的A/D轉換器。無論使用上述哪種方式,只要一旦確定A/D轉換完成,即可通過指令進行數(shù)據(jù)傳送。單片機首先要輸出與A/D轉換器接口的地址,之后開始轉換。轉換結束后輸出使能信號(OE),把轉換后的數(shù)據(jù)讀入。8.2.1ADC0809及接口設計4.ADC0809與單片機接口圖8-3是ADC0809與8051的典型接口電路圖,其中8路模擬量的變化范圍是0~5V。ADC0809的時鐘由8051輸出的ALE信號經(jīng)分頻后提供。因為ADC0809的最高時鐘頻率為640kHz,ALE信號的頻率是晶振頻率的1/6,如果晶振頻率為6MHz,則ALE的頻率為1MHz,所以ALE信號要經(jīng)過分頻后送給ADC0809。若單片機的時鐘頻率符合要求,則也可不加分頻電路。圖8-3ADC0809與8051的典型接口電路圖8.2.1ADC0809及接口設計4.ADC0809與單片機接口模擬輸入通道地址由單片機的P0口的低3位P0.0~P0.2直接提供。由于ADC0809的地址鎖存器具有鎖存功能,所以P0.0~P0.2可以不需要地址鎖存器而直接與ADC0809的ADDA、ADDB、ADDC連接。8051單片機通過地址線P2.0和讀/寫信號線(、)來控制ADC0809的鎖存信號ALE、啟動信號START、輸出允許信號OE。鎖存信號ALE和啟動信號START連接在一起,在鎖存通道地址的同時進行轉換。當P2.0和寫信號()同時為低電平時,鎖存信號ALE和啟動信號START有效,通道地址送地址鎖存器鎖存,同時啟動ADC0809,開始轉換。當轉換結束而要讀取轉換結果時,只要P2.0和讀信號()同為低電平,且輸出允許信號OE有效,轉換的數(shù)字量就通過D0~D7輸出。ADC0809的EOC轉換結束標志信號接8051的外部中斷0(使用中斷方式);也可采用查詢方式,與任一I/O口連接。8.2.1ADC0809及接口設計4.ADC0809與單片機接口電路連接主要涉及兩個問題,一個是8路模擬信號的通道選擇,另一個是A/D轉換完成后轉換數(shù)據(jù)的傳送。注意:圖8-3中使用的是線選法,OE由P2.0確定,該ADC0809的通道地址不唯一。若無關位都取0,則8路通道INO~IN7的地址分別為0000H~0007H;若無關位都取1,則8路通道INO~IN7的地址分別為FEF0H~FEF7H。當然,通道地址也可以由單片機的其他I/O口線提供,或者由幾根I/O口線經(jīng)過譯碼后提供,這樣,通道的地址也就有所不同。ADDA、ADDB、ADDC分別接地址鎖存器提供的低3位地址,只要把這3位地址寫入ADC0809的地址鎖存器,就可實現(xiàn)模擬通道選擇。對單片機系統(tǒng)來說,地址鎖存器是一個輸出口,為了把這3位地址寫入,還要提供對應的外部端口地址。8.2.1ADC0809及接口設計5.ADC0809的A/D轉換應用程序舉例接下來舉個例子,采用查詢方式控制ADC0809進行A/D轉換,原理電路如圖8-4所示。輸入給ADC0809的模擬電壓可通過調節(jié)電位器RV1來實現(xiàn),ADC0809將輸入的模擬電壓轉換成二進制數(shù),并通過P1口輸出,控制LED的亮與滅,以此來顯示轉換結果的二進制數(shù)字量。圖8-4單片機控制ADC0809進行A/D轉換的原理電路8.2.1ADC0809及接口設計5.ADC0809的A/D轉換應用程序舉例ADC0809轉換一次約需要100μs,采用查詢方式,即使用P2.6來查詢EOC引腳的電平,判斷A/D轉換是否結束。如果EOC引腳為高電平,就說明轉換結束,單片機從P1口讀入轉換的二進制數(shù)結果,并把結果從P0口輸出給8個LED,LED被點亮的位對應轉換結果“0”。8.2.1ADC0809及接口設計5.ADC0809的A/D轉換應用程序舉例在進行A/D轉換時,必須加基準電壓,單獨用高精度穩(wěn)壓電源供給,其電壓變化要小于1LSB,這是保證轉換精度的基本條件。否則當被轉換的輸入電壓不變,而基準電壓變化大于1LSB時,也會引起A/D轉換器輸出的數(shù)字量變化。如果用中斷方式讀取結果,則可將EOC引腳與單片機P2.6引腳斷開,EOC引腳接反相器(如74LS04)的輸入,反相器輸出接單片機外部中斷請求輸入端(INTx引腳),轉換結束時,向單片機發(fā)出中斷請求信號??蓪Ρ纠涌陔娐芳俺绦蜻M行修改,采用中斷方式讀取A/D轉換結果。8.2.2ADC0804及接口設計ADC0804是用CMOS集成工藝制成的逐次比較式單通道A/D轉換芯片,分辨率為8位,轉換時間為100μs,輸入電壓為0~5V。該芯片內(nèi)有輸出數(shù)據(jù)鎖存器,當與計算機連接時,轉換電路的輸出可以直接連接在CPU數(shù)據(jù)總線上,無須附加邏輯接口電路。ADC0804芯片外引腳圖如圖8-5所示。圖8-5ADC0804芯片外引腳圖8.2.2ADC0804及接口設計1.ADC0804引腳功能(1)、、(引腳1、2、3):數(shù)字控制輸入端,滿足標準TTL邏輯電平。其中,和用來控制A/D轉換的啟動信號,和用來讀取A/D轉換結果,當它們同時為低電平時,輸出數(shù)據(jù)鎖存器DB0~DB7各端上出現(xiàn)8位并行二進制碼。(2)CLKIN(引腳4)和CLKR(引腳19):ADC0801~ADC0805片內(nèi)有時鐘電路,只要在外部CLKI和CLKR兩端外接一對電阻電容即可產(chǎn)生A/D轉換所要求的時鐘,其振蕩頻率為fCLK≈1/(1.1RC),其典型應用參數(shù)為:R=12kΩ,C=120pF,fCLK≈640kHz,轉換時間為100μs。若采用外部時鐘,則外部fCLK可從CLKI端送入,此時不接電阻電容對。ADC0804允許的時鐘頻率為100~1460kHz。(3)(引腳5):轉換結束標志信號輸出端,輸出跳轉為低電平表示本次轉換已經(jīng)完成,可作為微處理器的中斷或查詢信號。如果將和端與端相連,則ADC0804就處于自動循環(huán)轉換狀態(tài)。當=0時,允許進行A/D轉換。當由低電平跳變到高電平時,A/D轉換開始,8位逐次比較需要8×8=64個時鐘周期,再加上控制邏輯操作,一次轉換需要66~73個時鐘周期。在典型應用fCLK=640kHz時,轉換時間為103~114μs。當fCLK超過640kHz時,轉換精度下降,超過極限值1460kHz時便不能正常工作。8.2.2ADC0804及接口設計1.ADC0804引腳功能(4)VIN(+)(引腳6)和VIN(-)(引腳7):被轉換的電壓信號從VIN(+)和VIN(-)端輸入,允許此信號是差動的或不共地的電壓信號。如果輸入電壓VIN的變化范圍為0~Vmax,則芯片的VIN(-)端接地,輸入電壓加到VIN(+)端。由于該芯片允許差動輸入,所以在共模輸入電壓允許的情況下,輸入電壓范圍可以從非零開始,即從Vmin至Vmax。此時芯片的VIN(-)端應該接入等于Vmin的恒值電壓,而輸入電壓VIN仍然加到VIN(+)端。(5)AGND(引腳8)和DGND(引腳10):A/D轉換器一般都有這兩個引腳。模擬地AGND和數(shù)字地DGND分別設置引入端,使數(shù)字電路的地電流不影響模擬信號回路,以防止寄生耦合造成的干擾。(6)VREF/2(引腳9):參考電壓VREF/2可以由外部電路供給,從VREF/2端直接送入,VREF/2端的電壓值應是輸入電壓范圍的1/2。因此,輸入電壓的范圍可以通過調整VREF/2端的電壓加以改變,A/D轉換器的零點無須調整。8.2.2ADC0804及接口設計2.ADC0804的工作時序ADC0804的工作時序如圖8-6所示。圖8-6ADC0804的工作時序8.2.2ADC0804及接口設計3.ADC0804與單片機接口電路與ADC0809不同的是,ADC0804有自動時鐘產(chǎn)生電路,不需要額外的時鐘輸入,因此電路相對簡單,如圖8-7所示。圖8-7ADC0809與單片機接口電路圖在圖8-7中,ADC0804數(shù)據(jù)輸出線與AT89C51的數(shù)據(jù)總線直接相連,AT89C51的、和端直接連接于ADC0804的、和,由于這里用P1.0線來產(chǎn)生片選信號,故無須外加地址譯碼器。當AT89C51向ADC0804發(fā)送(啟動轉換)、(讀取結果)信號時,只要虛擬一個系統(tǒng)不占用的數(shù)據(jù)存儲器地址即可。8.3
項目訓練:數(shù)字電壓表設計8.3.1項目要求用單片機設計一個數(shù)字電壓表,要求能實現(xiàn)0~50V直流電壓的采樣,并通過4位數(shù)碼管將電壓值顯示出來;畫出原理圖,焊接電路,并編程調試。通過制作數(shù)字電壓表,學會A/D轉換的接口技術,了解A/D采樣原理;掌握常用采樣芯片的使用方法與電路設計及編程;掌握采樣數(shù)據(jù)與實際顯示數(shù)據(jù)的轉換。8.3.2項目分析要設計數(shù)字電壓表,首先要選擇合適的A/D轉換器,將輸入的電壓信號轉換為數(shù)字信號。這里考慮到只需測量一路模擬信號,因此可以選擇用ADC0804。而且它自帶時鐘產(chǎn)生電路,不需要額外的時鐘輸入,電路相對簡單。任務要求實現(xiàn)最高50V的電壓采樣,但ADC0804的電壓輸入范圍是0~5V,故在輸入端要采取電壓分壓處理。其次要考慮顯示控制部分,前面章節(jié)有用到數(shù)碼管和LCD進行顯示,它們有各自的優(yōu)/缺點,數(shù)碼管適用于顯示簡單的數(shù)字信息,價格便宜、使用方便;LCD適用于顯示復雜的信息,價格較高、使用相對復雜一些。由于本項目只顯示電壓值,因此可選用數(shù)碼管,根據(jù)顯示精度選用4位數(shù)碼管,并采用動態(tài)顯示技術實現(xiàn)多位數(shù)字的顯示。8.3.3項目設計過程1.設計思路本電路從測試端輸入0~50V的電壓,經(jīng)91kΩ與10kΩ電阻的分壓,ADC0804輸入電壓Vin(0~5.0V)大約只有測試端的1/10,經(jīng)過單片機處理,最后將其顯示在4位7段數(shù)碼管顯示器上。數(shù)據(jù)顯示到小數(shù)點后2位,若最高位數(shù)為0,則不顯示。如果測試端輸入4.0V的電壓,則顯示“4.00”。2.原理圖設計(用Proteus仿真)數(shù)字電壓表的原理圖設計主要考慮ADC0804的時鐘電路,模擬電壓的輸入,以及ADC0804與單片機的接口。顯示電路采用4位數(shù)碼管顯示,可以參考第3章的電路。ADC0804的時鐘電路參考芯片手冊,外接阻容元件參數(shù)為R=10kΩ,C=150pF,此時的頻率為fCLK≈640kHz,轉換速度為100μs。模擬電壓的輸入采用電阻分壓來實現(xiàn),為了使輸入電壓可調,分壓電路的下部分電阻采用電位器代替。ADC0804是并行數(shù)據(jù)輸出口,可以直接與單片機的P1口連接。采用Proteus仿真的電路如圖8-8所示。8.3.3項目設計過程圖8-8采用Proteus仿真的電路8.3.3項目設計過程3.程序設計流程圖因為A/D轉換需要一定的時間,所以單片機進行A/D采樣時往往采用中斷的方式獲取數(shù)據(jù)。因此,程序可分為兩部分:主程序和中斷服務程序。主程序實現(xiàn)程序的初始化、中斷的使能、啟動A/D轉換,以及數(shù)據(jù)的處理和顯示,具體的流程如圖8-9(a)所示。中斷服務程序主要實現(xiàn)數(shù)據(jù)的讀取,按照芯片的工作時序對其進行控制,如輸出片選信號、讀使能信號,之后讀取數(shù)據(jù)。讀取數(shù)據(jù)之后關閉片選信號和讀使能信號。具體的流程如圖8-9(b)所示。8.3.3項目設計過程4.具體程序設計(1)A/D轉換的控制。A/D轉換的控制主要依據(jù)芯片的時序圖來設計,因此,看懂時序圖是控制芯片工作的前提條件。從時序圖中可以看出,無論是啟動轉換還是要讀取數(shù)據(jù),都需要使片選信號有效。數(shù)據(jù)轉換結束可以通過延時一定的時間(>100μs)來判斷,也可以通過中斷來判斷。(2)A/D采樣數(shù)據(jù)與實際電壓的轉換。A/D采樣得到的數(shù)據(jù)只有轉換為電壓值才能顯示出來,因此二者的關系要通過一定的運算得到。因為該芯片的分辨率只有8位,所以可以表示的十進制數(shù)是256個,相當于把滿量程電壓(5V)分為256份,每份為5/256V,采樣所得的數(shù)據(jù)乘上每份的值就得到實際的電壓值。具體的計算公式如下。8.3.3項目設計過程4.具體程序設計設滿量程電壓為Vref,A/D轉換芯片的分辨率為k位,A/D轉換后得到的數(shù)值為Ds,則轉換得到的電壓值為
通過上面公式計算出來的值是浮點數(shù)(帶小數(shù)點)。浮點數(shù)占的數(shù)據(jù)存儲空間較大,運算量較大,因此不適合在單片機上進行運算,那么,應如何避免用浮點數(shù)呢?假設需要顯示的數(shù)據(jù)精確到小數(shù)點后2位,則可以把數(shù)據(jù)乘以100,這樣數(shù)據(jù)就變成了整數(shù),運算起來就快得多。需要顯示時,只需在相應的位數(shù)上加上小數(shù)點即可。8.3.3項目設計過程4.具體程序設計(3)電壓的顯示。通過計算得到實際的電壓值后,需要將其送到數(shù)碼管中進行顯示。數(shù)據(jù)被送
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《心臟康復培訓》課件
- 小學一年級20以內(nèi)加減法混合運算
- 小學五年級數(shù)學小數(shù)乘除法計算練習題 集
- 二年級上冊21 雪孩子(教案)
- 2025年1月內(nèi)蒙古自治區(qū)普通高等學校招生考試適應性測試(八省聯(lián)考)歷史試題
- 《新地產(chǎn)營銷新機會》課件
- 混凝土路面施工協(xié)議書
- 口腔科護士的工作總結
- 育人為本點滴栽培班主任工作總結
- 浴室用品銷售工作總結
- 2024年領導干部任前廉政知識考試測試題庫及答案
- 中醫(yī)辨證-八綱辨證(中醫(yī)學課件)
- 冠脈介入進修匯報
- 蔣詩萌小品《誰殺死了周日》臺詞完整版
- 生涯發(fā)展展示
- 【家庭自制】 南北香腸配方及28種制作方法
- 廠房施工總結報告
- 先進物流理念主導和先進物流技術支撐下的日本現(xiàn)代物流
- 建筑小區(qū)生雨水排水系統(tǒng)管道的水力計算
- 公務員職務和級別工資檔次套改及級別對應表
- 社會團體選舉辦法
評論
0/150
提交評論