uchar BCD_Decimal(uchar bcd)
{
uchar Decimal;
Decimal=bcd>>4;
return(Decimal=Decimal*10+(bcd&=0x0F));
}
bcd是从DS1302里面读出的数据,“Decimal=Decimal*10+(bcd&=0x0F));”这一句就是人们所说的将十六进制转成BCD码吗?但DS1302里面本来读出的就是BCD码啊?为什么还要转一次呢?
另一个:
temp=(miao+1)/10*16+(miao+1)%10;
当我按一下按键,秒位加1,然后通过程序输入到DS1302里面,但是这一句为什么要乘以16呢?是什么原理? |