适合DS1302的8421BCD和十进制互转小函数!
时间:06-25 11:02 阅读:1815次
*温馨提示:点击图片可以放大观看高清大图
简介:大家在用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; //返回;
}
}