模數轉換器ADC0809應用原理_第1頁
模數轉換器ADC0809應用原理_第2頁
免費預覽已結束,剩余11頁可下載查看

下載本文檔

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

文檔簡介

1、精品文檔1歡迎下載AD0809 應用原理很全面的資料1. 0809 的芯片說明:ADC0809 是帶有 8 位 A/D 轉換器、8 路多路開關以及微處理機兼容的控制邏輯的 CMOS 組件。它是逐次逼近式 A/D 轉換器,可以和單片機直接接口。(1)ADC0809 的內部邏輯結構由上圖可知,ADC0809 由一個 8 路模擬開關、一個地址鎖存與譯碼器、一個 A/D 轉換 器和一個三態(tài)輸出鎖存器組成。多路開關可選通 8 個模擬通道,允許 8 路模擬量分時 輸入,共用A/D 轉換器進行轉換。三態(tài)輸出鎖器用于鎖存 A/D 轉換完的數字量,當 O E 端為高電平時,才可以從三態(tài)輸出鎖存器取走轉換完的數據

2、。(2).引腳結構IN0 IN7: 8 條模擬量輸入通道ADC0809 寸輸入模擬量要求:信號單極性,電壓范圍是 0 5V,若信號太小,必須 進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在 輸入前增加精品文檔2歡迎下載采樣保持電路。地址輸入和控制線:4 條ALE 為地址鎖存允許輸入線,高電平有效。當 ALE 線為高電平時,地址鎖存 與譯碼器將 A,B,C 三條地址線的地址信號進行鎖存,經譯碼后被選中的通道的模擬 量進轉換器進行轉換。A,B 和 C 為地址輸入線,用于選通 IN0 IN7 上的一路模擬量 輸入。通道選擇表如下表所示。CBA選擇的通道000IN0001I

3、N10 0IN2I011IN3100IN4101IN5110IN6111IN7數字量輸出及控制線:11 條ST 為轉換啟動信號。當 ST 上跳沿時,所有內部寄存器清零;下跳沿時,開始進行 A/ D 轉換;在轉換期間,ST 應保持低電平。EOC 為轉換結束信號。當 EOC 為高電平時,表明轉換結束;否則,表明正在進行 A/D 轉換。OE 為輸出允許信號,用于控制三條輸 出鎖存器向單片機輸出轉換得到的數據。 OB 1,輸出轉換得到的數據;OE= 0,輸出 數據線呈高阻狀態(tài)。D7- D0為數字量輸出線。CLK 為時鐘輸入信號線。因 ADC0809 勺內部沒有時鐘電路,所需時鐘信號必須由外界 提供,通

4、常使用頻率為 500KHZVREF( + ), VREF()為參考電壓輸入。2.ADC0809 應用說明(1) . ADC0809 內部帶有輸出鎖存器,可以與 AT89S51 單片機直接相連。(2) .初始化時,使 ST 和 OE 信號全為低電平。(3).送要轉換的哪一通道的地址到 A,B,C 端口上。(4) .在 ST 端給出一個至少有 100ns 寬的正脈沖信號。(5) .是否轉換完畢,我們根據 EOC 言號來判斷。(6).當 EOC 變?yōu)楦唠娖綍r,這時給 OE 為高電平,轉換的數據就輸出給單片機了。3.實驗任務如下圖所示,從 ADC0809 勺通道 IN3 輸入 0 5V 之間的模擬量,

5、通過 ADC0809 專換成 數精品文檔3歡迎下載字量在數碼管上以十進制形成顯示出來。ADC0809 勺 VREF 接+ 5V 電壓。4.電路原理圖5.程序設計:(1).進行 A/D 轉換時,采用查詢 EOC 的標志信號來檢測 A/D 轉換是否完畢,若完 畢則把數據通過 P0 端口讀入,經過數據處理之后在數碼管上顯示。(2) .進行 A/D 轉換之前,要啟動轉換的方法:ABC= 110 選擇第三通道ST= 0, ST= 1,ST= 0 產生啟動轉換的正脈沖信號.(3) .關于 0809 的計算:ad0809 是根據逐位逼近的方法產生數據的。參考電壓為 0-5V 的話。以 0809 八位 255

6、 的轉換精度每一位的電壓值為(5-0)/255 祠.0196V設輸入電壓為 X 則:X-27*0.0196=0 則 AD7=1 否貝 U AD7=0X-26*0.0196=0 則 AD6=1 否貝 U AD6=0X-20*0.0196=0 則 AD0=1 否貝 U AD0=0(27 指 2 的 7 次方。26-20 同理)若參考電壓為 0-1V(1-0)/255 P.0039V 精度自然高了。可測量范圍小了。1)匯編源程序:CH EQU 30HDPCNT EQU 31HDPBUF EQU 33HGDATA EQU 32HST BIT P3.0OE BIT P3.1精品文檔4歡迎下載EOC BI

7、T P3.2ORG OOHLJMP STARTORG OBHLJMP TOXORG 30HSTART: MOV CH,#0BCHMOV DPCNT,#00HMOV R1,#DPCNTMOV R7,#5MOV A,#10MOV R0,#DPBUFLOP: MOV R0,AINC R0DJNZ R7,LOPMOV R0,#00HINC R0MOV R0,#00HINC R0MOV R0,#00HMOV TMOD,#01HMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256SETB TR0SETB ET0SETB EAWT: CLR STSET

