導航:首頁 > 操作系統 > 單片機adc的作業

單片機adc的作業

發布時間:2022-06-10 10:30:46

單片機中adc是幹啥的

模數轉換器,將模擬量信號轉換為數字信號用的。如有幫助請採納,手機則點擊右上角的滿意,謝謝!!

Ⅱ c51單片機中斷程序中的interrupt1,2,3是由什麼決定的

由中斷號決定,一般計數器0是interrupt 0,定時器0是interrupt 1,接下來是計數器1,再是定時器1,再是串口,有些單片機還會有ADC,串口2,PCI等中斷,具體看單片機的資料。

Proteus 自從有了單片機也就有了開發系統,隨著單片機的發展開發系統也在不斷發展。 keil是一種先進的單片機集成開發系統。它代表著匯編語言單片機開發系統的最新發展,首創多項便利技術,將開發的編程/模擬/調試/寫入/加密等所有過程一氣呵成,中間不須任何編譯或匯編。

(2)單片機adc的作業擴展閱讀:

功能:

8位CPU·4kbytes程序存儲器(ROM) (52為8K)。

128bytes的數據存儲器(RAM) (52有256bytes的RAM)。

32條I/O口線·111條指令,大部分為單位元組指令。

21個專用寄存器。

2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)

一個全雙工串列通信口。

外部數據存儲器定址空間為64kB。

Ⅲ 單片機中的ADC是什麼意思作用是什麼

單片機中的ADC是Analog-to-Digital
Converter的縮寫,指模/數轉換器或者模數轉換器。
ADC是指將連續變化的模擬信號轉換為離散的數字信號的器件。真實世界的模擬信號,例如溫度、壓力、聲音或者圖像等,需要轉換成更容易儲存、處理和發射的數字形式。模/數轉換器可以實現這個功能,在各種不同的產品中都可以找到它的身影。
典型的模擬數字轉換器將模擬信號轉換為表示一定比例電壓值的數字信號。然而,有一些模擬數字轉換器並非純的電子設備,例如旋轉編碼器,也可以被視為模擬數字轉換器。

(3)單片機adc的作業擴展閱讀:
單片機中ADC的運作原理:
模擬信號在時域上是連續的,因此可以將它轉換為時間上連續的一系列數字信號。這樣就要求定義一個參數來表示新的數字信號采樣自模擬信號速率。這個速率稱為轉換器的采樣率或采樣頻率。
可以採集連續變化、帶寬受限的信號,然後可以通過插值將轉換後的離散信號還原為原始信號。這一過程的精確度受量化誤差的限制。然而,僅當采樣率比信號頻率的兩倍還高的情況下才可能達到對原始信號的忠實還原,這一規律在采樣定理有所體現。
由於實際使用的模擬數字轉換器不能進行完全實時的轉換,所以對輸入信號進行一次轉換的過程中必須通過一些外加方法使之保持恆定。
參考資料來源:搜狗網路-ADC(模數轉換器)

Ⅳ 單片機控制ADC的常用方法有哪些

1、ADC原理

ADC轉換器由前置濾波器、調制器、數字濾波器和梳值濾波器組成,22∃ADC的結構如圖1所示.它是將輸入信號通過22∃調制器量化成1bit的高速數據流,再經過數字濾波和采樣抽取後才得到最後的結果.和傳統的A󰃗D轉換相比,其原理和結構有很大地不同,下面以一階22∃調制器為例來說明22∃ADC原理.

圖1 2-∃ADC的結構

2、常用的方法

ADC0809是帶有8位A/D轉換器、8路多路開關以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉換器,可以和單片機直接介面。

(1)ADC0809的內部邏輯結構

由下圖可知,ADC0809由一個8路模擬開關、一個地址鎖存與解碼器、一個A/D轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8 路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖器用於鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態輸出鎖存器取走轉換完的數 據。

(2). ADC0809引腳結構

ADC0809各腳功能如下:
D7-D0:8位數字量輸出引腳。
IN0-IN7:8位模擬量輸入引腳。
VCC:+5V工作電壓。
GND:地。
REF(+):參考電壓正端。
REF(-):參考電壓負端。
START:A/D轉換啟動信號輸入端。
ALE:地址鎖存允許信號輸入端。
(以上兩種信號用於啟動A/D轉換).
EOC:轉換結束信號輸出引腳,開始轉換時為低電平,當轉換結束時為高電平。
OE:輸出允許控制端,用以打開三態數據輸出鎖存器。
CLK:時鍾信號輸入端(一般為500KHz)。
A、B、C:地址輸入線。

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

地址輸入和控制線:4條

ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與解碼器將A,B,C三條地址線的地址信號進行鎖存,經解碼後被選中的通道的模擬量進轉換器進行轉換。A,B和C為地址輸入線,用於選通IN0-IN7上的一路模擬量輸入。通道選擇表如下表所示。


數字量輸出及控制線:11條

ST為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當 EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用於控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸 出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7-D0為數字量輸出線。

