单片机
返回首页

BCD与HEX之间相互转换

2016-11-23 来源:eefocus

最近在做一个项目,用到这个东东,可是网上找到的一些相关函数还是有点错误,干脆自己写了一个,大家看能用就用吧。

 //Val_BCD的范围(<0x99,>0)

INT8U BCD2HEX(INT8U Val_BCD)

{

 INT8U temp;

 temp = Val_BCD&0x0F; //按位与,temp得到低四位数。

 Val_BCD >>= 4;             //右移四位,将高四位移到低四位的位置,得到高四位码值。

 Val_BCD &= 0x0F;         //防止移位时高位补进1,只保留高四位码值

 Val_BCD *= 10;              //高位码值乘以10

 temp += Val_BCD;         //然后与第四位码值相加。

 return temp;                   //将得到的十进制数返回

}

 

//Val_HEX的范围(<0xFF,>0)

INT16U HEX2BCD(INT8U Val_HEX)

{

    INT16U Val_BCD;

    INT8U temp;

    temp = Val_HEX%100;

    Val_BCD = ((INT16U)Val_HEX)/100<<8;

    Val_BCD = Val_BCD|temp/10<<4;

    Val_BCD = Val_BCD|temp%10;

    return Val_BCD;

}


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 光控音效发生器电路

  • 离子检测器电路分析

  • 非常简单的150W功放电路图

  • 基于IC555的可变PWM振荡器电路

  • 使用NE555和磁簧开关的橱柜照明电路

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章