BCD码一般采用8421码即2的多少次方(位置减1次方),比如101相当于十进制的5你这个例子当中的6是哪来的
你对这个回答的评价是?
设转换后的BCD码存放的目标首地址为内部RAM中xxH低位数存在低地址
设显示器最低地址为XXXXH
你对这个回答的评价是?
下载百度知道APP搶鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。
内容来自用户:持浆作挥斗递
将BCD码轉换为十进制数
转载标签:杂谈 分类:单片机学习
在读写DS1302时需要把读写数据BCD码转换成十进制一下是本人在网络上看到的一篇解释较为简單易懂的解释
//bcd hex //此函数用于将8421BCD码转换为十进制数,从函数参数可以看出此BCD码是由两位十进制数组成的
BCD码是用二进制数对十进制数的各个位數进行编码,比如十进制数58那么转换为BCD码为0x58,356对应BCD码就是0x356注意这是编码不是数进制间的转换,他们之间不存在等价关系只是进行编號,为了方便对编号后的数据用十六进制数表示对应编码规则如下:
十进制数---8421BCD码----编码后用等价的十六进制数表示
知道了编码规则,那么將2位8421bcd码编号的数还原为十进制数也就方便了。函数参数是一个字节那么决定了此8421BCD码是两位码即高四位是一个码值、低四位是一个码值將高四位乘以10加上低四位