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

📄 download.lst

📁 51写的单片机控制松下伺服电机正反转程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   DOWNLOAD                                                              03/09/2009 17:03:12 PAGE 1   


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

line level    source

   1          //***************************************************************************
   2          //
   3          //  文 件 名: download.c
   4          //
   5          //  作    者: 张飞
   6          //
   7          //  目标对象: AT89S52
   8          //
   9          //  编 译 器: ISP
  10          //
  11          //  功能描述: 下料部单独控制程序
  12          //
  13          //  修改版本: 0.0
  14          //
  15          //  创建日期:2009-03-09
  16          //
  17          //***************************************************************************
  18          
  19          #include <reg52.h>
  20          #include<absacc.h>
  21          #include <intrins.h>
  22          #define uchar unsigned char
  23          #define uint  unsigned int
  24          
  25          //***************************************************************************
  26          
  27          sbit    DOWNLOAD_HS30806_Y_PULSE1               =       P1^0;//HS30806_Y电机脉冲-
  28          sbit    DOWNLOAD_HS30806_Y_DIR          =       P1^1;//HS30806_Y电机方向-
  29          sbit    DOWNLOAD_HS30806_X_PULSE1               =       P1^2;//HS30806_X电机脉冲-
  30          sbit    DOWNLOAD_HS30806_X_DIR          =       P1^3;//HS30806_X电机方向-
  31          sbit    SERVO_PULSE1            =       P3^0;//伺服电机脉冲-
  32          sbit    SERVO_DIR               =       P3^3;//伺服电机方向-
  33          sbit    SERVO_ON        =       P3^2;//伺服ON使能
  34          sbit    QIGANG=P3^1;
  35          sbit    SERVO_POINT=P2^0;
  36          sbit    Y_POINT=P2^1;
  37          sbit    S2 = P3^2;
  38          sbit    S3 = P3^3;
  39          sbit    S4 = P3^4;
  40          sbit    S5 = P3^5;
  41          
  42          //****************************************************************************
  43          
  44          //延时1us
  45          
  46          //****************************************************************************
  47          
  48           void mDelay(uchar DelayTime1)
  49          {       
  50   1                      uchar i=0;
  51   1                      for(;DelayTime1>0;DelayTime1--)
  52   1                      {       
  53   2                              for(i=0;i<0x16;i++)
  54   2                                      {
  55   3                                      
C51 COMPILER V7.50   DOWNLOAD                                                              03/09/2009 17:03:12 PAGE 2   

  56   3                                      }
  57   2                      }
  58   1      }
  59          //具体延时时间=DelayTime1*[10+3*m]+10个指令周期
  60          /* void mDelay(uint DelayTime1)
  61          {       
  62                  for(;DelayTime1>0;DelayTime1--)
  63                          {       
  64                                  
  65                          }
  66          }
  67          */
  68          void Delay()
  69          {
  70   1              
  71   1              ;
  72   1      ;
  73   1      
  74   1      }
  75          //***************************************************************************
  76          
  77          //下料部Y右转程序
  78          
  79          //***************************************************************************
  80          
  81          void RIGHT_MOVE_DOWNLOAD_HS30806_Y(uint Pluse1_num)
  82          {       
  83   1                      
  84   1              DOWNLOAD_HS30806_Y_DIR=1;
  85   1              DOWNLOAD_HS30806_Y_PULSE1       =       1;//脉冲负
  86   1              
  87   1              mDelay(20);             
  88   1              for(;Pluse1_num>0;Pluse1_num--)
  89   1              {
  90   2                      DOWNLOAD_HS30806_Y_PULSE1       =       ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
  91   2                      mDelay(20);     
  92   2                      DOWNLOAD_HS30806_Y_PULSE1       =       ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
  93   2                      mDelay(20);     
  94   2              }
  95   1      }   
  96          
  97          //***************************************************************************
  98          
  99          //下料部Y左转程序
 100          
 101          //***************************************************************************
 102          
 103          void LEFT_MOVE_DOWNLOAD_HS30806_Y(uint Pluse2_num)
 104          {       
 105   1                      DOWNLOAD_HS30806_Y_DIR=0;
 106   1                      DOWNLOAD_HS30806_Y_PULSE1       =       1;//脉冲负
 107   1                      mDelay(20);             
 108   1              for(;Pluse2_num>0;Pluse2_num--)
 109   1              {
 110   2                      DOWNLOAD_HS30806_Y_PULSE1       =       ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
 111   2                      mDelay(20);
 112   2                      DOWNLOAD_HS30806_Y_PULSE1       =       ~DOWNLOAD_HS30806_Y_PULSE1;//脉冲负
 113   2                      mDelay(20);     
 114   2              }
 115   1      }   
 116          
 117          //***************************************************************************
