个位大师请帮忙分析下面一段51单片机的程序。
时间:10-02
整理:3721RD
点击:
这是我在本坛借用别人的一段程序,自己稍加改了改。main模块是
。程序是没问题的,可以成功运行。不过我有些疑问:ds1302中的数据不是以BCD码的形式存在的吗,为什么此程序中将数据从ds1302中读出来之后可以直接进行求余(%)、取模运算(/),这样不经转换运算时系统不是把BCD码当成2进制数来运算的吗?可程序又明明是没问题的,我已经下载到开发板上试过了。还请不吝赐教!
。程序是没问题的,可以成功运行。不过我有些疑问:ds1302中的数据不是以BCD码的形式存在的吗,为什么此程序中将数据从ds1302中读出来之后可以直接进行求余(%)、取模运算(/),这样不经转换运算时系统不是把BCD码当成2进制数来运算的吗?可程序又明明是没问题的,我已经下载到开发板上试过了。还请不吝赐教!
bcd码也叫8421码就是将十进制的数以8421的形式展开成二进制
,不好意思,发现是我看漏了,作者已经在ds1302中对bcd码做了处理。BCD码除以16,商就是高四位,余数就是低四位,这是普遍的做法。不过原理是什么,我一直不怎么明白。