CLK為時鍾輸入信號線。因ADC0809的內部沒有時鍾電路,所需時鍾信號必須由外界提供,通常使用頻率為500KHZ,

VREF(+),VREF(-)為參考電壓輸入。

2. ADC0809應用說明

(1). ADC0809內部帶有輸出鎖存器,可以與AT89S51單片機直接相連。

(2). 初始化時,使ST和OE信號全為低電平。

(3). 送要轉換的哪一通道的地址到A,B,C埠上。

(4). 在ST端給出一個至少有100ns寬的正脈沖信號。

(5). 是否轉換完畢,我們根據EOC信號來判斷。

(6). 當EOC變為高電平時,這時給OE為高電平,轉換的數據就輸出給單片機了。

3. 實驗任務

如下圖所示,從ADC0809的通道IN3輸入0-5V之間的模擬量,通過ADC0809轉換成數字量在數碼管上以十進制形成顯示出來。ADC0809的VREF接+5V電壓。

4. 程序設計內容

(1). 進行A/D轉換時,採用查詢EOC的標志信號來檢測A/D轉換是否完畢,若完畢則把數據通過P0埠讀入,經過數據處理之後在數碼管上顯示。

(2). 進行A/D轉換之前,要啟動轉換的方法:

ABC=110選擇第三通道

ST=0,ST=1,ST=0產生啟動轉換的正脈沖信號 .

C語言源程序
#include
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};
unsigned char dispcount;

sbit ST="P3"^0;
sbit OE="P3"^1;
sbit EOC="P3"^2;
unsigned char channel="0xbc";//IN3
unsigned char getdata;

void main(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
TR0=1;
ET0=1;
EA=1;

P3=channel;

while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
dispbuf[2]=getdata/100;
getdata=getdata%10;
dispbuf[1]=getdata/10;
dispbuf[0]=getdata%10;
}
}

void t0(void) interrupt 1 using 0
{
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}

Ⅳ 單片機ADC怎麼編程

內部自帶的嗎?需要配置引腳為模擬輸入,配置轉換結果對齊,選擇通道,使能ADC,啟動轉換,等待轉換完成,讀取轉換數值,不同單片機操作不同,具體看手冊很詳細的

Ⅵ 單片機的ADC處理得到的是什麼

諧波電壓是給單片機供電,還是輸入ADC?一般單片機的ADC參考電壓會是電源電壓,參考電壓變化,固定電壓輸給ADC,得到數值也會變化。如果是諧波電壓輸給ADC,參考電壓固定,如果采樣足夠快的話得到數值可復原諧波;比較慢的話數值就是諧波中的一個隨機值。

Ⅶ 單片機集成的ADC指的是什麼器,DAC指的是什麼器

ADC是指模擬信號轉換成數字信號,DAC剛好相反。比如基準電壓是5V、10位ADC的單片機,檢測外部2.5V的電壓,讀取檢測後單片機對應的寄存器值就可以獲取512左右的數值。簡單的說ADC就是單片機檢測電壓。DAC則是你想輸出對應的電壓,只要編程時候賦對於得數值就可以了。

Ⅷ 單片機ADC

ADC可以用在電壓/電流測量,或壓力感測器的輸入,等模擬量的測量
如:電壓表,電子稱等產品

Ⅸ 用單片機控制adc,多次adc轉換求平均值代碼怎麼寫

定義一個計數器,每次讀完ADC轉化的值以後,累加,然後計數到一定值以後,求平均。下面是示例:
void get_adc() //獲取ADC采樣值求平均

{
static int cnt = 0;//用於計數
static int sum = 0;

if(cnt==SET_CNT)
{
ADC_value = sum/cnt;
sum = 0;
cnt = 0
}
else
{

start_ADC();//開始轉換
tmp = read_ADC();//讀取ADC采樣值
tmp = tmp +tmp;
cnt++;
}

}

Ⅹ 單片機中ADC是什麼

ABC的意思指的是,ac轉DC。交流信號轉化為直流信號。

閱讀全文

與單片機adc的作業相關的資料

熱點內容
手機程序加密有什麼作用 瀏覽:178
求黑馬程序員python教程 瀏覽:528
androidmvvm優缺點 瀏覽:894
unix下編譯庫文件 瀏覽:633
程序員的u盤 瀏覽:237
android根據經緯度獲取城市 瀏覽:564
python使用解釋器還是編譯器 瀏覽:358
以下關於有加密演算法及密鑰描述 瀏覽:220
linuxgethostname 瀏覽:416
程序員多數有對象 瀏覽:131
單片機延時程序計算 瀏覽:444
編譯原理語法翻譯 瀏覽:504
pr編譯出錯渲染存在偏移 瀏覽:262
如何製作自家的app 瀏覽:199
推薦一個解壓軟體rar解壓幫手 瀏覽:212
wd文檔加密器 瀏覽:748
伺服器上傳壓縮包一般是什麼格式 瀏覽:333
發送加密文件密碼幾位數 瀏覽:160
樹洞app怎麼樣 瀏覽:175
vivo編譯時間可以改么 瀏覽:150