wang1jin

适合DS1302的8421BCD和十进制互转小函数!

0
阅读(28721)
大家在用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;                               //返回;
  }
}