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

📄 text1.lst

📁 寻库小车程发动机h桥测试灯循迹等
💻 LST
字号:
C51 COMPILER V7.01  TEXT1                                                                  07/14/2008 20:47:30 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #define uchar unsigned char
   2          #define uint  unsigned int
   3          #define ulong unsigned long
   4          /**********************************************************************/
   5          #include <reg52.h>
   6          #include <intrins.h>
   7          /**********************************************************************/
   8          //控制前进后退
   9          //sbit MO_A=P1^4;
  10          //sbit MO_B=P1^5;
  11          //控制左右转
  12          /*sbit LR_A=P1^0;
  13          sbit LR_B=P1^2;
  14          sbit LR_C=P1^1;
  15          sbit LR_D=P1^3;*/
  16          sbit P11=P1^1;
  17          
  18          sbit M0=P0^0;  //前进
  19          sbit M1=P0^1 ; //后退
  20          sbit LR_A=P0^2;//控制电机管脚
  21          sbit LR_B=P0^3;//控制电机管脚
  22          sbit LA=P0^4;    //左边光敏电阻标志
  23          sbit LB=P0^5;    //右边
  24          
  25          sbit ZD=P0^7;    //中断判断标志
  26          /*********************************************************************/
  27          uchar n;
  28          uchar time;            //后轮马达变量
  29          uchar period=100;
  30          uchar high=64;
  31          uchar d;               //停车中断使用的延时变量
  32          
  33          /*********************************************************************/
  34          uchar tingche;  //  开门时停车标志位
  35          uchar zhongduancishu;//防止中断干扰标志位
  36          /*********************************************************************/
  37          
  38          /*
  39          uchar count;
  40          
  41          void timer0()interrupt 1 using 2     // 12M晶振 延时50ms程序
  42          {count++;
  43          TH0=(65536-50000)/256;
  44          TL0=(65536-50000)%256;
  45          }
  46          /*********************************************************************/
  47          void delay()
  48          {
  49   1      uchar i,j;
  50   1      for(i=0;i<255;i++)
  51   1      {for(j=0;j<10;j++);
  52   2      }
  53   1      
  54   1      }
  55          delay5s()
C51 COMPILER V7.01  TEXT1                                                                  07/14/2008 20:47:30 PAGE 2   

  56                 {
  57   1                  uint i,j;
  58   1                  for(i=0;i<350;i++)
  59   1                    {
  60   2                    for(j=0;j<2500;j++)
  61   2                           {;}
  62   2                     }
  63   1              }                             
  64          
  65          
  66          hongwaizhongduan() interrupt 0 using 2
  67          { 
  68   1      if(ZD==0){
  69   2      
  70   2      zhongduancishu++;
  71   2      
  72   2      for(d=8;d>0;d--)
  73   2      delay();
  74   2      }
  75   1      if(zhongduancishu==6)
  76   1      {tingche=1;}
  77   1      
  78   1      }
  79          
  80          
  81          timer1() interrupt 3 using 0      //    进车库
  82          {
  83   1      TH1=(65536-50000)/256;
  84   1      TL1=(65536-50000)%256;
  85   1      
  86   1      n++;
  87   1      
  88   1      }
  89          
  90          
  91          timer0() interrupt 1 using 1      //    前进
  92          {
  93   1      TH0=(65536-500)/256;
  94   1      TL0=(65536-500)%256;
  95   1      
  96   1      if (++time==high)
  97   1      M1=0;
  98   1      else if(time==period)
  99   1       {
 100   2        
 101   2        time=0;
 102   2        M1=1;
 103   2        }
 104   1      }
 105          
 106          void left()
 107          {uchar q;
 108   1      LR_B=1;
 109   1      delay();
 110   1      LR_A=0;
 111   1      //M1=0;
 112   1      for(q=8;q>0;q--)delay();
 113   1      //M1=1;
 114   1      //_nop_();
 115   1      
 116   1      }
 117          
C51 COMPILER V7.01  TEXT1                                                                  07/14/2008 20:47:30 PAGE 3   

 118          void right()
 119          {uchar q;
 120   1      LR_A=1;
 121   1      delay();
 122   1      LR_B=0;
 123   1      for(q=8;q>0;q--)delay();
 124   1      //M1=0;
 125   1      
 126   1      //M1=1;
 127   1      //_nop_();
 128   1      
 129   1      }
 130          
 131          void main(void)
 132          {
 133   1      
 134   1      
 135   1      TMOD=0x11; //定时器0和1都工作在方式1 16位
 136   1      TH0=(65536-500)/256;
 137   1      TL0=(65536-500)%256;
 138   1      TH1=(65536-10000)/256;
 139   1      TL1=(65536-10000)%256;
 140   1      P11=0;
 141   1      
 142   1      IT0=0;
 143   1      EX0=1;       //外部中断0
 144   1      ET0=1;         //开启定时器0
 145   1      TR0=1;
 146   1      M0=1;
 147   1      
 148   1      //TMOD=0x01;
 149   1      //TH0=(65536-50000)/256;
 150   1       // TL0=(65536-50000)%256;
 151   1       // IE=0x83;
 152   1       // IT0=1;
 153   1        //TR0=1;
 154   1      //M1=0;
 155   1      //delay();
 156   1      //M1=1;
 157   1      EA=1;
 158   1      while(1)
 159   1      {
 160   2      //LR_D=1;
 161   2      //LR_C=0;
 162   2      LR_A=1;
 163   2      LR_B=1;
 164   2      
 165   2      if(LA==1)
 166   2      {left();}
 167   2      
 168   2      if(LB==1)
 169   2      {right();
 170   3      //count=0;
 171   3      }
 172   2      
 173   2      
 174   2      if(tingche==1)
 175   2      
 176   2         { ET0=0;
 177   3         TR0=0;
 178   3         EX0=0;
 179   3         M1=1;
C51 COMPILER V7.01  TEXT1                                                                  07/14/2008 20:47:30 PAGE 4   

 180   3         M0=1;
 181   3           tingche=0;
 182   3           delay5s();
 183   3               delay5s();
 184   3               delay5s();
 185   3               
 186   3          
 187   3              ET1=1;
 188   3              TR1=1;
 189   3              ET0=1;
 190   3              TR0=1;
 191   3          }
 192   2      
 193   2              if(n==103)
 194   2              {
 195   3              ET1=0;
 196   3               TR1=0;
 197   3           ET0=0;
 198   3               TR0=0;
 199   3           EA=0;
 200   3              n=0;
 201   3           M0=1;
 202   3               M1=1;
 203   3           LR_A=1;
 204   3           LR_B=1;
 205   3               
 206   3              }
 207   2      }
 208   1      
 209   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    265    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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