打印

用C如何将浮点数转换成BCD码和LED段码???

[复制链接]
3787|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程疗匠人|  楼主 | 2009-2-25 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
quakegod| | 2009-2-26 03:24 | 只看该作者

晕菜,

程疗匠人又出来了,
办法是很简单,先转换城ASCII码,然后再转换城LED显示码
或者转成纯数字的数字串,然后再转换城LED显示码,不过要注意小数点的问题
我的办法是,带小数点的那位数,最高位置1.比如5H变成85H,就是带小数点的数。
或者先转换成压缩BCD码,然后再转城LED显示码,

使用特权

评论回复
板凳
程疗匠人|  楼主 | 2009-2-26 19:51 | 只看该作者

那么在keil中是否有现成的函数可将浮点小数转换成ASCII码?

如题

使用特权

评论回复
地板
quakegod| | 2009-2-27 04:13 | 只看该作者

有,sprinf

使用特权

评论回复
5
救火车| | 2009-2-27 09:02 | 只看该作者

我的冒牌领导:一位一位算吧。

使用特权

评论回复
6
程疗匠人|  楼主 | 2009-2-27 19:57 | 只看该作者

LS的,你不觉得冒牌的领导要比正宗的好吗?便宜啊~

使用特权

评论回复
7
NE5532| | 2009-2-27 22:02 | 只看该作者

程序雷人啊。

你提的两个事情根本就不是一个东西,BCD是数据存储格式,自己拿算法一位一位的转就是了。LED段码是跟硬件相关的,一般查表解决。推荐看我书里相关章节。

使用特权

评论回复
8
程疗匠人|  楼主 | 2009-2-28 10:57 | 只看该作者

转成段码是没有问题,我就是想知道有没有简便方法分离每

使用特权

评论回复
9
杨小照| | 2009-2-28 15:02 | 只看该作者

QQ646877318

void  change()
{
    if (dqcl_date>999999)//9999.99
    {
        dqcl_date=0;
    }          
    big_desplay[5]=dqcl_data[5]=dqcl_date/100000;         
    big_desplay[4]=dqcl_data[4]=dqcl_date%100000/10000;     
    big_desplay[3]=dqcl_data[3]=dqcl_date%100000%10000/1000;
    big_desplay[2]=dqcl_data[2]=dqcl_date%100000%10000%1000/100;
    big_desplay[1]=dqcl_data[1]=dqcl_date%100000%10000%1000%100/10;  
    big_desplay[0]=dqcl_data[0]=dqcl_date%100000%10000%1000%100%10; 

使用特权

评论回复
10
程疗匠人|  楼主 | 2009-3-1 22:04 | 只看该作者

看来用 mod 还是比较通用的办法~

使用特权

评论回复
11
xzhenggen| | 2009-3-2 17:13 | 只看该作者

NND,不仔细看,还以为是程序匠人.

原来是马甲,我说呢,匠人还出书,怎么会问这种问题.晕倒~!!现在的马甲真多.

使用特权

评论回复
12
hq_y| | 2009-3-2 17:18 | 只看该作者

山寨版本的匠人,哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

224

帖子

0

粉丝