|
AD轉(zhuǎn)換器初始化設(shè)定函數(shù)。
voidADC_Init()
{
uinti;
P1ASF=0x80;//P1口功能設(shè)定
ADC_RES=0;//AD轉(zhuǎn)換結(jié)果清
0
ADC_CONTR|=0x80;//ADC寄存器設(shè)定
for(i=5000;i>0;i--);//短暫延時(shí)
ADC_CONTR=ADC_CONTR&0xE0;//ADC寄存器設(shè)定
ADC_CONTR=ADC_CONTR&0xf8|0x07;//ADC寄存器設(shè)定
for(i=2500;i>0;i--);//短暫延時(shí)
}
2)獲取AD轉(zhuǎn)換結(jié)果函數(shù)。
ucharGetADVal()
{
uinti;
ADC_CONTR&=0xf7;//開(kāi)啟轉(zhuǎn)換
for(i=250;i>0;i--);//短暫延時(shí)
ADC_RES=0;//清除結(jié)果
ADC_CONTR|=0x08;
while((ADC_CONTR&0x10)==0);//等待轉(zhuǎn)換結(jié)束
ADC_CONTR&=0xe7;
}
3)主函數(shù)中通過(guò)調(diào)用GetADVal()函數(shù)計(jì)算酒精濃度,語(yǔ)句為:
ALValue=(long)500*GetADVal()/256;//換算轉(zhuǎn)換結(jié)果
|
|