打印

C编程中BCD码的疑问?

[复制链接]
2606|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
longwuyi|  楼主 | 2009-4-1 08:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位老大,

在单片机编中使用C语言时, 处理计算等使用Hex格式特别容易.
但LCD显示时又不得不转换为BCD来显示.
  1. 若全部需要显示的数据都以BCD码来计算,觉得太麻烦.
  2. 若全部计算使用HEX来计算,在显示时临时转为BCD,感觉浪费CPU时间.
  3. 使需要显示的数据使用BCD和HEX来保存,计算使用Hex,再转为BCD
     使用BCD来做显示,使用Hex来计算.
我能想到的以上3种方式中, 请问一般是怎么做的?

谢谢

相关帖子

沙发
mohanwei| | 2009-4-1 08:55 | 只看该作者

如果资源够,最省事是sprintf()

使用特权

评论回复
板凳
芯行天下| | 2009-4-1 08:58 | 只看该作者

一般是在计算时用HEX来进行计算

我一般是在计算是用HEX计算,显示时再转化为BCD码进行显示。保存时也保存HEX数据。

使用特权

评论回复
地板
computer00| | 2009-4-1 09:52 | 只看该作者

显示是慢速设备,计算一下无所谓了。

使用特权

评论回复
5
平常人| | 2009-4-1 10:09 | 只看该作者

最常用是3楼的方法

计算和存储都方便容易,转换到BCD也很容易,不少CPU还有专用的转换指令。

使用特权

评论回复
6
songbangyan| | 2009-4-1 13:04 | 只看该作者

我觉得都差不多,cpu时间够用

使用特权

评论回复
7
dai_weis| | 2009-4-1 16:51 | 只看该作者

HEX作所有的,显示的时候把HEX拆分成BCD

显示刷新是10ms级别,不会占用多少时间

使用特权

评论回复
8
电脑圆圆| | 2009-4-1 17:06 | 只看该作者

两种方法

1)计算公式
2)查表

使用特权

评论回复
9
ayb_ice| | 2009-4-1 20:56 | 只看该作者

自己写个专用函数

使用特权

评论回复
10
dark_psycho| | 2009-4-1 21:28 | 只看该作者

汇编写 hex2bcd函数吧

单位的芯片code资源特紧张,
用c除法得bcd,太浪费了,
后来用了移位+da指令的方法,一下节省了好多空间

使用特权

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

本版积分规则

40

主题

61

帖子

0

粉丝