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

📄 addo.lst

📁 电子称重的程序
💻 LST
字号:
C51 COMPILER V8.02   ADDO                                                                  05/04/2008 21:35:45 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ADDO
OBJECT MODULE PLACED IN AdDo.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE AdDo.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<config.h>
   2          #include<head.h>
   3          #include<main.h>
   4          #include  "AdDo.h"
   5          #include "cc1160.h"
   6          #define ADBUFLEN 10
   7          long pdata scale_adbuf[ADBUFLEN];
   8          Uchar       idata adsta_count=0;
   9          
  10          SCALENOW pdata scalenow;//定义秤的当前值
  11          FILSET pdata FilSet;
  12          ADCHIP  pdata adchip;
  13          LINESET pdata LineSet;
  14          BOOL  lb_flag1=0,scalestaflag=0,voltlow=0,ShowWeiFlagEn=0,LineEnFlag=0;
  15          void adinit()
  16          {
  17   1      //      LoadData(adchip);
  18   1      //      LoadData(FilSet);
  19   1              InitCS1160(adchip.gain,adchip.zero);
  20   1      }
  21          /**************************************************************************
  22          *      函数原型: long FILAD(long scalem_ad1)
  23          *      功    能: 移滑滤波
  24          *      入口:当前AD值
  25          *      出口:滤波后的AD值
  26          **************************************************************************/
  27          long FilAd(long scale_ad)  //滤波
  28          {
  29   1       Uchar i;
  30   1       for(i=0;i<ADBUFLEN-1;i++)
  31   1       {
  32   2         scale_adbuf[i]=scale_adbuf[i+1];
  33   2       }
  34   1          scale_adbuf[ADBUFLEN-1]=scale_ad;
  35   1       for(i=0;i<ADBUFLEN-1;i++)
  36   1       {
  37   2         scale_ad+=scale_adbuf[i];
  38   2       }
  39   1       scale_ad=(scale_ad+ADBUFLEN/2)/ADBUFLEN;
  40   1       scale_ad>>=4;
  41   1       return scale_ad;
  42   1      }
  43          
  44          float AdDo(void)
  45          {
  46   1       long   scale_ad;
  47   1      scale_ad=FilAd(ReadAd());
  48   1             if(scale_ad>0)
  49   1             {
  50   2              if(labs(scale_ad-scalenow.ad)<3)
  51   2              {if((++adsta_count>5)){if(ShowWeiFlagEn)Dis_SetFlag(DIS_STA,1);}}
  52   2              else {adsta_count=0;if(ShowWeiFlagEn)Dis_SetFlag(DIS_STA,0);}
  53   2              scalenow.ad=scale_ad;
  54   2             }
  55   1             if(LineEnFlag)
C51 COMPILER V8.02   ADDO                                                                  05/04/2008 21:35:45 PAGE 2   

  56   1             {
  57   2               if(scalenow.ad>LineSet.linedot0)
  58   2               {
  59   3                 if(scalenow.ad>LineSet.linedot1)
  60   3                  {
  61   4                   scalenow.ad=((scalenow.ad-LineSet.linedot1)/LineSet.linerule1)
  62   4                   +(LineSet.linedot1-LineSet.linedot0)/LineSet.linerule0+LineSet.linedot0;
  63   4                  }
  64   3                  else     scalenow.ad=(scalenow.ad-LineSet.linedot0)/LineSet.linerule0+LineSet.linedot0;
  65   3               }
  66   2             }
  67   1             PostMessageOne(M_ADFILOK,0);
  68   1      //       scalenow.weight=(scalenow.ad-scalenow.zero)/CalSet.rule;
  69   1               return scalenow.weight;
  70   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    624    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =     77    ----
   DATA SIZE        =   ----       8
   IDATA SIZE       =      1    ----
   BIT SIZE         =      5    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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