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

📄 main.lst

📁 从零开始学51单片机源代码
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  04/20/2012 21:01:10 PAGE 1   


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

line level    source

   1          #include "fun.h"   
   2                                            
   3          void  Timer0_interrupt() interrupt 1
   4          { 
   5   1              //以下通过剩余步数来判断电机处于运行过程中的哪个阶段 
   6   1              if (step > (1000 - 64) ) //加速阶段 
   7   1              {
   8   2                //切换到高一级转速
   9   2                TH0 = speedtable[1000-step] >>8;
  10   2                TL0 = speedtable[1000-step]; 
  11   2              }       
  12   1              else if (step < (1000 - 64) && step > 64) //匀速阶段 
  13   1              {
  14   2              //保持最高转速 
  15   2                TH0 = speedtable[63] >>8;
  16   2                TL0 = speedtable[63];   
  17   2              }
  18   1              else if (step < 64 && step >0) //减速阶段
  19   1              {
  20   2               //切换到低一级转速 
  21   2                TH0 = speedtable[step] >>8;
  22   2                TL0 = speedtable[step]; 
  23   2              }
  24   1              else
  25   1              {
  26   2               //其它情况停机 
  27   2               //关定时器,关PWM,恢复运行锁,步数清零 
  28   2               TH0 = speedtable[0] >>8;
  29   2               TL0 = speedtable[0];
  30   2               TR0=0;
  31   2               CR=0;
  32   2               run_flag=0;
  33   2               step=0;
  34   2               en = 0;
  35   2              }
  36   1      
  37   1              step--;//步数减1
  38   1      }
  39          
  40          main()
  41          {
  42   1              ms_delay(20);   
  43   1      
  44   1              init_port();
  45   1              init_timer0();  
  46   1              init_pca();
  47   1      
  48   1              EA = 1;//开总中断  
  49   1              
  50   1              s1=1;
  51   1              s2=1;
  52   1              run_flag = 0;
  53   1              en = 0;
  54   1              dir=1;
  55   1              step = 0; 
C51 COMPILER V8.08   MAIN                                                                  04/20/2012 21:01:10 PAGE 2   

  56   1      
  57   1              while(1)
  58   1              {
  59   2                      if (run_flag == 0) //只有在电机停止的时候才接受操作 
  60   2                      {
  61   3                              if (s1 == 0)//正转按钮 
  62   3                              {
  63   4                                      ms_delay(10);
  64   4                                      if (s1 ==0)        //启动电机正转 
  65   4                                      {
  66   5                                              dir = 1;
  67   5                                              en=1;
  68   5                                              step = 1000;//设置5圈1000步 
  69   5                                              run_flag=1;//设置电机运转锁 
  70   5                                              CR = 1; //      启动PWM
  71   5                                              //设定T0溢出频率 
  72   5                                              TH0 = speedtable[0] >>8;
  73   5                                              TL0 = speedtable[0];
  74   5                                              TR0=1;//启动定时器0 
  75   5                                      }
  76   4                              }
  77   3      
  78   3                              if (s2 == 0)//反转按钮 
  79   3                              {
  80   4                                      ms_delay(10);
  81   4                                      if (s2 ==0)       //启动电机反转 
  82   4                                      {
  83   5                                              dir = 0;
  84   5                                              en = 1;
  85   5                                              step = 1000;//设置5圈1000步 
  86   5                                              run_flag=1;//设置电机运转锁 
  87   5                                              CR = 1; //      启动PWM
  88   5                                              //设定T0溢出频率 
  89   5                                              TH0 = speedtable[0] >>8;
  90   5                                              TL0 = speedtable[0];
  91   5                                              TR0=1;//启动定时器0 
  92   5                                      }
  93   4                              }
  94   3                      }
  95   2              }
  96   1      }


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