|
|
爱科技、爱创意、爱折腾、爱极致,我们都是技术控
您需要 登录 才可以下载或查看,没有账号?立即注册
x
nxp单片机用CW6.3编译void disp(){
//float temper1;
// float temper;
//float temper2;
uint16 temper;
uint16 temper2;
//tem1=ADCAve(AD_CH_0, 50);
// 通道0做AD转换,50次均值滤波,串口发送均值滤波结果
Res=ADCAve(AD_CH_0, 100);
//SCISend1(SCI_NUM_1,(uint8)Res);
__RESET_WATCHDOG(); /* feeds the dog */
if (Res>690) {
PTED_PTED3=1;
//DisplayString1608(5,1,"test123");
}
else { PTED_PTED3=0;
}
temper= ((Res*50)/1023); //参考电压5.06V//10位AD
asm {
nop;
}
// temper=temper/10;
d1=table[temper/100];
asm {
nop;
}
d2=table[temper/10];
temper2=( (Res*506)/1023) %100;
d3=table[temper2/10]; //
d4=table[(temper2%10)];
// DisplayString1608(4,1," ");
// __RESET_WATCHDOG(); /* feeds the dog */
delayms(2);
//DisplayNumber1608(1, 33, 0);
DisplayNumber1608(5, 9, d1);
//delay(100);
delayms(2);
DisplayNumber1608(5, 18,d2 );
//delay(100);
delayms(2);
// __RESET_WATCHDOG(); /* feeds the dog */
//display_graphic_8x16(3,(17),dian); /*在第 5 页,第 89 列显示单个数字"9"*/
DisplayString1608(5,27,".");
delayms(2);
DisplayNumber1608(5,36,d3 );
//delay(100);
delayms(2);
DisplayNumber1608(5, 45,d4);
}
AD采集值是准确的,换算成电压后误差特别大。求高手答疑。
比如ad值700,参考电压5.06V。分辨率10位 ,显示电压应该为V=(700*5.06)/1023=3.46V ,实测也是3.46V。但是液晶显示值
为3.01V。实际5V显示5.56V。
|
|