8、B STCLR STWAIT: JNB EOC,WAITSETB OEMOV GDATA,P0CLR OEMOV A,GDATAMOV B,#100DIV ABMOV 33H,AMOV A,BMOV B,#10精品文檔5歡迎下載DIV ABMOV 34H,AMOV 35H,BSJMP WTT0X: NOPMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256MOV DPTR,#DPCDMOV A,DPCNTADD A,#DPBUFMOV R0,AMOV A,R0MOVC A,A+DPTRMOV P1,AMOV DPTR,#DPBTMOV A

9、,DPCNTMOVC A,A+DPTRMOV P2,AINC DPCNTMOV A,DPCNTCJNE A,#8,NEXTMOV DPCNT,#00HNEXT: RETIDPCD: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH,00HDPBT: DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHEND2) C 語言源程序#i ncludeun sig ned char code dispbitcode=0 xfe,0 xfd,0 xfb,0 xf7, 0 xef,0 xdf,0 xbf,0 x7f;unsigne

10、d char code dispcode=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00;unsigned char dispbuf8=10,10,10,10,10,0,0,0;un sig ned char dispco unt;sbit ST=P3A0;sbit OE=卩 3W;sbit EOC= 卩 3八 2;精品文檔6歡迎下載un sig ned char cha nn el=0 xbc;/IN3un sig ned char getdata;void ma in (void)TMOD=0 x01;TH

11、0=(65536-4000)/256;TL0=(65536-4000)%256;TR0=1;ET0=1;EA=1;P3=cha nn el;while(1)ST=0;ST=1;ST=0;while(EOC=0);OE=1;getdata=P0;OE=0;dispbuf2=getdata/100; getdata=getdata%10;dispbuf1=getdata/10;dispbuf0=getdata%10;void t0(void) in terrupt 1 using 0TH0=(65536-4000)/256;TL0=(65536-4000)%256;P1=dispcodedispb

12、ufdispco un t;P2=dispbitcodedispco un t;dispco un t+;if(dispco un t=8)dispco un t=0;3) FPGA 實現(xiàn)的程序:(verilog )精品文檔7歡迎下載module AD0809(clk, / 脈寬(至少 100 ns)rst_n,EOC, / 約 100us 后 EOC 變?yōu)楦唠娖睫D換結束START, /啟動信號,上升沿有效(至少 100ns)OE, / 高電平打開三態(tài)緩沖器輸出轉換數據ALE, / 高電平有效,選擇信道口ADDA,/因為 ADDB,ADD 都接地了,這里只有 ADDA 為變量 DATA,/ /

13、 轉換數據DATA_R);output START,OE,ALE,ADDA;in putEOC,clk,rst_n;in put7:0DATA;output7:0 DATA_R;regSTART,OE,ALE,ADDA;reg7:0DATA_R;reg4:0 CS,NS;parameter IDLE=5”b00001,START_H=5”b00010,START_L=5”b00100,CHECK_END=5b01000,GET_DATA=5b10000;always (*)case(CS)IDLE:NS=START_H;START_H:NS=START_L;START_L:NS=CHECK_E

14、ND;CHECK_END:if(EOC)NS=GET_DATA; elseNS=CHECK_END;GET_DATA:NS=IDLE;精品文檔8歡迎下載default:NS=IDLE;endcasealways (posedge clk)if(!rst_n)CS=IDLE;elseCS=NS;always (posedge clk)case(NS)IDLE:begi nOE=0;START=0;ALE=0;ADDA=1;endSTART_H:begi nOE=0;START=1; / 產生啟動信號 ALEv=1;ADDA=1;/選擇信道口 IN0endSTART_L:begi nOE=0;ST

15、ART=0;ALE=1;啟動信號脈寬要足夠長,在啟動的時候 ALE 要一直有效endCHECK_END:begi nOE=0;START=0;ALE=0;end精品文檔9歡迎下載GET_DATA:begi nOE=1;/高電平打開三態(tài)緩沖器輸出轉換數據DATA_Rv=DATA;提取轉換數據START=0;ALE=0;enddefault:begi nOE=0;START=0;ALE=0;ADDA=0;endendcaseen dmodule4)FPGA 實現(xiàn)的程序:(VHDLLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_

16、UNSIGNED.ALL;ENTITY AD0809 ISPORT( D: IN STD_LOGIC_VECTOR(7 DOWNTO 0LK,EOC: IN STD_LOGIC;CLOCK:IN STD_LOGIC;ALE,START,OE, LOCK0: OUT STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END AD0809;ARCHITECTURE behav OF AD0809 ISTYPE states IS (st0,st1,st2,st3,st4);SIG

17、NAL curre nt_state ,n ext_state:states:=stO;SIGNAL REGL :STD_L0GIC_VECT0R(7 DOWNTO 0);SIGNAL LOCK :STD_LOGIC;SIGNAL CNT1:STD_LOGIC_VECTOR(0 DOWNTO 0);SIGNAL A :INTEGER RANGE 0 TO 1;SIGNAL LOWDATA:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HIGHDATA:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL LOWLED7S:STD_LOGIC_VECT

18、OR(6 DOWNTO 0);SIGNAL HIGHLED7S:STD_LOGIC_VECTOR(6 DOWNTO 0); BEGIN精品文檔10歡迎下載LOCK0=LOCK;PROCESS(REGL)BEGINLOWDATA=REGL(3 DOWNTO 0);HIGHDATA LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7S Null;END CASE;CA

19、SE HIGHDATA ISWHEN 0000 = HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S Null;END CASE;END PROCESS;PROCESS(CLOCK)BEGINIF CLOCKEVENT AND CLOCK=1 THEN CNT1SEL=111; ASEL=110; ANULL;END CASE;

溫馨提示

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

評論

0/150

提交評論