main.lst

来自「香港科大机器人资料 单片机相关知识」· LST 代码 · 共 149 行

LST
149
字号
C51 COMPILER V8.02   MAIN                                                                  03/20/2008 15:06:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "P89v51rx2.H"
   2          #include "delay.h"
   3          #include "lcd.h"
   4          #include "motor.h"
   5          #include "io_assign.h"
   6          #include "IR_sensor.h"
   7          
   8          //-------------变量定义----------------------
   9          uchar min=0,sec=0,count_T=0;
  10          uchar buf_scom=0;               //串口接收缓存
  11          uchar height=0,angle=0; //臂高和张角
  12          
  13          //-------------函数声明----------------------
  14          void key_on_off(uchar b);       //按键开关
  15          
  16          //======================主函数=========================
  17          void main()
  18          {
  19   1              LCM1602_Init();
  20   1              LCM1602_clear();
  21   1              LCM1602_write_string(0,5,"scut");
  22   1              LCM1602_write_string(1,3,"2008/3/11");
  23   1              delay_ms(30);
  24   1              
  25   1              IP0=0x10;               //中断优先级设置,串行口最高
  26   1              IP0H=0x10;              
  27   1              
  28   1              EA=1;                   //开全局中断
  29   1              
  30   1              SCON = 0x50;    //串行口工作方式1
  31   1              REN=1;                  //允许接收
  32   1          ES=1;                       //串行中断允许
  33   1              
  34   1              TMOD=0x20;              //T1工作于自动装载模式
  35   1              TH1=0xFD;               //T1产生串口波特率9600
  36   1              TL1=0xFD;               
  37   1              TR1=1;                  //启动T1
  38   1              
  39   1              ET2=1;                  //使能T2        
  40   1              TL2=0x2B;               //装载T2脉宽调速初值
  41   1              TH2=0xFE;
  42   1              RCAP2L=0x2B;    //T2自动重装值  
  43   1              RCAP2H=0xFE;    
  44   1      //      T2CON=0x04;             //启动T2 
  45   1      
  46   1              PWM_Init();     
  47   1              key_on_off(1);          
  48   1              SENSOR_TRG=0;
  49   1              
  50   1              while(1)
  51   1              {
  52   2                      if(KEY_1==0)
  53   2                      {
  54   3                              delay_ms(50);
  55   3                              if(KEY_1==0)
C51 COMPILER V8.02   MAIN                                                                  03/20/2008 15:06:14 PAGE 2   

  56   3                              {
  57   4                                      nip(30);
  58   4                                      delay_ms(2000);
  59   4                                      nip(1);
  60   4                                      delay_ms(3000);
  61   4                                      lift(80);
  62   4                                      delay_ms(3000);                 
  63   4                              }
  64   3                      }
  65   2                      if(KEY_2==0)
  66   2                      {
  67   3                              delay_ms(50);
  68   3                              if(KEY_2==0)
  69   3                              {                               
  70   4                                      lift(0);
  71   4                                      delay_ms(3000);
  72   4                                      nip(30);
  73   4                                      delay_ms(2000);
  74   4                                      nip(0);
  75   4                              }
  76   3                      }
  77   2                      if(buf_scom)
  78   2                      {
  79   3                              delay_ms(30);
  80   3                              lift(buf_scom);
  81   3                              delay_ms(3000);
  82   3                              buf_scom=0;
  83   3                      }                               
  84   2              }
  85   1      }
  86          
  87          /*===================================================
  88                                          串口中断
  89          =====================================================*/
  90          void scom(void) interrupt 4
  91          {
  92   1              if(RI)
  93   1              {
  94   2                      RI=0;
  95   2                      buf_scom=SBUF;          //读走数据
  96   2              }
  97   1      }
  98          
  99          /****************************************
 100          功能:按键开关
 101          入口参数:b     1:开按键,0:关按键
 102          *****************************************/
 103          void key_on_off(uchar b)
 104          {
 105   1              if(b==1)
 106   1              {
 107   2                      KEY_1=1;
 108   2                      KEY_2=1;
 109   2                      ADD_D0=1;
 110   2                      ADD_D1=0;
 111   2                      ADD_D2=0;       
 112   2              }
 113   1              else if(b==0)
 114   1              {
 115   2                      KEY_1=1;
 116   2                      KEY_2=1;
 117   2                      ADD_D0=0;
C51 COMPILER V8.02   MAIN                                                                  03/20/2008 15:06:14 PAGE 3   

 118   2                      ADD_D1=0;
 119   2                      ADD_D2=0;       
 120   2              }
 121   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1284    ----
   CONSTANT SIZE    =     15    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     34       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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