C51 COMPILER V7.50   DOWNLOAD                                                              03/09/2009 17:03:12 PAGE 3   

 118          
 119          //下料部Y停止程序
 120          
 121          //***************************************************************************
 122          
 123          void DOWNLOAD_HS30806_Y_Stop()
 124          {
 125   1                      DOWNLOAD_HS30806_Y_DIR=0;
 126   1                      DOWNLOAD_HS30806_Y_PULSE1       =       1;//脉冲负
 127   1                      mDelay(20);             
 128   1      }
 129          
 130          //***************************************************************************
 131          
 132          //下料部X右转程序
 133          
 134          //***************************************************************************
 135          
 136          void RIGHT_MOVE_DOWNLOAD_HS30806_X(uint Pluse1_num)
 137          {       
 138   1                      
 139   1              DOWNLOAD_HS30806_X_DIR=1;
 140   1              DOWNLOAD_HS30806_X_PULSE1       =       1;//脉冲负
 141   1              
 142   1              mDelay(20);             
 143   1              for(;Pluse1_num>0;Pluse1_num--)
 144   1              {
 145   2                      DOWNLOAD_HS30806_X_PULSE1       =       ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
 146   2                      mDelay(20);     
 147   2                      DOWNLOAD_HS30806_X_PULSE1       =       ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
 148   2                      mDelay(20);     
 149   2              }
 150   1      }   
 151          
 152          //***************************************************************************
 153          
 154          //下料部X左转程序
 155          
 156          //***************************************************************************
 157          
 158          void LEFT_MOVE_DOWNLOAD_HS30806_X(uint Pluse2_num)
 159          {       
 160   1                      DOWNLOAD_HS30806_X_DIR=0;
 161   1                      DOWNLOAD_HS30806_X_PULSE1       =       1;//脉冲负
 162   1                      mDelay(20);             
 163   1              for(;Pluse2_num>0;Pluse2_num--)
 164   1              {
 165   2                      DOWNLOAD_HS30806_X_PULSE1       =       ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
 166   2                      mDelay(20);
 167   2                      DOWNLOAD_HS30806_X_PULSE1       =       ~DOWNLOAD_HS30806_X_PULSE1;//脉冲负
 168   2                      mDelay(20);     
 169   2              }
 170   1      }   
 171          //***************************************************************************
 172          
 173          //下料部X停止程序
 174          
 175          //***************************************************************************
 176          
 177          void DOWNLOAD_HS30806_X_Stop()
 178          {
 179   1                      DOWNLOAD_HS30806_X_DIR=0;
C51 COMPILER V7.50   DOWNLOAD                                                              03/09/2009 17:03:12 PAGE 4   

 180   1                      DOWNLOAD_HS30806_X_PULSE1       =       1;//脉冲负
 181   1                      mDelay(20);             
 182   1      }
 183          
 184          //***************************************************************************
 185          
 186          //伺服电机右转程序
 187          
 188          //***************************************************************************
 189          
 190          void RIGHT_MOVE_SERVO(uint Pluse1_num)
 191          {       
 192   1              //SERVO_ON      =       0;
 193   1              //mDelay(100);
 194   1              SERVO_DIR       =       1;
 195   1              mDelay(3);
 196   1              SERVO_PULSE1    =       1;//脉冲负
 197   1              
 198   1                              
 199   1              for(;Pluse1_num>0;Pluse1_num--)
 200   1              {
 201   2                      SERVO_PULSE1    =       ~SERVO_PULSE1;//脉冲负
 202   2                       mDelay(3);
 203   2              //      mDelay(2);      
 204   2                      SERVO_PULSE1    =       ~SERVO_PULSE1;//脉冲负

⌨️ 快捷键说明

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