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

📄 set time.lst

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


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

stmt level    source

   1          //文件名:set time.c
   2          //入口参数:
   3          //功能:调节时间初值
   4          #include<reg51.h>
   5          #define uchar unsigned char 
   6          
   7          extern bit reset_mode;
   8          extern uchar Time[5];
   9          extern bit Time_set_mode;
  10          uchar Counter=0;//调时位选择
  11          extern void delay();
  12          sbit key_set=P1^5;//定义键盘
  13          sbit key_add=P1^6;
  14          sbit key_esc=P1^7;
  15          sbit key_cycleless=P3^3;
  16          
  17          uchar Time_store[5]={0,0,3,0,1};
  18          bit Glint_enable_flag;//进入调时模式,允许闪烁
  19          //bit run_mode;//运行模式信号量
  20          
  21          void set_choice()///////////////////////////////////////////
  22          {
  23   1       Counter++;
  24   1      
  25   1       if(key_cycleless==0)//如果是无限循环状态,则选择位只有三位
  26   1       {
  27   2        if(Counter>3)
  28   2        Counter=0;
  29   2       }
  30   1       else
  31   1       {
  32   2        if(Counter>5)//调时位溢出
  33   2        Counter=0;
  34   2       }
  35   1      }
  36          
  37          
  38          void set_add()/////////////////////////////////////////////
  39          {
  40   1       switch(Counter)//Counter进入时从1开始
  41   1       {
  42   2        case 1: Time[0]++;break;
  43   2        case 2: Time[1]++;break;
  44   2        case 3: Time[2]++;break;
  45   2        case 4: Time[3]++;break;
  46   2        case 5: Time[4]++;break;
  47   2       }
  48   1       if(Time[(Counter-1)]>9)//调时溢出
  49   1       Time[Counter-1]=0;
  50   1       if(key_cycleless==0)//如果是无限循环模式,则显示"--"
  51   1       {
  52   2        Time[3]=10;
  53   2        Time[4]=10;
  54   2       }
  55   1      }
C51 COMPILER V7.06   SET_TIME                                                              12/04/2007 01:27:32 PAGE 2   

  56          
  57          
  58          void time_set()/////////////////////////////////////////////
  59          {
  60   1       uchar i;
  61   1      
  62   1       reset_mode=0;
  63   1       TR0=0;
  64   1       Time_set_mode=1;
  65   1       
  66   1       while(Time_set_mode==1)
  67   1       {
  68   2        Glint_enable_flag=1;//调时开始,执行闪烁
  69   2        if(key_set==0)
  70   2        {
  71   3         delay();
  72   3         if(key_set==0)
  73   3         {
  74   4          while(key_set==0)
  75   4          key_set=1;
  76   4          set_choice();//选择位
  77   4         }
  78   3        }
  79   2        if(key_add==0)
  80   2        {
  81   3         delay();
  82   3         if(key_add==0)
  83   3         {
  84   4              while(key_add==0)
  85   4          key_add=1;
  86   4      
  87   4          set_add();//加1
  88   4         }
  89   3        }
  90   2        if(key_esc==0)//退出调时
  91   2        {
  92   3         delay();
  93   3         if(key_esc==0)
  94   3         {
  95   4          while(key_esc==0)
  96   4          key_esc=1;
  97   4          Time_set_mode=0;//结束调时模式
  98   4          Glint_enable_flag=0;//不再闪烁
  99   4          Counter=0;
 100   4          
 101   4              for(i=0;i<5;i++)
 102   4          Time_store[i]=Time[i];
 103   4              
 104   4         }
 105   3        }
 106   2      
 107   2       }
 108   1      }
 109              


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    185    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       1
C51 COMPILER V7.06   SET_TIME                                                              12/04/2007 01:27:32 PAGE 3   

   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 + -