⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_sub_bitdata.c

📁 本代码在凌阳单片机的编译环境下执行,主要实现的功能是双通道AD采样显示
💻 C
字号:
//=============================================================================================== 
// 函数:sub 
// 描述:子函数
//============================================================================================
//#include "SPCE061V004.H"
extern flag;
unsigned int can,bt=0,d1,d2,d3,d4,d5,d6;
unsigned int guideled[6];
void c_sub(int can)
{
    
	//unsigned int temp;      //bit tem
	//unsigned int datab;    //字形 tem
	//unsigned int bw,sw,gw;
	//unsigned int i,j;
	 //unsigned int dispbuf[6];
	unsigned int data;
	float vv;
    unsigned int au,t;
    unsigned int disptab1[]={0x00bf,0x0086,0x00db,0x00cf,0x00e6,0x00ed,0x00fc,0x0087,0x00ff,0x00ef};      //'0.''1.''2.''3.''4.''5.''6.''7.''8.''9.'的代码
    unsigned int bittab[]={0x0100,0x0200,0x0400,0x0800,0x1000,0x2000};
    unsigned int disptab[]={0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};   //'0''1''2''3''4''5''6''7''8''9'的代码
    
   if(flag==0)
     {vv=can*220.00/1024.00;   //       A/D值运算:line0(0~220v)
      d6=0x203e;
      guideled[5]=d6;}          
    else
    {vv=can*100.00/1024.00;              //       A/D值运算:line1(0~100A)
     d6=0x2077;guideled[5]=d6;}         
//=================================================100~220============ 
	if(vv>=100)
   {
	 switch(bt)
	 {
	 case  0:
	 guideled[0]=disptab[(int)vv/100]+bittab[0];break;
	 case  1:
	 guideled[1]=disptab[(int)vv%100/10]+bittab[1];break;
	 case  2:
	 guideled[2]=disptab1[(int)vv%10]+bittab[2];break;
	 case  3:
	 guideled[3]=0x083f;break;                   //显示0
	 }
   } 
//===============================================10.0~99.9============
     else if(vv>=10.0)
   {
	 vv*=10;
	 switch(bt)
	 {
	 case  0:
	 guideled[0]=disptab[(int)vv/100]+bittab[0];break;
	  case  1:
	 guideled[1]=disptab1[(int)vv%100/10]+bittab[1];break;
	 case  2:
	 guideled[2]=disptab[(int)vv%10]+bittab[2];break;
	  case  3:
	 guideled[3]=0x083f;break;                   //显示0                   
	}
	}
//=================================================1.00~9.99============
     else if(vv>=1.00)
   {
	 vv*=100;
	 switch(bt)
	 {
	 case  0:
	 guideled[0]=disptab1[(int)vv/100]+bittab[0];break;
	 case 1:
	 guideled[1]=disptab[(int)vv%100/10]+bittab[1];break;
	 case 2:
	 guideled[2]=disptab[(int)vv%10]+bittab[2];break;
	 case 3:
	 guideled[3]=0x083f;break;                   //显示0 
	 }
   }
//=================================================0.000~0.999============
     else if(vv>=0.000)
   {
	 vv*=1000;
	  switch(bt)
	 {
	 case  0:
	  guideled[0]=0x01bf;break;                   //显示0. 
	  case 1:
	  guideled[1]=disptab[(int)vv/100]+bittab[1];break;
	  case 2:
	  guideled[2]=disptab[(int)vv%100/10]+bittab[2];break;
	  case 3:
	  guideled[3]=disptab[(int)vv%10]+bittab[3];break;
     }
   }

}

⌨️ 快捷键说明

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