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

📄 bi_zhang.lst

📁 本篇文章介绍了一种智能小车
💻 LST
字号:
C51 COMPILER V6.02  BI_ZHANG                                                               09/14/2006 10:36:01 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE BI_ZHANG
OBJECT MODULE PLACED IN E:\STUDY\WAVEWO~1\CAR\CAR_AD\避障\BI_ZHANG.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE E:\STUDY\WAVEWO~1\CAR\CAR_AD\避障\BI_ZHANG.C DB SB OE

stmt level    source

   1          #include <intrins.h>//这个头文件中有_nop_();
   2          #include <reg52.h>
   3          #include<stdio.h>
   4          #define uchar unsigned char
   5          #define uint unsigned int
   6          sbit lun=P1^6;
   7          int tim=0,send=0; //--进中断次数100为一个周期
   8          uint speedleft,speedright,tt=0;//--左右轮转速控制
   9          char flag=0x70;
  10          bit cs=0;
  11          //----------------------------------------------------------------------------------------------------
  12          sbit left=P1^0; //左电机使能
  13          sbit right=P1^1;//右电机使能
  14          sbit clk=P2^1;
  15          sbit oe=P2^3; //---取值允许
  16          sbit lef=P0^4;
  17          sbit mod=P0^5;
  18          sbit rig=P0^6;
  19          sbit p32=P3^2;
  20          //-------------------------------------------------------
  21          void cotor_car(void);//--控制小车
  22          void Forward(char speed);//前进            293用到的程序
  23          void Reverse(char speed);//speed--速度,dely--时间,r--左(右)
  24          void TurnRight(uint dey);//右拐
  25          void TurnLeft(uint dey);//左拐
  26          void delay(unsigned int time);//--延时
  27          void stop(void);//---停止
  28          void delay(uint e);//--延时
  29          void clk_send(void);
  30          void jie_shou(void);
  31          void start(void);
  32          void ctrl_car(void);
  33          //------------------------
  34          //---------------------------延时程序-------------------------------------------------------------
  35          void delay(uint e)
  36          {
  37   1         while(e--)
  38   1         {
  39   2         _nop_();_nop_();_nop_();
  40   2         _nop_();_nop_();}
  41   1      }
  42          //-----------------------前进程序----------------------------------------------------------------
  43          void Forward(char speed)
  44          {
  45   1        P1=0x1b;lun=1;
  46   1       speedleft=speed;
  47   1       speedright=speed+4;
  48   1       TR0=1;
  49   1       delay(15);
  50   1       TR0=0;
  51   1       }
  52          //----------------------左转程序-------------------------------------------------------------------
  53          void TurnLeft(uint dey)
  54          {
  55   1      P1=0x2b;lun=1;
C51 COMPILER V6.02  BI_ZHANG                                                               09/14/2006 10:36:01 PAGE 2   

  56   1       speedleft=dey-10;
  57   1       speedright=dey*10;
  58   1       TR0=1;
  59   1       delay(3000);
  60   1       TR0=0;
  61   1      }
  62          //----------------------右转程序-------------------------------------------------------------------
  63          void TurnRight(uint dey)
  64          {
  65   1      P1=0x17; lun=0;
  66   1       speedleft=dey*10;
  67   1       speedright=dey-10;
  68   1       TR0=1;
  69   1       delay(3000);
  70   1       TR0=0;
  71   1      
  72   1      }
  73          //--------------------------------------------------
  74          void main(void)
  75          {
  76   1      uint k=10,s=5;
  77   1      start();
  78   1      while(1)
  79   1       {
  80   2      ctrl_car();
  81   2       delay(5);
  82   2       }
  83   1      }
  84          //--------------------------------------------------------------------------------------
  85          void ctrl_car(void)
  86          {
  87   1         oe=0;
  88   1          flag=P0;
  89   1         flag&=0x70;
  90   1         if(flag!=0x70)
  91   1         {
  92   2            delay(10);
  93   2              flag=P0&0x70;
  94   2                if(flag!=0x70)
  95   2                {
  96   3                    switch(flag)
  97   3                    {
  98   4                      case 0x80:Forward(2);break;
  99   4                      case 0x30:TurnRight(10);delay(50);break;
 100   4                      case 0x60:TurnLeft(10);delay(50);break;
 101   4                      case 0x50:Reverse(70);delay(50);break;
 102   4                          default:Forward(2);
 103   4                    }
 104   3                 }
 105   2          }
 106   1        delay(10); flag=0xff; Forward(2);
 107   1      }
 108          //----------------------------------后退程序----------------------------------------------------
 109          void Reverse(char speed)
 110          {
 111   1        P1=0x27;lun=0;
 112   1       speedleft=speed;
 113   1       speedright=speed+10;
 114   1       TR0=1;
 115   1       delay(1000);
 116   1       TR0=0;
 117   1      }
C51 COMPILER V6.02  BI_ZHANG                                                               09/14/2006 10:36:01 PAGE 3   

 118          /*-----------------------------------停止程序---------------------------------------
 119          void stop(void)
 120          {
 121            TR0=0;right=0;left=0;
 122          }   */
 123          //-------------------------------------------------------------------------------
 124          void start(void)
 125          {
 126   1         EA=1; ET0=1;ET1=1;PT0=1;//-----开中断-----------
 127   1          TMOD=0x22;   //方式二
 128   1          TH1=0xf2;  // f3
 129   1          TL1=0xf2;
 130   1          TR0=1;
 131   1          TR1=1;
 132   1      }
 133          //------------------------------------------------------------------------------------------------
 134          void time0(void) interrupt 1 using 2         /*电机定时中断*/
 135          {
 136   1        // TR1=!TR1;
 137   1         if(tim<=speedright)
 138   1               right=1;
 139   1           else
 140   1               right=0;
 141   1         if(tim<=speedleft)
 142   1              left=1;
 143   1               else
 144   1              left=0;
 145   1      tim++;
 146   1      if(tim>=100)
 147   1         tim=0;
 148   1      }
 149          //-----------------------------------------------------------------------------------------
 150          void snd(void) interrupt 3 using 1
 151          {
 152   1      clk=!clk;
 153   1      }
C51 COMPILER V6.02  BI_ZHANG                                                               09/14/2006 10:36:01 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
_TurnRight . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dey. . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
_TurnLeft. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dey. . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
flag . . . . . . . . . . . . . . . . .  PUBLIC   DATA   CHAR     0000H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
right. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  k. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  s. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0002H  2
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
send . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0001H  2
left . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
start. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
speedright . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0003H  2
lef. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0084H  1
_Forward . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  speed. . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
clk. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
_Reverse . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  speed. . . . . . . . . . . . . . . .  * REG *  DATA   CHAR     0007H  1
mod. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0085H  1
speedleft. . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0005H  2
rig. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0086H  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
snd. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
C51 COMPILER V6.02  BI_ZHANG                                                               09/14/2006 10:36:01 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
tim. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0007H  2
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
TF2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CFH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
ctrl_car . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
lun. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
oe . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A3H  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
p32. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
cs . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
time0. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
tt . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0009H  2
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0004H  -----
  e. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    416    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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