ADC0809模數轉換與顯示

2021-10-01 15:27:18 字數 2837 閱讀 6492

用電阻阻值大小控制,並用七段數碼管顯示0~500的數

adc0809是帶有8位a/d轉換器、8路多路開關以及微處理機相容的控制邏輯的cmos元件。它是逐次逼近式a/d轉換器,可以和微控制器直接介面。

內部邏輯結構

由上圖可知,adc0809由乙個8路模擬開關、乙個位址鎖存與解碼器、乙個a/d轉換器和乙個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用a/d轉換器進行轉換。三態輸出鎖器用於鎖存a/d 轉換完的數字量,當oe端為高電平時,才可以從三態輸出鎖存器取走轉換完的資料

引腳結構

說明

st**換啟動訊號)

eoc**換結束訊號)

oe(輸出允許訊號)

clk

引腳埠

說明adc0809對輸入模擬量要求:訊號單極性,電壓範圍是0-5v,若訊號太小,必須進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加取樣保持電路

ale為位址鎖存允許輸入線,高電平有效。當ale線為高電平時,位址鎖存與解碼器將a,b,c三條位址線的位址訊號進行鎖存,經解碼後被選中的通道的模擬量進入轉換器進行轉換。a,b和c為位址輸入線,用於選通in0-in7上的一路模擬量輸入

通道選擇表如下所示:

應用說明

引用庫檔案
#include

#include

#include

#include

#include

全域性變數定義
//位址鎖存

sbit addc=p1^6;

sbit addb=p1^5;

sbit adda=p1^4;

sbit clk=p1^3;

//clock

sbit st=p1^2;

//start (轉換啟動訊號)

sbit eoc=p1^1;

//end of conversion (轉換結束訊號)

sbit oe=p1^0;

//output enable (輸出允許訊號)

//0~9

unsigned

char code seg7=

;

延時函式
/*

* 延時

* * @param x 時間(不精確)

* @return

*/void

delay_ms

(int i)

}

顯示
/*

* 顯示

* * @param adx ad轉換過後的八位數值

* @return

*/void

display

(unsigned

char adx)

說明

由下圖所示,led的2、3、4號引腳是與埠p2.1、 p2.2、p2.3一一連線,然後高電平表示選中,選中時,將p0八個引腳的資料送入led中顯示;而 led的1、2、3、4從左到右一一對應上面的八段數碼管

初始化

/*

* 初始化

** @return

*/void

init()

說明

由下圖所示,我們選擇通道3作為輸入

中斷

/*

* 中斷

** @return

*/voidt0(

) interrupt 1

主函式
void

main()

}

說明

adc0809轉換完畢後,資料存放在p3中,所以顯示就是以p3作為引數

ADC0809模數轉換

將模擬電壓通過ad轉換,通過at89c51微控制器接數碼管顯示轉換結果。adc0809的晶元介紹 adc0809的晶元簡介 include reg52.h char code shumaguan 16 共陰 define led p0 p1埠控制數碼管段選端 define wei p2 p3埠控制位...

ADC0809採集八路電壓

oe 輸出使能 start 高電平啟動 clock 工作頻率,不要超過640khz就好 eoc 開始進行ad轉換時為低電平,轉換結束後會輸出高電平 ale 將輸入位址鎖存,一般和start訊號共用,這樣在啟動時也相當於鎖存了位址 vref 基準電壓 adda addb addc 選擇通道 in0 i...

ADC模數轉換

adc模數轉換 1.1 什麼是adc 1 adc analog digital converter,ad轉換,模數轉換 也就是模擬轉數字 2 ad型別 積分型,逐次比較型,並行比較 序列比較型,調製型,電容陣列逐次比較型,壓頻變換型。2 cpu本身是數字的,而外部世界變數 如電壓 溫度 高度 壓力 ...