新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 模數(shù)轉(zhuǎn)換ADC0832、ADC0808和ADC0809的利用

模數(shù)轉(zhuǎn)換ADC0832、ADC0808和ADC0809的利用

作者: 時(shí)間:2016-11-30 來(lái)源:網(wǎng)絡(luò) 收藏

void display(uint dat)
{
P3=0x04;
P0=tab[dat/100];
P0 &=0x7f;//實(shí)現(xiàn)帶小數(shù)點(diǎn)位顯示小數(shù)點(diǎn)。
delay(1);
P0=0xff;
P3=0x02;
P0=tab[dat%100/10];
delay(1);
P0=0xff;
P3=0x01;
P0=tab[dat%10];
delay(1);
P0=0xff;
}
void main()
{
P3=0xFF;
P0=0xff;
while(1)
{
choiceADC(0);
delay(1);
display(vvv);
}



#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit OE =P2^7;
sbit EOC =P2^6;
sbit start=P2^5;
sbit CLOCK=P2^4;
sbit CS4 =P2^3;
sbit CS3 =P2^2;
sbit CS2 =P2^1;
sbit CS1 =P2^0;
uint vvv,vot;
uchar tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void delay(uint ms)
{
uchar j;
while(ms--)
for(j=0;j<120;j++);
}
void ADCread()
{
start=0;
start=1;
start=0;//開始轉(zhuǎn)換
while(EOC==0);//等待轉(zhuǎn)換結(jié)束
OE=1;
vvv=P1;//向單片機(jī)發(fā)出轉(zhuǎn)換結(jié)果存VVV中
OE=0;
}
void votexcheng()//根據(jù)顯示要求換算成顯示電壓值
{
/**單片機(jī)8為對(duì)應(yīng)最大數(shù)255,對(duì)應(yīng)最大電壓V(此處為5V)換算如下**/
vot=vvv*5/255;//如最大量程8V,則乘800,依次類推
}
void display(uint dat)
{
CS1=1;CS1=0;CS3=0;CS4=0;
P0=~tab[dat/100|0x80];
delay(1);
P0=0xff;
CS1=0;CS1=0;CS3=1;CS4=0;
P0=tab[dat%100/10];
delay(1);
P0=0xff;
CS1=0;CS1=0;CS3=0;CS4=1;
P0=tab[dat%10];
delay(1);
P0=0xff;
}
void t0() interrupt 1
{
CLOCK=~CLOCK;
}
void t0_init()//開啟定時(shí)器定時(shí),計(jì)時(shí)滿后產(chǎn)生中斷以便產(chǎn)生CLK時(shí)鐘
{
TMOD=0x02;
TH0=0x14;
TL0=0x00;
TR0=1;
ET0=1;
EA=1;
}
void main()
{
t0_init();
while(1)
{
ADCread();
votexcheng();
display(vot);
}
}

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 模數(shù)轉(zhuǎn)換ADC0832ADC0808ADC0809

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