新手求救!单片机电压值的计算问题

l668866 l668866 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

主程序为
void main()
{
uint adNum[5];
uint dat0 = 0;
long buf, temp;
uint k, count;
EA = 1;
TMOD = 0x00;
ET0 = 1;
TR0 = 0;
LcdInit();
while(1)
{
count++;

if(count>1)
{
count=0;

k++;
}

if(k >= 96)
k = 0;
dat0 = Read_ADC();
if(dat0 == 0)
LcdInit();
temp = buf = (50 * (dat0 - 32768) / 32767 ) * 1000;
if(buf < 0) buf = -buf;
adNum[4] = buf%10;
adNum[3] = (buf/10)%10;
adNum[1] = (buf/1000)%10;
adNum[2] = (buf/100)%10;
adNum[0] = (buf/10000)%10;
LcdWriteCom(0x80);
LcdWriteData('V');
LcdWriteData('O');
LcdWriteData('L');
LcdWriteData('T');
LcdWriteData('S');
LcdWriteData(':');
if(temp < 0) LcdWriteData('-');
if(adNum[0]) LcdWriteData('0'+adNum[0]);
LcdWriteData('0'+adNum[1]);
LcdWriteData('.');
LcdWriteData('0'+adNum[2]);
LcdWriteData('0'+adNum[3]);
LcdWriteData('0'+adNum[4]);
LcdWriteData('V');
LcdWriteData(0x20);
}
}
计算的数值通过LCD1602只显示整数,小数被舍去。应该怎么办?
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
l668866
单片机/工控 27,522 成员 28,796 内容