b2bcd.c

来自「ht1621b,的PIC的程序,用IO口来通信」· C语言 代码 · 共 39 行

C
39
字号
long int2bcd(int I)
{
 UC CONT=16;
 union BCDRES
 {
  long Y;
  unsigned  char BCD[3];
 }BCDULT;
 BCDULT.Y=0;
 while(1)
 {
  NOP();
  I=I<<1;
  if(CARRY)
  {
   BCDULT.Y=BCDULT.Y<<1;
   BCDULT.Y++;
  }
  else
  BCDULT.Y=BCDULT.Y<<1;
  CONT--;
  if(!CONT)
  break;
  if(BCDULT.BCD[0]+3&8)
  BCDULT.BCD[0]=BCDULT.BCD[0]+3;
  if(BCDULT.BCD[0]+0x30&0x80)
  BCDULT.BCD[0]=BCDULT.BCD[0]+0x30;
  if(BCDULT.BCD[1]+3&8)
  BCDULT.BCD[1]=BCDULT.BCD[1]+3;
  if(BCDULT.BCD[1]+0x30&0x80)
  BCDULT.BCD[1]=BCDULT.BCD[1]+0x30;
  if(BCDULT.BCD[2]+3&8)
  BCDULT.BCD[2]=BCDULT.BCD[2]+3;
  if(BCDULT.BCD[2]+0x30&0x80)
  BCDULT.BCD[2]=BCDULT.BCD[2]+0x30;
 }
  return BCDULT.Y;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?