/********** BCD to HEX **********/
//数值范围:0~9999
u16 BCD2HEX(u16 BCDdata)
{
u16 temp;
temp = (((BCDdata>>12) & 0x000f) * 1000)
+ (((BCDdata>>8) & 0x000f) * 100)
+ (((BCDdata>>4) & 0x000f) * 10)
+ (BCDdata & 0x000f);
return temp;
}
/********** HEX to BCD **********/
//数值范围:0~9999
u16 HEX2BCD(u16 HEXdata)
{
u16 BCDdata;
u16 temp;
temp = HEXdata%10000;
BCDdata = (temp/1000) << 12;
BCDdata = BCDdata | ((temp/100) << 8);
BCDdata = BCDdata | ((temp/10) << 4);
BCDdata = BCDdata | temp%10;
return BCDdata;
}