打印

新手上路:请教:如何用Keil C编程实现浮点数的LED显示

[复制链接]
2851|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
haysion|  楼主 | 2007-4-17 16:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2007-4-18 07:49 | 只看该作者

了解一下浮点数的结构,简单的数学问题...

使用特权

评论回复
板凳
haysion|  楼主 | 2007-4-18 09:55 | 只看该作者

大虾帮忙看看

我原本是在想可不可以用浮点数的16进制代码来直接转换到LED上显示的,但是我用联合函数查看浮点数的16进制代码,确看到一头雾水,不知道是啥意思,但是要是用以下方法

main()
{
    float freg;
         unsigned char i, j, ds;
    unsigned long mint;
    freg = 3189.56;
    mint = (unsigned long)(freg);
    for(i = 0; i < 6; i++)
    {
        if(i == 0)
        {
            reg = (unsigned long)(freg*100) % 10;
        }
        else if(i == 1)
        {
            reg = (unsigned long)(freg*10) % 10;
        }
        else
        {
            reg = mint % 10;
            mint = mint / 10;
        }
    }
}

反汇编的代码就好几百了,我觉得很耗程序ROM。麻烦大家给出宝贵意见,怎么样可以比较节省资源。

使用特权

评论回复
地板
ayb_ice| | 2007-4-18 10:26 | 只看该作者

浮点数操作代码大是正常的...

使用特权

评论回复
5
haysion|  楼主 | 2007-4-19 08:58 | 只看该作者

如何优化程序??

怎么我昨天的回复好像不见了,哪位可以给些宝贵意见?如何将以上的将freg的6位数字保存到6个字符数中比剑简洁啊?

使用特权

评论回复
6
hu2008777| | 2015-3-14 18:46 | 只看该作者
无聊帮顶。。。。。。

使用特权

评论回复
7
frily| | 2015-5-3 18:59 | 只看该作者
不想说。。。

使用特权

评论回复
8
lisasa| | 2015-6-20 19:18 | 只看该作者
只是为了显示这一个数的话,用unsigned long存放318956,再用一变量存放小数点位置2,剩下就是显示的事了

使用特权

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

本版积分规则

7

主题

25

帖子

0

粉丝