小数四位显示.c

来自「里面包含了多个C语言模块设计题目」· C语言 代码 · 共 84 行

C
84
字号
  /*用到的变量 i,w,num ;*/


void ledwork(void)   /*数码管工作函数*/
{  wei( );
  if(i==0)   disp0();
  if(i==1&&w>=2)  disp1();
  if(i==2&&w>=3)  disp2();
  if(i==3&&w>=4)  disp3();
  } 


void wei(void)
{  
    numi=(uint)sum;
    nump=sum-numi;
    if(numi>=0&&numi<10)
       wn=1;
    if(numi>9&&numi<100)
	  wn=2; 
	if(numi>100&&numi<1000)
	  wn=3;
	if(numi>=1000)
	  wn=4;

      for(j=0;j<3;j++)
    {
      nump=nump*10;
      if(nump>0)
      {wp++;nump=nump-(uint)nump;}
	  else break;}   
     if(wp>3)
	 w=wn+wp;
	 if(w>4)
	 {wp=4-wn;
	  w=4;}

   for(j=0;j<wp;j++)
      {tempn=sum*10;}
	   num=(uint)tempn;

  
}



void disp0(void)    /* 数码管0工作函数,控制千位**/
{ 
 
  led1=1;
  led2=1;
  led0=0;
  led3=1;
  P0=led[num%10];
   
}
void disp1(void)  /* 数码管1工作函数,控制百位**/
{
  if(wp==1)
  P0=ledp[num/10%10];
  else P0=led[num/10%10];
  led1=0;
  led2=1;
  led0=1;
  
}
void disp2(void)   /* 数码管2工作函数,控制十位**/
{ 
  if(wp==2)
   P0=ledp[num/100%10];
   else P0=led[num/100%10];
   led2=0; 
   led1=1;
   
}
void disp3(void)   /* 数码管3工作函数,控制个位*/
{
    if(wp==3)
	 P0=ledp[num/1000%10];
	else P0=led[num/1000%10];
    led2=1;
    led3=0; 
     
}

⌨️ 快捷键说明

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