99问答网
所有问题
在单片机c语言中如何将8位二进制数保留两位小数??
在用at89c51单片机做一个数字式的电压表时,如何在程序里保留两位小数,将最终的显示的值显示为0.00的格式??请教高手了!!!!!!!
举报该问题
推荐答案 2019-04-07
给你个流程思路吧。ad采集电压信号,转换的数据是根据参考电压比较得到的。如果你的参考电压是5v,用的是12位ad,现在转换的结果为0x00ff,那么当前的电压就是0xo0ff*5000/4096
(mv)=311mv=0.311v,
至于怎么显示,那要看你的数码管位数以及要显示的数据范围。
可以用定小数点显示,也可以用动态小数点显示。思路都是把当前小数换成需要的整数,保留固定的有效数字。然后去显示小数点。思路就是这样。希望能帮到你。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/We7vOeXeW.html
其他回答
第1个回答 2010-04-09
电压数据可以这样处理:
数据=整数部分+小数点+小数部分
所以显示完整数部分,在显示小数点,
小数部分乘以100,再除以100取出十分位,取余100得出百分位;
用数组存储,再逐个显示;
即 将小数部分当字符显示
第2个回答 2010-04-09
1、整数部分懂了吧?小数部分乘以100,再除以10取出十分位,取余10得出百分位,再逐个显示;
2、用液晶的话将数字变化为字符,不用变化就直接显示
3、你这个C语言中的“二进制”搞得我晕乎晕乎的,可以讲清楚点吗?
反过来请教请教,呵呵本回答被提问者采纳
相似回答
大家正在搜
相关问题
小白请教,单片机C语言中如何从一个8位的二进制数中读出高4位...
51单片机用C语言怎么样把八位二进制转换成十进制
如何将c51的8位二进制数转为十进制数(要完整程序)?
单片机 C语言 从AD得到一个8位二进制数 0x00~0xf...
51单片机如何将二进制小数转换为十进制
单片机中,用c语言怎么实现一个8位二进制数的高四位与低四位的...
单片机c语言中,如何取最高位和最低位,却掉高2位和去掉低2位...
单片机C语言显示小数