fashi.lst

来自「本篇文章介绍了一种智能小车」· LST 代码 · 共 287 行

LST
287
字号
C51 COMPILER V6.02  FASHI                                                                  12/07/2006 13:01:18 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE FASHI
OBJECT MODULE PLACED IN F:\STUDY\WAVEWO~1\CAR\超声波\FASHI.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE F:\STUDY\WAVEWO~1\CAR\超声波\FASHI.C DB SB OE

stmt level    source

   1          #include<reg52.h>
   2          #include<stdio.h>
   3          #include <absacc.h>
   4          #include <string.h>
   5          #include <intrins.h>//这个头文件中有_nop_();
   6          #define uchar unsigned char
   7          #define uint unsigned int
   8          //------------------------------变量定义--------------------------
   9          uint tme = 0;    //PWM 变量
  10          uint speed = 2;  //速度变量
  11          //---------左右超声波测得距离
  12          bit shou_left = 0;
  13          bit shou_right = 0;
  14          //-------------AD0832
  15          int ad=0x00;
  16          unsigned char bdata DATAIN;
  17          unsigned char bdata CTRL;
  18          sbit BITIN = DATAIN^0;
  19          sbit CBIT = CTRL^0;
  20          //------------------------------口线----------------
  21          //超声波口线
  22          sbit fa = P2^5;
  23          sbit shou_1 = P2^7;
  24          sbit shou_2 = P2^6;
  25          //控制方向电机口线
  26          sbit duo = P2^0;
  27          sbit left = P2^1;
  28          sbit right = P2^2;
  29          //行驶电机口线
  30          sbit run = P1^3;
  31          sbit b = P1^4;
  32          sbit a = P1^5;
  33          //AD口线
  34          sbit SCS = P1^0;
  35          sbit SCLK = P1^1;
  36          sbit SDOUT = P1^2;
  37          sbit SDIN = P1^2;
  38          //------------------------------子程序声明---------------------------------------
  39          void delay(int dey);
  40          void start(void);
  41          unsigned char get_ad(void);
  42          //---------------------------------初始化----------------------------------------
  43          void start(void)
  44          {
  45   1         EA=1;
  46   1         ET0=1;
  47   1         ET1=1;
  48   1         TMOD=0x22;
  49   1         TH1=0Xf9;
  50   1         TL1=0Xf9;
  51   1        TR0=1  ;
  52   1      }
  53          
  54          //---------------------------------读AD0832------------------------------------------
  55          
C51 COMPILER V6.02  FASHI                                                                  12/07/2006 13:01:18 PAGE 2   

  56          unsigned char get_ad()
  57          {
  58   1          unsigned char data  i;
  59   1          CTRL=0x07;         //启动位,SGL 选CH0通道,011三位
  60   1          SCS=1;             //选通允许
  61   1          SCS=0;
  62   1          for(i=0;i<3;i++)
  63   1          {
  64   2             SDIN=CBIT;
  65   2             SCLK=0;           //发三个时钟
  66   2             SCLK=1;
  67   2             CTRL=CTRL>>1;
  68   2          }
  69   1          SCLK=0;
  70   1          SCLK=1;         //第四个时钟
  71   1      /*------------------------------------------开始读A/D---------------------------*/
  72   1          SCLK=0;
  73   1          for(i=0;i<8;i++)
  74   1          {
  75   2             DATAIN=DATAIN<<1;                  //移位8次取到采样的值
  76   2             BITIN=SDOUT;
  77   2             SCLK=1;
  78   2             SCLK=0;
  79   2           }
  80   1             SCS=1;
  81   1             return(DATAIN);
  82   1      }
  83          //--------------------------------delay---------------------------------------
  84          void delay(int dey)
  85          {
  86   1      while(dey > 0)
  87   1         {
  88   2         dey--;
  89   2         }
  90   1      }
  91          //---------------------------------方向调整程序-------------------------------
  92          void regu(int dri)
  93          {
  94   1          ad = get_ad();
  95   1         if( ad > dri)
  96   1            {
  97   2            left=0;
  98   2            right=1;
  99   2            }
 100   1            else if( ad < dri)
 101   1            {
 102   2            left=1;
 103   2            right=0;
 104   2            }
 105   1          else if( ad == dri)
 106   1           left=right=0;
 107   1      }
 108          //---------------------------------测量距离-----------------------------------------
 109          void test( void )
 110          {
 111   1         uint i;
 112   1           shou_left = shou_right = 0;
 113   1          //while(1)//for( i = 0;i < 100;i ++)
 114   1          {
 115   2                      fa =!fa;
 116   2               _nop_();_nop_();_nop_();
 117   2               _nop_(); _nop_();_nop_();
C51 COMPILER V6.02  FASHI                                                                  12/07/2006 13:01:18 PAGE 3   

 118   2               _nop_(); _nop_();_nop_();
 119   2               _nop_();_nop_();_nop_();
 120   2               _nop_(); _nop_();_nop_();
 121   2               _nop_();_nop_();_nop_();_nop_();
 122   2              if(shou_1 == 0)
 123   2               {
 124   3                shou_left = 1;
 125   3               }
 126   2              if(shou_2 == 0)
 127   2              {
 128   3                shou_right = 1;
 129   3              }
 130   2          }
 131   1      
 132   1      }
*** WARNING C280 IN LINE 111 OF F:\STUDY\WAVEWO~1\CAR\超声波\FASHI.C: 'i': unreferenced local variable
 133          //--------------------------------主程序------------------------------------------
 134          void main(void)
 135          {
 136   1        start();
 137   1          while(1);
 138   1          {
 139   2        test();
 140   2         }
 141   1      }
 142          //--------------------------------速度中断-----------------------------------------
 143          void time0(void) interrupt 3 using 1
 144          {
 145   1      fa=!fa;
 146   1      }
C51 COMPILER V6.02  FASHI                                                                  12/07/2006 13:01:18 PAGE 4   

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


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
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
SDOUT. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
speed. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0000H  2
_regu. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dri. . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
right. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A2H  1
CBIT . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0000H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
left . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A1H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
SCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
SDIN . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
start. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
DATAIN . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
CTRL . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
test . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
shou_right . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
ad . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   INT      0002H  2
fa . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
tme. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_INT    0004H  2
duo. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A0H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
ET2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ADH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
C51 COMPILER V6.02  FASHI                                                                  12/07/2006 13:01:18 PAGE 5   

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


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
shou_left. . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0001H  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
shou_1 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A7H  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
shou_2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A6H  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
run. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  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
a. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
time0. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
b. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
get_ad . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
SCS. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dey. . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
BITIN. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0008H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


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


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

⌨️ 快捷键说明

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