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

📄 run.lst

📁 这是一个简单的步进电机的程序,用C51编写,主要可以定时控制电机进行180度的旋转
💻 LST
字号:
C51 COMPILER V7.06   RUN                                                                   12/04/2007 01:27:31 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE RUN
OBJECT MODULE PLACED IN run.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE run.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //文件名:run.c
   2          //入口参数:
   3          //功能:倒计时器根据设定开始计时
   4          #include<reg51.h>
   5          #define uchar unsigned char
   6          
   7          sbit key_cycleless=P3^3;
   8          sbit key_pause=P3^5;
   9          sbit key_set=P1^5;
  10          extern uchar Time_store[5];
  11          extern uchar Counter;
  12          extern bit Second_flag;
  13          extern bit Run_mode;
  14          extern bit reset_flag;
  15          extern void reset();
  16          extern void step_motor();
  17          extern uchar Time[5];
  18          extern uchar Time_store[5];
  19          extern void pause();
  20          extern delay();
  21          extern time_set();
  22          void run()//////////////////////////////////////////
  23          {
  24   1       unsigned int c_times;
  25   1       uchar i;
  26   1       Run_mode=1;
  27   1       while(Run_mode==1)//进入运行模式
  28   1       {
  29   2      
  30   2        if(key_pause==0)
  31   2        {
  32   3         delay();
  33   3         if(key_pause==0)
  34   3         {
  35   4          while(key_pause==0)
  36   4          key_pause=1;
  37   4              pause();
  38   4         }
  39   3        }
  40   2      
  41   2       if(key_cycleless==0)//无限循环状态
  42   2       {
  43   3        while(1)
  44   3        {
  45   4        if(reset_flag==1)//退出循环
  46   4        {reset_flag=0;
  47   5         break;
  48   5         
  49   5        }
  50   4        if(Time[0]==0&&Time[1]==0&&Time[2]==0)
  51   4        {
  52   5         
  53   5         for(i=0;i<3;i++)
  54   5         Time[i]=Time_store[i];
  55   5         
C51 COMPILER V7.06   RUN                                                                   12/04/2007 01:27:31 PAGE 2   

  56   5         //Time[0]=0;Time[1]=0;Time[2]=7;//重装
  57   5         step_motor();//驱动步进机
  58   5      
  59   5        }
  60   4        if(key_pause==0)
  61   4        {
  62   5         delay();
  63   5         if(key_pause==0)
  64   5         {
  65   6          while(key_pause==0)
  66   6          key_pause=1;
  67   6              pause();
  68   6         }
  69   5        }
  70   4       /*
  71   4        if(key_set==0)
  72   4        {
  73   4         delay();
  74   4         if(key_set==0)
  75   4         {
  76   4          while(key_set==0)
  77   4          key_set=1;
  78   4          Counter=1;//@@@@@@@@@@@@@@@@@@@@@@@@@
  79   4          time_set();
  80   4              Run_mode=0;
  81   4          //reset();
  82   4          break;
  83   4         }
  84   4         
  85   4        }
  86   4       */
  87   4        }
  88   3       }
  89   2       
  90   2       else
  91   2       {
  92   3        if(Time[0]==0&&Time[1]==0&&Time[2]==0)
  93   3        {
  94   4         for(i=0;i<3;i++)
  95   4         Time[i]=Time_store[i];//初值
  96   4         c_times=Time[3]*10+Time[4];
  97   4         c_times--;
  98   4         Time[3]=c_times/10;
  99   4         Time[4]=c_times%10;
 100   4        /*
 101   4         Time[4]--;
 102   4         if(Time[4]==0)
 103   4         { 
 104   4          if(Time[3]!=0)
 105   4          {
 106   4           Time[3]--;
 107   4           Time[4]=9;
 108   4          }
 109   4          else
 110   4           Time[4]=0;
 111   4         }
 112   4       */
 113   4         step_motor();//驱动步进机
 114   4         if(Time[3]==0&&Time[4]==0)
 115   4         {
 116   5          reset();//循环完结,复位
 117   5          reset_flag=0;
C51 COMPILER V7.06   RUN                                                                   12/04/2007 01:27:31 PAGE 3   

 118   5         }
 119   4        }
 120   3       }
 121   2       if(reset_flag==1)
 122   2      reset_flag=0;
 123   2       }
 124   1      }
 125          
 126            
 127          
 128          


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