大家在用DS1302的时候会碰到调整时间这个问题...因为我们平时用的是十进制比较多,而DS1302则输出和输入都是8421 BCD码.所以特意写了一个转换的小程序,希望对大家有用...
////////////////////////////////////////////////////////////////////////////////////////////////
//函数名:ZH_Data();
//返回参数:有.返回为十进制或十进制BCD码.
//输入参数:State=0 输入为十进制BCD码 输出为十进制.
//输入参数:State=1 输入为十进制,输出为十进制BCD码.
//设计人:wang1jin.
//设计版本:V1.0.
//////////////////////////////////////////////////////////////////////////////////////////////
uint8 ZH_Data(bit State,uint8 Value)
{
if(State==0) //判断工作模式.
{
Value=(Value/16)*10+(Value%16); //把8421BCD码转为十进制
return Value; //返回;
}
else //把十进制转为8421BCD码;
{
Value=(Value/10)*16+Value%10; //把十进制转为8421BCD码.
return Value; //返回;
}
}
用户1552963 2011-6-20 09:14
用户213250 2009-7-29 09:41
用户1361860 2009-6-24 17:55
用户1414082 2009-6-17 15:15
用户518079 2009-6-13 14:51