本帖最后由 冰封的眼泪 于 2011-5-23 22:14 编辑
这是我写的AD取值的程序,但是取值不正确。并且在执行 b=a/1023.0*5.0;这条语句时特别的慢。请教各位这是怎么回事?谢谢帮忙。
#include<pic.h>
#define uint unsigned int
void init();
uint AD_get();
void main()
{
uint AD;
init();
AD=AD_get();
}
void init()
{
ADCON0=0x41;//01000001
ADCON1=0x8e;//10001110
}
uint AD_get()
{
uint a;
float b;
ADGO=1;
while(ADGO);
a=ADRESH;
a<<=8;
a|=ADRESL;
b=a/1023.0*5.0;
return b;
} |