ADCON0=0x41;//5M以下 ANO作为模拟输入
ADCON1=0x8f;//对齐方式右对齐,AN0模拟量输入0x8e为只开通AN0其余为数字量;0x8f,RA2,RA3设置为Vref-,Vref+,开AN0.其余为数字量
unsigned int get_ad()
{ unsigned int ADResult;
float advalf;
ADGO=1;
while(ADGO);
ADResult=ADRESH;//00000000 00000011
ADResult=ADResult<<8|ADRESL;//00000011 11111111
advalf=ADResult/1023.0*5.0;//==2.3843 1023.0 /5.0
ADResult=advalf*1000;
return (ADResult); //这个值是需要我显示的值
这里的5.0本来是我的设置最大显示值为5v,现在要用Vref+,Vref-作为输入基准 这里的5.0 ;advalf=ADResult/1023.0*5.0;该怎么改改成多少 应该是一个Vref+所对应的电压值就对了 advalf=ADResult/1023.0*(Vref+); 没这样的写法,不知道是这里的变量该怎么表示 还是程序还要换一种写法
请求高手指教。 |