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

📄 ads8364.lst

📁 这是一个成熟的用于驱动步进马达的程序,我们用于调试螺钉的.
💻 LST
字号:
C51 COMPILER V8.15   ADS8364                                                               10/29/2008 21:06:48 PAGE 1   


C51 COMPILER V8.15, COMPILATION OF MODULE ADS8364
OBJECT MODULE PLACED IN ADS8364.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADS8364.c COMPACT BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include "TypeDefines.h"
   4          #include "delay.h"
   5          #include "ADS8364.h"
   6          
   7          
   8          
   9          void clock(uchar num)
  10          {
  11   1          uchar i;
  12   1          for(i=0;i<num;i++)
  13   1          {
  14   2              CLK=0;_nop_();
  15   2              CLK=1;_nop_();
  16   2          }
  17   1      }
  18          
  19          
  20          void ADS8364_read(uchar ad_num,uchar num)
  21          {
  22   1          uchar i,j,tmp8;
  23   1          uint tmp16=0;
  24   1          ulong tmp32[4]={0};
  25   1              P1=0xff;
  26   1          for(j=0;j<num;j++)
  27   1          {
  28   2              ADS8364_init();
  29   2              ADS8364_start();
  30   2              clock(19);
  31   2               
  32   2                      if(ad_num==1)
  33   2                      {
  34   3                      AD1_CS_LOW;
  35   3                      }
  36   2                      else
  37   2                      {
  38   3                              AD2_CS_LOW;
  39   3                      }
  40   2                
  41   2                      for(i=0;i<2;i++)
  42   2                      {
  43   3                              RD_AD=0; _nop_();
  44   3                              RD_AD=1; _nop_();
  45   3                              RD_AD=0; _nop_();
  46   3                              RD_AD=1; _nop_();
  47   3                              RD_AD=0; _nop_();
  48   3                              RD_AD=1; _nop_();       
  49   3                      }
  50   2              for(i=0;i<4;i++)
  51   2              {
  52   3                  RD_AD=0; _nop_();
  53   3                  tmp8=P1; _nop_();
  54   3                  RD_AD=1; _nop_();
  55   3                  RD_AD=0; _nop_();
C51 COMPILER V8.15   ADS8364                                                               10/29/2008 21:06:48 PAGE 2   

  56   3                  tmp8=P1; _nop_();
  57   3                  RD_AD=1; _nop_();
  58   3                  RD_AD=0; _nop_();
  59   3                  tmp16=(uint)P1;
  60   3                  RD_AD=1;_nop_();
  61   3                  tmp16<<=8;
  62   3                  tmp16+=tmp8;
  63   3                  if(tmp16>=0x8000)
  64   3                  {
  65   4                      tmp16&=0x7FFF;
  66   4                  }
  67   3                  else
  68   3                  {
  69   4                      tmp16|=0x8000;
  70   4                  }
  71   3                  tmp32[i]+=tmp16;
  72   3              }
  73   2              AD1_CS_UP;
  74   2      
  75   2          }
  76   1          for(i=0;i<4;i++)
  77   1          {
  78   2              tmp32[i]<<=7;
  79   2                      if(ad_num==1)
  80   2                      {
  81   3                      Data1[i]=(uint)(tmp32[i]/para1[i]);
  82   3                              Data1[i]-=origin1[i];
  83   3                      }
  84   2                      else
  85   2                      {
  86   3                              Data2[i]=(uint)(tmp32[i]/para2[i]);
  87   3                              Data2[i]-=origin2[i];
  88   3                      }
  89   2          }
  90   1      }
  91          
  92          
  93          void ADS8364_start()
  94          {
  95   1          CLK=0;      _nop_();
  96   1          HOLD=0;     _nop_();
  97   1          CLK=1;      _nop_();
  98   1          HOLD=1; _nop_();                                
  99   1      }
 100          
 101          void ADS8364_init()
 102          {
 103   1          AD1_CS_UP;    _nop_();
 104   1          RD_AD=1; _nop_();
 105   1          CLK=1;        _nop_();
 106   1          HOLD=1;  _nop_();
 107   1          RESET=1; _nop_();
 108   1          _nop_();  _nop_();
 109   1          RESET=0; _nop_();
 110   1          _nop_(); _nop_();
 111   1          RESET=1;  _nop_();    
 112   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    582    ----
   CONSTANT SIZE    =     16    ----
C51 COMPILER V8.15   ADS8364                                                               10/29/2008 21:06:48 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----      22
   DATA SIZE        =   ----    ----
   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 + -