时间日历在DS1302寄存器中是以BCD码的形式存放的
BCD码(Binary-Coded Decimal?)亦称二进码十进数或二-十进制代码,用4位二进制数来表示1位十进制数中的0~9这10个数码。
例如:写操作--时间数据12:30:00
- 写0x00到地址0x80中--00秒;
- 写0x30到地址0x82中--30分钟;
- 写0x12到地址0x84中--12小时;
例如:读操作--时间12:30:00 数据
- 从地址0x81读得0x00--00秒;
- 从地址0x83读得0x30--30分钟;
- 从地址0x85读得0x12--12小时;
注意:时间日历在DS1302寄存器中虽然是以BCD码的形式存放的,但是我们往DS1302中写进去的数据依然是HEX格式的(写12时即0x12).同理,我们从DS1302中读取数据的时候读出的数据也是HEX格式。因为我们能操作的数据都是在单片机中的,数据在单片机中的存储方式是以HEX格式存放的。这点不要搞混了。