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

📄 pull in test.lst

📁 此仪器可以测试继电器的吸合电压
💻 LST
字号:
C51 COMPILER V7.06   PULL_IN_TEST                                                          01/12/2006 19:52:28 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE PULL_IN_TEST
OBJECT MODULE PLACED IN PULL IN TEST.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE PULL IN TEST.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1               #include <reg51.h>
   2               #define uint unsigned int
   3               #define uchar unsigned char
   4               //#define VOL_CON 4095
   5               #define VOL_CON 3412
   6               #define TIME_CON_T0 240
   7                   #define TIME_CON_T1 1000
   8               sbit S_NO=P1^0;
   9                   sbit S_NC=P1^1;
  10                   sbit HOLD_D=P1^2;
  11                   sbit FAST=P1^3;
  12                   sbit MID=P1^4;
  13                   sbit SLOW=P1^5;
  14                   sbit SQR=P1^6;
  15                   sbit RMP=P1^7;
  16                   sbit PULL_THR_IN=P3^2;
  17                   sbit D=P3^4;
  18                   sbit AB=P3^5;
  19                   sbit A=P3^6;
  20               uchar SPEED;
  21                   uint Z=0;
  22                   uint DIGIT_VAL=0;
  23               static bit RISE=0;
  24                   static char WAVE;
  25                   static uint Y=0;
  26               static bit NO_JUGHT=0;
  27                   void DELAY(uint A);
  28                   void T0_SRV(void);
  29                   void T1_SRV(void);
  30               void VOLT_OUT(void);
  31                   void HOLD(void);
  32               void SCAN_INPUT(void);
  33                   void main(void)
  34                   {
  35   1                   bit data START=0;
  36   1                   P0=0;
  37   1                       P2=0;
  38   1                       TMOD=0X11;
  39   1                       ET0=1;
  40   1                       ET1=1;
  41   1                       EA=1;
  42   1                       PT1=1;
  43   1                       HOLD_D=1;
  44   1                       while(1)
  45   1                       {
  46   2                           SCAN_INPUT();
  47   2                               VOLT_OUT();
  48   2                               if(START==0&&(SQR==0||RMP==0))
  49   2                               {
  50   3                       TL0=-(SPEED*TIME_CON_T0)%256;
  51   3                               TH0=-(SPEED*TIME_CON_T0)/256;
  52   3                                       TL1=-TIME_CON_T1%256;
  53   3                                       TH1=-TIME_CON_T1/256;
  54   3                                       TR0=1;
  55   3                       START=1;
C51 COMPILER V7.06   PULL_IN_TEST                                                          01/12/2006 19:52:28 PAGE 2   

  56   3                               }
  57   2                               if(SQR!=0&&RMP!=0)
  58   2                               {
  59   3                                   START=0;
  60   3                                       DIGIT_VAL=0;
  61   3                               }
  62   2               }
  63   1               }
  64               void DELAY(uint A)
  65                   {
  66   1                       TR0=0;
  67   1                       TR1=1;
  68   1               while(A!=Z);
  69   1               TR1=0;          
  70   1                       TR0=1;
  71   1                       Z=0;
  72   1               }
  73               void T1_SRV(void) interrupt 3 using 2
  74                   {
  75   1                   TL1=-TIME_CON_T1%256;
  76   1                   TH1=-TIME_CON_T1/256;
  77   1               Z++;
  78   1               }
  79                   void T0_SRV(void) interrupt 1 using 1
  80                   {
  81   1                   TL0=-(SPEED*TIME_CON_T0)%256;
  82   1                       TH0=-(SPEED*TIME_CON_T0)/256;
  83   1                       switch(WAVE)
  84   1                       {
  85   2                               case 0:
  86   2                               {
  87   3                                   if(Y==VOL_CON)
  88   3                                       { 
  89   4                                           DIGIT_VAL=DIGIT_VAL^0XFFFF;
  90   4                                               Y=0;
  91   4                                       }
  92   3                                       else
  93   3                                       {
  94   4                                           Y++;
  95   4                                       }
  96   3                                } break;
  97   2                           case 1:
  98   2                               {
  99   3                       if(RISE==0)
 100   3                               {           
 101   4                           if(DIGIT_VAL>=VOL_CON)
 102   4                                       {
 103   5                                           RISE=1;
 104   5                                                       //DELAY(1);
 105   5                                       }
 106   4                                       else
 107   4                                       {
 108   5                                           DIGIT_VAL++;
 109   5                                       }
 110   4                               }
 111   3                               if(RISE==1)
 112   3                               {                   
 113   4                           if(DIGIT_VAL==0)
 114   4                                       {
 115   5                                           RISE=0;
 116   5                                                       //DELAY(1);
 117   5                                       }
C51 COMPILER V7.06   PULL_IN_TEST                                                          01/12/2006 19:52:28 PAGE 3   

 118   4                                       else
 119   4                                       {
 120   5                                           DIGIT_VAL--;
 121   5                                       }
 122   4                               }
 123   3                               } break;
 124   2                       }
 125   1               }
 126               void VOLT_OUT(void)
 127                   {
 128   1                   P0=DIGIT_VAL%256;
 129   1                       P2=DIGIT_VAL/256;               
 130   1               }
 131                   void HOLD(void)
 132                   {
 133   1                   HOLD_D=0;
 134   1                       DELAY(700);
 135   1                       HOLD_D=1;
 136   1               }
 137                   void SCAN_INPUT(void)
 138                   {
 139   1               if(FAST==0) SPEED=1;
 140   1                       if(MID==0) SPEED=2;
 141   1                       if(SLOW==0) SPEED=3;
 142   1               if(SQR==0)
 143   1                       {
 144   2                           if(WAVE==1) DIGIT_VAL=0;
 145   2                           WAVE=0;
 146   2                               HOLD_D=0;
 147   2                       }
 148   1                   if(RMP==0)
 149   1                       {
 150   2                       WAVE=1;
 151   2                       if(D==0)
 152   2                           {
 153   3                                   if(PULL_THR_IN==0)
 154   3                                       {
 155   4                               HOLD();
 156   4                                       }
 157   3                       }
 158   2                           if(AB==0)
 159   2                           {
 160   3                                   if(NO_JUGHT==0)
 161   3                                       {
 162   4                                   if(S_NO==0)
 163   4                                       {
 164   5                                                   NO_JUGHT=1;
 165   5                                       HOLD();
 166   5                                   }
 167   4                                       }
 168   3                                       if(NO_JUGHT==1)
 169   3                                       {
 170   4                                           if(S_NO==1)
 171   4                                               {
 172   5                                                   NO_JUGHT=0;
 173   5                                                       HOLD();
 174   5                                               }
 175   4                                       }
 176   3                           }
 177   2                           if(A==0)
 178   2                           {
 179   3                                   if(NO_JUGHT==0)
C51 COMPILER V7.06   PULL_IN_TEST                                                          01/12/2006 19:52:28 PAGE 4   

 180   3                                       {
 181   4                                   if(S_NO==0)
 182   4                                       {
 183   5                                                   NO_JUGHT=1;
 184   5                                       HOLD();
 185   5                                   }
 186   4                                       }
 187   3                                       if(NO_JUGHT==1)
 188   3                                       {
 189   4                                           if(S_NO==1)
 190   4                                               {
 191   5                                                   NO_JUGHT=0;
 192   5                                               }
 193   4                                       }
 194   3                           }
 195   2                       }
 196   1               }


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


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

⌨️ 快捷键说明

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