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

📄 avc1.lst

📁 基于485的51单片机多机通讯程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE AVC1
OBJECT MODULE PLACED IN D:\程序05~1\DRIVE\AVC1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\程序05~1\DRIVE\AVC1.C DB SB OE

stmt level    source

   1          //#pragma la
   2          #include <AVC.h>
   3          #define start_v51 46
   4          sbit message_enable=P1^5;
   5          sbit stop=P3^5;
   6          sbit gate=P4^1;
   7          sbit avc_dir=P4^5;
   8          sbit avc_enable=P4^4;
   9          sbit temp_voltage=P4^2;
  10          sbit externel_voltage=P4^3;
  11          
  12          xdata unsigned char rbuffer[55],sbuffer[6];
  13          unsigned char   S_ANSW,POINTER0,POINTER1,work,RSUM,
  14                          SSUM,c_t1,nonce_sector,cross_machine,SENS,s_byte_nums,r_byte_nums,
  15                          nonce_sec,v51,c_sample,err,p_sec,out1;
  16          unsigned int adl,adh,ad,delt_a41,U51,out0,*point,temp_avc,temp_u51_p,temp_u51_b,c_lift;
  17          unsigned long AD1,AD2,AD3,AD4,AD5,da;
  18          unsigned char COMM,SLA,FF,GET;
  19          bit     decrease,sector,ad_finish,pulse_base,new_circle,called,avc,
  20                  lift,avc_ok,urgent_stop,pgj,in_sector,start,lift_complete,over_i1,
  21                  over_i2,resend,send,overtime,avc_up,avc_down,motor_stop,receive_p_out,
  22                  receive_p_in,demand,start_avc,stop_avc,ans,to_begin,need_para,
  23                  ask_lift_ok,lift_ok,avc_err,err_ok;
  24          
  25          void start_i2()
  26          {
  27   1         data unsigned int time;
  28   1         P1_6=1;              //SCL
  29   1         P1_7=1;              //SDA
  30   1         S1CON=0x47;          //ENS1=1 STA=0 STO=0 SI=0 AA=1
  31   1         PS1=1;FF=0;
  32   1         EA=1;
  33   1         ES1=1;
  34   1         STA=1;
  35   1         time=0;
  36   1         do
  37   1           {
  38   2            time++;
  39   2            if(time>10000)
  40   2                {
  41   3                 FF=1;
  42   3                }
  43   2           }while(FF==0);
  44   1         FF=0;
  45   1         ES1=0;
  46   1      }
  47          
  48          void start_t2()
  49          {
  50   1              TM2CON=0x81;    //16位溢出,分频系数1,f/12
  51   1              EA=1;
  52   1              TM2IR=0;
  53   1      }
  54          
  55          void ini_sbuf(unsigned char a,b,c,d,e,f)
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 2   

  56          {
  57   1              sbuffer[0]=a;
  58   1              sbuffer[1]=b;
  59   1              sbuffer[2]=c;
  60   1              sbuffer[3]=d;
  61   1              sbuffer[4]=e;
  62   1              sbuffer[5]=f;
  63   1      }
  64          
  65          unsigned char get_byte_nums(unsigned char type)
  66          {
  67   1              unsigned char numbers;
  68   1              switch(type)
  69   1              {
  70   2                      case    infor_sec:
  71   2                      case    command:
  72   2                      case    program:
  73   2                      case    answer:         numbers=4;
  74   2                                              break;
  75   2                      case    err_infor:
  76   2                      case    parameter1:     numbers=5;
  77   2                                              break;
  78   2                      case    parameter:
  79   2                      case    infor:          numbers=6;
  80   2                                              break;
  81   2                      case    parameter2:     numbers=7;
  82   2                                              break;
  83   2                      case    call_result:    numbers=8;
  84   2                                              break;
  85   2                      case    p_out_sec:      numbers=55;
  86   2                                              break;
  87   2                      case    p_in_sec:       numbers=24;
  88   2                                              break;
  89   2                      case    edit_sec:       numbers=64;
  90   2                                              break;
  91   2                      default:                break;
  92   2              }
  93   1              return numbers;
  94   1      }
  95          
  96          void TR_noans()
  97          {
  98   1              POINTER0=0;
  99   1              SSUM=0;
 100   1              send=1;
 101   1              c_t1=0;
 102   1              message_enable=0;                               //开发送使能
 103   1              TR1=1;
 104   1              while(POINTER0<s_byte_nums);
 105   1              TR1=0;
 106   1              message_enable=1;                               //关发送使能
 107   1      }
 108          
 109          void TR_ans()
 110          {
 111   1              ans=1;
 112   1              REN=0;
 113   1              POINTER1=0;
 114   1              RSUM=0;
 115   1              TB8=1;
 116   1              POINTER0=0;
 117   1              SSUM=0;
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 3   

 118   1              send=1;
 119   1              c_t1=0;
 120   1              message_enable=0;                               //开发送使能
 121   1              TR1=1;
 122   1              while(POINTER0<s_byte_nums);
 123   1              TR1=0;
 124   1              message_enable=1;                               //关发送使能
 125   1      
 126   1              REN=1;
 127   1              send=0;
 128   1              c_t1=0;
 129   1              TR1=1;
 130   1              while(POINTER1<r_byte_nums);
 131   1              TR1=0;
 132   1              if(overtime==1)
 133   1              {
 134   2                      err=3;
 135   2                      avc_err=1;
 136   2                      overtime=0;
 137   2              }
 138   1              ans=0;
 139   1      }
 140          
 141          void delay(int num)
 142          {
 143   1        data unsigned int i,j;
 144   1        for(i=0;i<num;i++)
 145   1         {
 146   2           for(j=0;j<255;j++);
 147   2         }
 148   1      }
 149          
 150          void read_8574 ()                       //过流1或过流2
 151          {
 152   1              unsigned char temp_GET;
 153   1              SLA=0x43;
 154   1              start_i2();
 155   1              temp_GET=GET;
 156   1              temp_GET=temp_GET&0X01;
 157   1              if(temp_GET==0)
 158   1                      over_i1=1;
 159   1              temp_GET=GET;
 160   1              temp_GET=temp_GET&0X02;
 161   1              if(temp_GET==0)
 162   1                      over_i2=1;
 163   1      }
 164          
 165          void write_8574(unsigned char col)      //出错显示
 166          {
 167   1              SLA=0x42;
 168   1              COMM=col;
 169   1              start_i2();
 170   1      }
 171          
 172          /*
 173          void get_SENS()
 174          {
 175                  switch(pp.sens)
 176                          {
 177                                  case 1: {
 178                                                  out0=8000;              //500HZ
 179                                                  out1=4;                 //2p,0.0075mm
C51 COMPILER V7.06   AVC1                                                                  06/16/2005 14:51:25 PAGE 4   

 180                                          }break;
 181                                  case 2: {
 182                                                  out0=8000;              //500HZ
 183                                                  out1=10;                //5p,0.01875mm 0.1v
 184                                          }break;
 185                                  case 3: {
 186                                                  out0=8000;              //500HZ
 187                                                  out1=20;                //10p,0.0375mm 0.2v
 188                                          }break;
 189                                  case 4: {
 190                                                  out0=6757;              //592hz
 191                                                  out1=32;                //0.06mm 0.3v
 192                                          }break;
 193                                  case 5: {
 194                                                  out0=5141;              //778hz
 195                                                  out1=42;                //0.08mm 0.4v
 196                                          }break;
 197                                  case 6: {
 198                                                  out0=4000;              //1000hz
 199                                                  out1=54;                //0.1mm 0.5v
 200                                          }break;
 201                                  case 7: {
 202                                                  out0=3376;              //1185hz
 203                                                  out1=64;                //0.12mm 0.6v
 204                                          }break;
 205                                  case 8: {
 206                                                  out0=2843;              //1407hz
 207                                                  out1=76;                //0.14mm 0.7v
 208                                          }break;
 209                                  case 9: {
 210                                                  out0=2299;              //1740hz
 211                                                  out1=94;                //0.16mm 0.8v
 212                                          }break;
 213                                  case 10:{
 214                                                  out0=2000;              //2000hz
 215                                                  out1=104;               //0.2mm 1v
 216                                          }break;
 217                          }
 218          }
 219          */
 220          void com_type()
 221          {
 222   1              switch(rbuffer[2])
 223   1              {
 224   2                      case com_calling:       called=1;break;
 225   2                      case com_motor_stop:    {                               //停止点动
 226   3                                                      if(motor_stop==0)
 227   3                                                              motor_stop=1;
 228   3                                              }break;
 229   2                      case com_start:         start=1;break;                  //启动
 230   2                      case com_decrease:      decrease=1;break;
 231   2                      case com_avc:           start_avc=1;break;
 232   2                      case com_avc_up:        if(avc_up==0)
 233   2                                                      avc_up=1;break;
 234   2                      case com_avc_down:      if(avc_down==0)
 235   2                                                      avc_down=1;break;

⌨️ 快捷键说明

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