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

📄 a.lst

📁 步进电动机是纯粹的数字控制电动机
💻 LST
字号:
C51 COMPILER V8.05a   A                                                                    04/09/2008 19:51:14 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE A
OBJECT MODULE PLACED IN A.OBJ
COMPILER INVOKED BY: D:\program\Keil\C51\BIN\C51.EXE A.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /* ***************** 写程序者 *********************
   2          
   3             姜帅
   4             QQ:18861678
   5             Email:jish0709@163.com
   6             手机:13459307091
   7             欢迎和我联系,沟通交流
   8          ***************************************************/
   9          
  10          # include <at89x51.h>
  11          
  12          unsigned char codes[2][8]={{0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03},  //9,18,36,45,54,63,72,81度 顺时针
  13                                                     {0x0b,0x09,0x0d,0x0c,0x0e,0x06,0x07,0x03}};  //9,18,36,45,54,63,72,81度 逆时针
  14          unsigned char counts,flag,t;
  15                          //         度数,正/反转,速度控制
  16          delay(unsigned char x)                  //延时
  17          {
  18   1              unsigned char i;
  19   1              for( i=0;i<x;i++);
  20   1      }
  21          main()
  22          {
  23   1              TMOD=0x01;                                 //定时器初始化
  24   1              TH0=(65536-5000)/256;
  25   1              TL0=(65536-5000)%256;
  26   1              EA=1;
  27   1              ET0=1;
  28   1              TR0=1;
  29   1              while(1)
  30   1              {
  31   2                      if(P0_0==0)                       //判断正转按键是否按下
  32   2                      {
  33   3                              delay(5);
  34   3                              if(P0_0==0)     flag=0;   //判断是否真正按下
  35   3                      }
  36   2                      if(P0_1==0)                     //判断反转按键是否按下
  37   2                      {
  38   3                              delay(5);
  39   3                              if(P0_1==0) flag=1;             //判断是否真正按下
  40   3                      }
  41   2      
  42   2              }
  43   1      }
  44          
  45          void motor() interrupt 1
  46          {
  47   1              t++;                                                     //控制速度
  48   1              if(t==8)
  49   1              {
  50   2                      t=0;
  51   2                      P1=codes[flag][counts];          //转动
  52   2                      counts++;
  53   2                      if (counts==8)  counts=0;        //角度重置
  54   2              }
  55   1              TF0=0;                                                   //重新计时
C51 COMPILER V8.05a   A                                                                    04/09/2008 19:51:14 PAGE 2   

  56   1              TH0=(65536-5000)/256;
  57   1              TL0=(65536-5000)%256;
  58   1      }


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