离线下载
PDF版 ePub版

单片机中文网 · 更新于 2018-11-28 11:00:43

15.1 BCD 码介绍

在日常生产生活中用的最多的数字是十进制数字,而单片机系统的所有数据本质上都是二进制的,所以聪明的前辈们就给我们创造了 BCD 码。

BCD 码(Binary-Coded Decimal)亦称二进码十进制数或二-十进制代码。用4位二进制数来表示1位十进制数中的0~9这10个数字。是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD 码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。我们前边讲过十六进制和二进制本质上是一回事,十六进制仅仅是二进制的一种缩写形式而已。而十进制的一位数字,从0到9,最大的数字就是9,再加1就要进位,所以用4位二进制表示十进制,就是从 0b0000 到 0b1001,不存在 0b1010、0b1011、0b1100、0b1101、0b1110、0b1111 这6个数字。BCD 码如果到了 0b1001,再加1的话,数字就变成 0b00010000 这样了,相当于用了8位的二进制数字表示了2位的十进制数字。

BCD 码的应用还是非常广泛的,比如我们这节课要学的实时时钟,日期时间在时钟芯片中的存储格式就是 BCD 码,当我们需要把它记录的时间转换成可以直观显示的 ASCII 码时(比如在液晶上显示),就可以省去一步由二进制的整型数到 ASCII 的转换过程,而直接取出表示十进制1位数字的4个二进制位然后再加上 0x30 就可组成一个 ASCII 码字节了,这样就会方便的多,在后面的实际例程中将看到这个简单的转换。