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

📄 setpping-driver.lst

📁 这是9个步进电机控制程序,每个都编译通过,并在使用中,可以共同商讨.联系:guanggu346 @163.com
💻 LST
字号:
C51 COMPILER V7.50   SETPPING_DRIVER                                                       04/01/2007 19:32:22 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SETPPING_DRIVER
OBJECT MODULE PLACED IN setpping-driver.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE setpping-driver.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          //功能:方向控制
   2          //加速,匀速,减速,
   3          //定位
   4          //调速
   5          #include<reg51.h>
   6          #define AIMPOSITION  200
   7          sbit DIR   = P0^0; //Z位移电机方向控制,1-up,0-down
   8          sbit PULSE = P0^1; //Z位移电机脉冲输入
   9          unsigned char aimposition;//瞄准高度,隐含参数,不可见
  10          sbit ACKNOWLEDGE=P3^7;    //应答信号输入
  11          sbit DETECT=P1^2; //针头到位检测,低电平有效
  12          void Alarm(x);
  13          void DelayChar(unsigned char x);
  14          void StepingMotor(unsigned char maxv)   //dir 方向;maxv 最高速度
  15          {
  16   1              unsigned char j,step;
  17   1              unsigned int i;
  18   1              unsigned char v_down,v_up;
  19   1      
  20   1              v_down = maxv;
  21   1              v_up   = maxv;
  22   1      
  23   1      
  24   1              //针头下降-----------------------------------
  25   1              DIR = 0;//方向设置
  26   1              //-------------------------------------------
  27   1              for(i=6;i>0;i--) //加速
  28   1              {
  29   2                      PULSE = 0;      DelayChar(v_down+i*20);
  30   2                      PULSE = 1;      DelayChar(v_down+i*20);
  31   2              }
  32   1              for(i=0;i<AIMPOSITION+aimposition-12;i++)
  33   1              {
  34   2                      PULSE = 0;DelayChar(v_down);
  35   2                      PULSE = 1;DelayChar(v_down);
  36   2              }
  37   1              for(i=0;i<6;i++) //减速
  38   1              {
  39   2                      PULSE = 0;      DelayChar(v_down+i*20);
  40   2                      PULSE = 1;      DelayChar(v_down+i*20);
  41   2              }
  42   1              //检查过片是否完成---------------------------
  43   1              if(j<200) //如果没有超时
  44   1              { 
  45   2          ACKNOWLEDGE = 1;                            
  46   2              while(!ACKNOWLEDGE) //则等待过片完成
  47   2              
  48   2                      ACKNOWLEDGE = 1;                        
  49   2              }
  50   1              else
  51   1                      Alarm(1); //否则,报警
  52   1              //检测支架-------------------------------------
  53   1              step = 60; //默认检测步数(高度)
  54   1              DETECT = 1;                             
  55   1              while(DETECT&&step)
C51 COMPILER V7.50   SETPPING_DRIVER                                                       04/01/2007 19:32:22 PAGE 2   

  56   1              {
  57   2                      PULSE = 0;      DelayChar(60);
  58   2                      PULSE = 1;      DelayChar(60);
  59   2                      step--;
  60   2                      DETECT = 1;
  61   2          }
  62   1       }


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