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

📄 learn.c

📁 使用cs5512做的电子秤,精度0.002kg
💻 C
字号:
eeprom unsigned int FullWeightAD;
eeprom unsigned int ZeroWeightAD;
eeprom unsigned char Scale=21;            //初始值
/*给初值是为了在第一次使用时(没有学习零满重的情况下),不会产生错误*/

unsigned char LearnFlag=0;

#define PIN??.? ADLearnKey;

//#define       MaxScale        6000        //6Kg
#define       MaxScale        15000       //15Kg 
//#define       MaxScale        30000       //30Kg

void AD_Learn(void)
{
switch(LearnFlag)
  {
  case 1:
    {
      if(ADLearnKey==0)
        {
          delay_ms(35);
          if(ADLearnKey==0)
            {
              ZeroWeightAD=AD_Result;        
              Updata_ZeroWeightAD_Display(ZeroWeightAD);
              LearnFlag=2;
              Tone(900);
            }
        }
      break;
    }
    
    case 2:
    {
      if(ADLearnKey==0)
        {
          delay_ms(35);
          if(ADLearnKey==0)
            {
              FullWeightAD=AD_Result;        
              Updata_FullWeightAD_Display(FullWeightAD);
              LearnFlag=0;
              Tone(900);
            }
        }
      break;
    }   
    default  ;
  }
}

//确认键确认学习完成,按下确认键后计算分度值Scale
//Scale为X AD/g (X个AD每克)
void LearnOK(void)    
{
 Scale=((FullWeightAD-ZeroWeightAD)/MaxScale)*10;       //*10的目的是避免产生浮点数
 Tone(1200);
}

void Updata_ZeroWeightAD_Display(unsigned int Dis_data)
{
  unsigned int temp1,temp2,temp3,temp4;

  temp1=Dis_data/10000;         // 最高位
  temp2=Dis_data%10000;
  temp3=temp2%1000;
  temp4=temp3%100;

  Written_char(0,1,temp1);
  Written_char(0,2,(temp2/1000));
  Written_char(0,3,(temp3/100));
  Written_char(0,4,(temp4/10));
  Written_char(0,5,temp4%10);   //个位
}

void Updata_FullWeightAD_Display(void)
{
  unsigned int temp1,temp2,temp3,temp4;

  temp1=Dis_data/10000;         // 最高位
  temp2=Dis_data%10000;
  temp3=temp2%1000;
  temp4=temp3%100;

  Written_char(0,7,temp1);
  Written_char(0,8,(temp2/1000));
  Written_char(0,9,(temp3/100));
  Written_char(0,10,(temp4/10));
  Written_char(0,11,temp4%10);   //个位
}

⌨️ 快捷键说明

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