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

📄 ji.lst

📁 智能小车 包括 巡线 避障 寻光源等功能 完整程序
💻 LST
字号:
C51 COMPILER V8.08   JI                                                                    07/28/2008 18:08:23 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE JI
OBJECT MODULE PLACED IN JI.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE JI.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #define uchar unsigned char
   3          #define uint unsigned int
   4          
   5          sbit t1 = P3^0;
   6          sbit t2 = P3^1;
   7          sbit a1 = P1^0;
   8          sbit a2 = P1^1;
   9          sbit a3 = P1^2;
  10          sbit a4 = P1^3;
  11          
  12          sbit a10 = P2^0;                  // 避 障 
  13          sbit a11 = P2^1;
  14          sbit a12 = P2^2;          
  15          
  16          sbit a13 = P2^3;                 // 寻 光 
  17          sbit a14 = P2^4;
  18          sbit a15 = P2^5;
  19          
  20          sbit M= P3^6;             //   寻 黑 线    
  21          sbit L= P3^7;
  22          sbit R= P3^5;
  23          
  24          uint SpeedA=40;
  25          uint SpeedB=40;
  26          uint m0=0;
  27          uint m1=0; 
  28          
  29          void FX(uint f){
  30   1          switch(f)
  31   1              {
  32   2                      case 0: a1 = 0;a2 = 0;a3 = 0;a4 = 0; break;                     //停 车 
  33   2                      case 1: a1 = 1;a2 = 0;a3 = 1;a4 = 0; break;                     //前 进 
  34   2                      case 2: a1 = 0;a2 = 1;a3 = 0;a4 = 1; break;                     //倒 退 
  35   2                      case 3: a1 = 0;a2 = 1;a3 = 1;a4 = 0; break;                 //右 转 
  36   2                      case 4: a1 = 1;a2 = 0;a3 = 0;a4 = 1; break;                     //左 转 
  37   2                      case 5: a1 = 0;a2 = 0;a3 = 1;a4 = 0; break;
  38   2                      case 6: a1 = 1;a2 = 0;a3 = 0;a4 = 0; break;
  39   2              
  40   2              }
  41   1      }
  42          
  43          void delay(uint z) {
  44   1              uint x,y;
  45   1              for(x=z;x>0;x--)
  46   1              for(y=125;y>0;y--);
  47   1              }
  48                     
  49          void main(void)
  50          {
  51   1                      delay(1000)     ;
  52   1                      delay(1000)     ;
  53   1              TH0 = 0x86;
  54   1              TL0 = 0xE8;
  55   1              TH1 = 0x86;
C51 COMPILER V8.08   JI                                                                    07/28/2008 18:08:23 PAGE 2   

  56   1              TL1 = 0xE8;
  57   1              TMOD = 0x11;
  58   1              TR0 = 1;
  59   1              TR1 = 1;
  60   1              ET0 = 1;
  61   1              ET1 = 1;
  62   1              EA  = 1;        
  63   1              FX(0);
  64   1              while(1){
  65   2              
  66   2              
  67   2      /*              if( M==0){                                              //寻黑线 
  68   2                      FX(1);          
  69   2                      }                       
  70   2               else   if(L==0)  {
  71   2                              FX(4);} 
  72   2                 
  73   2               else   if(R==0)  {
  74   2                              FX(3);}         
  75   2                              
  76   2                 
  77   2                
  78   2              
  79   2              
  80   2      /*              if(a11==0){                                                //避 障 
  81   2                      delay(200);      
  82   2                      if(a11==0){
  83   2                      delay(200);       
  84   2                              FX(0); 
  85   2                      if(a11==0 && a10==1 && a12==1){     
  86   2                      
  87   2                      FX(0); 
  88   2                      delay(1000)     ;
  89   2                      FX(2) ;
  90   2                      delay(400)        ;
  91   2                      FX(0) ;         
  92   2                      
  93   2                      delay(1000);FX(3);delay(800); } 
  94   2                                        } 
  95   2                                        }
  96   2                      
  97   2              
  98   2                       
  99   2                
 100   2               
 101   2                
 102   2              if( a11==0&&a12==0 )    {   
 103   2                              delay(200);
 104   2                              if( a11==0&&a12==0 )    {   
 105   2                                       FX(0); 
 106   2                                      delay(1000)     ;
 107   2                                      FX(2) ;
 108   2                                      delay(400)        ;
 109   2                                      FX(0) ;         
 110   2                                      
 111   2                                      delay(1000);FX(3);  delay(800);} 
 112   2                                                              }
 113   2                      
 114   2                
 115   2                
 116   2                      
 117   2                      
C51 COMPILER V8.08   JI                                                                    07/28/2008 18:08:23 PAGE 3   

 118   2              if( a10==0 && a11==0 ) {
 119   2                              delay(200);
 120   2                              if( a10==0 && a11==0 ) {
 121   2                                      
 122   2                                              FX(0); 
 123   2                                              delay(1000)     ;
 124   2                                              FX(2) ;
 125   2                                              delay(400)        ;
 126   2                                              FX(0) ;         
 127   2                                      
 128   2                                      delay(1000);FX(4);  delay(800);
 129   2                                                                              }       
 130   2                                                              }         */
 131   2      
 132   2              if(a14==0 && a13==1&& a15==1) {            //寻 光 
 133   3                              
 134   3                              FX(1);}
 135   2               
 136   2              else if(a13==0) {
 137   3               
 138   3                      FX(3); 
 139   3                       if(a14==0){
 140   4                      FX(1);
 141   4                      }
 142   3                      }
 143   2              else if(a15==0) {
 144   3               
 145   3                      FX(4);
 146   3                        if(a14==0){
 147   4                      FX(1);
 148   4                      }
 149   3                      }        
 150   2      
 151   2                 else{
 152   3                 FX(1);
 153   3                 }
 154   2      
 155   2      
 156   2                      
 157   2                      
 158   2              }
 159   1      }       
 160                     
 161          
 162           
 163          
 164          void time0_int() interrupt 1 using 1
 165          {
 166   1              TR0=0;                          
 167   1              TH0=0x86;
 168   1              TL0=0xE8;
 169   1              m1=m1 + 1;                                               
 170   1              if(m1< SpeedA){
 171   2                t1 = 1;
 172   2              }
 173   1              else 
 174   1                t1 = 0;
 175   1              if(m1== 40){
 176   2                m1=0;
 177   2              }
 178   1              TR0 = 1;
 179   1      }
C51 COMPILER V8.08   JI                                                                    07/28/2008 18:08:23 PAGE 4   

 180          
 181          void time1_int() interrupt 3 using 1
 182          {
 183   1              TR1=0;
 184   1              TH1=0x86;
 185   1              TL1=0xE8;
 186   1              m0=m0 + 1;
 187   1              if(m0 < SpeedB){
 188   2                t2=1;
 189   2              }
 190   1              else t2 = 0;
 191   1              if(m0 == 40){
 192   2                m0=0;
 193   2              }
 194   1              TR1 = 1;
 195   1      }
 196          
 197          void int0() interrupt 0 using 1
 198          {
 199   1              ET0 = 1;
 200   1      }       


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    330    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8    ----
   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 + -