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

📄 s_ motor-key.lst

📁 proteus仿真 51单片机控制步进电机正反转
💻 LST
字号:
C51 COMPILER V7.06   S__MOTOR_KEY                                                          08/17/2008 12:28:08 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE S__MOTOR_KEY
OBJECT MODULE PLACED IN S_ MOTOR-key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE S_ MOTOR-key.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          #include <reg51.h>       //51芯片管脚定义头文件
   3          //#include <intrins.h>   //内部包含延时函数 _nop_();
   4          
   5          #define uchar unsigned char
   6          #define uint  unsigned int
   7          
   8          uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
   9          uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
  10          
  11          sbit  K1   = P1^4;       //正转
  12          sbit  K2   = P1^5;       //反转
  13          sbit  K3   = P1^6;       
  14          sbit  K4   = P1^7;      //停止
  15          sbit  BEEP = P3^7;       //蜂鸣器
  16                
  17          /********************************************************/
  18          /*                                                  
  19          /* 延时t毫秒 
  20          /* 11.0592MHz时钟,延时约1ms                                     
  21          /*                                                      
  22          /********************************************************/
  23          void delay(uint t)
  24          {                           
  25   1         uint k;
  26   1         while(t--)
  27   1         {
  28   2           for(k=0; k<125; k++)
  29   2           { }
  30   2         }
  31   1      }
  32          
  33          /**********************************************************/
  34          void delayB(uchar x)    //x*0.14MS
  35           {
  36   1         uchar i;
  37   1         while(x--)
  38   1         {
  39   2           for (i=0; i<13; i++)
  40   2           { }
  41   2         }
  42   1       }
  43          
  44          /**********************************************************/
  45          void beep()
  46           {
  47   1         uchar i;
  48   1         for (i=0;i<100;i++)
  49   1          { 
  50   2           delayB(4);
  51   2           BEEP=!BEEP;                 //BEEP取反
  52   2          } 
  53   1           BEEP=1;                    //关闭蜂鸣器
  54   1       }
  55          
C51 COMPILER V7.06   S__MOTOR_KEY                                                          08/17/2008 12:28:08 PAGE 2   

  56          /********************************************************/
  57          /*
  58          /*步进电机正转
  59          /*
  60          /********************************************************/
  61          void  motor_ffw()
  62           { 
  63   1         uchar i;
  64   1         uint  j;
  65   1      /*   for (j=0; j<12; j++)         //转1*n圈 
  66   1          { 
  67   1                  if(K4==0)
  68   1              {break;}                //退出此循环程序
  69   1            for (i=0; i<8; i++)       //一个周期转30度
  70   1              {
  71   1                P1 = FFW[i];          //取数据
  72   1                delay(100);            //调节转速
  73   1              }
  74   1          }*/
  75   1              while(K4)
  76   1              {
  77   2            for (i=0; i<8; i++)       //一个周期转30度
  78   2              {
  79   3                P1 = FFW[i];          //取数据
  80   3                delay(100);            //调节转速
  81   3              }
  82   2              }
  83   1       }
*** WARNING C280 IN LINE 64 OF S_ MOTOR-KEY.C: 'j': unreferenced local variable
  84          
  85          /********************************************************/
  86          /*
  87          /*步进电机反转
  88          /*
  89          /********************************************************/
  90          void  motor_rev()
  91          {
  92   1           uchar i;
  93   1               uint  j;
  94   1      /*       for (j=0; j<12; j++)       //转1×n圈
  95   1            {
  96   1                  if(K4==0)
  97   1               {break;}               //退出此循环程序
  98   1              for (i=0; i<8; i++)     //一个周期转30度
  99   1              {
 100   1                P1 = REV[i];          //取数据
 101   1                delay(100);            //调节转速
 102   1              }
 103   1            }*/
 104   1              while(K4)
 105   1              {
 106   2            for (i=0; i<8; i++)       //一个周期转30度
 107   2              {
 108   3                P1 = REV[i];          //取数据
 109   3                delay(100);            //调节转速
 110   3              }
 111   2              }     
 112   1       }
*** WARNING C280 IN LINE 93 OF S_ MOTOR-KEY.C: 'j': unreferenced local variable
 113          
 114          /********************************************************
 115          *                                                       
C51 COMPILER V7.06   S__MOTOR_KEY                                                          08/17/2008 12:28:08 PAGE 3   

 116          *  主程序                                               
 117          *                                                      
 118          *********************************************************/
 119          
 120          main()
 121           { 
 122   1            uchar r,N=5;             //N 步进电机运转圈数
 123   1         while(1)
 124   1          {  
 125   2      /*      if(K1==0)
 126   2                {
 127   2              beep();
 128   2                      for(r=0;r<1;r++)
 129   2               { 
 130   2                         motor_ffw();       //电机正转
 131   2                         if(K4==0)
 132   2                 {beep();break;}    //退出此循环程序
 133   2                   }
 134   2            }*/
 135   2                while(K1==0)
 136   2                {
 137   3                 motor_ffw();
 138   3                }
 139   2      
 140   2                while(K2==0)
 141   2                {
 142   3                 motor_rev();
 143   3                }
 144   2      /*        else if(K2==0)
 145   2             { 
 146   2                  beep();
 147   2                      for(r=0;r<N;r++)
 148   2               {
 149   2                     motor_rev();       //电机反转
 150   2                         if(K4==0)
 151   2                 {beep();break;}    //退出此循环程序
 152   2                       }
 153   2             }
 154   2                else  
 155   2                      P1 = 0xf0;*/
 156   2          }
 157   1       }
*** WARNING C280 IN LINE 122 OF S_ MOTOR-KEY.C: 'r': unreferenced local variable
 158          
 159          /********************************************************/                 


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    133    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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