ADC08098位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換相對于TLC549的精度要高些。本設(shè)計采用單路信號輸入,將所測的電壓值通過4聯(lián)數(shù)碼管顯示出來。此設(shè)計電路涉及單片機最小系統(tǒng),ADC0809,4聯(lián)數(shù)碼管,反相器,仿真電路圖奉上:
51hei瀏覽器截圖20210718095203.png (81.09 KB, 下載次數(shù): 53)
下載附件
2021-7-18 09:52 上傳
當調(diào)節(jié)輸入電壓時,會相應(yīng)動作
51hei瀏覽器截圖20210718095219.png (61.95 KB, 下載次數(shù): 45)
下載附件
2021-7-18 09:53 上傳
單片機程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={ 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F, };
uchar Tcount;
uint wei3,wei2,wei1,wei0,num;
bit timerflag,ADflag;
sbit AD_end =P3^2;
sbit OE=P1^5;
sbit ST=P1^6;
sbit mc=P3^0;
void AD_INT() interrupt 0
{
ADflag=1;
//AD_end=1;
OE=1;
num=P2*19.61;
OE=0;
}
void T0_int()interrupt 1
{
TL0=0xb0;
TH0=0x3c;
if(--Tcount==0)
{
Tcount=20;
timerflag=1;
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void main()
{
Tcount=20;
TMOD=0x01;
TL0=0xb0;
TH0=0x3c;
IT0=1;//
TR0=1;//start t0
ET0=1;//t0 enable
EX0=1;//int0 enable
EA=1;
while(1)
{
P1=P1&0xf0|0x07;
P0=table[wei0];
delay(1);
P1=P1&0xf0|0x0b;
P0=table[wei1];
delay(1);
P1=P1&0xf0|0x0d;
P0=table[wei2];
delay(1);
P1=P1&0xf0|0x0e;
P0=table[wei3]|0x80;
delay(1);
if(timerflag==1)
{
timerflag=0;
ADflag=0;
ST=1;
ST=0;
}
mc=1;
mc=0;
if(ADflag == 1)
{
wei3=num/1000;
wei2=num%1000/100;
wei1=num%100/10;
wei0=num%10;
ADflag=0;
}
}
}
51hei.png (11.68 KB, 下載次數(shù): 48)
下載附件
2021-7-18 14:22 上傳
全部資料51hei下載地址:
ADC0809-volt.zip
(150.97 KB, 下載次數(shù): 70)
2021-7-18 09:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|