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

📄 delay_51.lst

📁 主要有基于51的I2c读写24c64的测试程序
💻 LST
字号:
C51 COMPILER V7.06   DELAY_51                                                              11/10/2008 22:12:04 PAGE 1   


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

stmt level    source

   1          
   2          #define         _DELAY_51_C_
   3          #include        "DELAY_51.H" //用户自己定义的头文件
   4          
   5          //==========================向以前版本兼容部分函数==============================
   6          /*
   7          ********************************************************************
   8          ** 函数名:nus延时函数
   9          ** 注意  :注意延时为 0 < n < 256, 
  10          ** 说明  :此版本主要是对前面的驱动兼容, 实际上可调度约为2us, 不做多
  11          **         说明,以后尽量用新版本delay_2us(uchar n)代替。
  12          ********************************************************************
  13          */
  14          void delay_nus( uchar n )
  15          {
  16   1         while( --n )
  17   1         {;}
  18   1      }
  19          
  20          /*
  21          ********************************************************************
  22          ** 函数名:nus延时函数
  23          ** 注意  :注意延时为 0 < n < 256, 
  24          ** 说明  :此版本主要是对前面的驱动兼容, 实际上可调度约为2us, 不做多
  25          **         说明,以后尽量用新版本delay_50us(uint n)代替。
  26          ********************************************************************
  27          */
  28          void delay_nms( uchar n )
  29          {
  30   1              uchar i;
  31   1              uchar j;
  32   1              uchar t;
  33   1              for( t = 0; t < n; t++ ) 
  34   1              {
  35   2                      for( j = 0; j < 15; j ++ )
  36   2                      {
  37   3                              for( i = 0; i < 21; i++ )
  38   3                                      {;}
  39   3                      }       
  40   2              }
  41   1      }
  42          //==============================================================================
  43          //==============================================================================
  44          /*
  45          ********************************************************************
  46          ** 函数名  :2us延时函数
  47          ** 注意项  :注意延时为 0 < t < 256
  48          ** 例子提示:调用delay_2us(1),得到1ms延时
  49          ** 说明    :
  50          
  51          ** delay2(0):延时518us 518-2*256=6
  52          ** delay2(1):延时7us
  53          ** delay2(10):延时25us 25-20=5
  54          ** delay2(20):延时45us 45-40=5
  55          ** delay2(100):延时205us 205-200=5
C51 COMPILER V7.06   DELAY_51                                                              11/10/2008 22:12:04 PAGE 2   

  56          ** delay2(200):延时405us 405-400=5
  57          
  58          ** 可调度为2us,而最大误差为6us
  59          ********************************************************************
  60          */
  61          /*
  62          void delay_2us( uchar t )
  63          {
  64             while( --t )
  65             {;}
  66          }
  67          */
  68          
  69          /*------------------------------------------------------------------
  70          函数全称:50us 延时
  71          注意事项:AT89系列对应12M晶振
  72          例子提示:调用delay_50us(20),得到1ms延时
  73          输 入: 
  74          返 回:无
  75          
  76          delay_50us(1):延时63us 63-50=13
  77          delay_50us(10):延时513us 503-500=13 
  78          delay_50us(100):延时5013us 5013-5000=13
  79          delay_50us(1000):延时50022us 50022-50000=22
  80          
  81          误差最大在22us, 很准确了。
  82          
  83          ------------------------------------------------------------------*/
  84          /*
  85          void delay_50us(uint t)
  86          {
  87                  uchar j; 
  88                  for( ; t > 0; t-- ) 
  89                          for( j = 19; j > 0; j-- ) 
  90                          {;}
  91          }
  92          */
  93          /*
  94          ********************************************************************
  95          ** 函数全称:50ms 延时
  96          ** 注意事项:基于1MIPS,AT89系列对应12M晶振
  97          ** 例子提示:调用delay_50ms(20),得到1s延时
  98          ** 全局变量:无
  99          ** 返回: 无
 100          ** 说明    : 参考网络
 101          
 102          ** delay_50ms(1):延时50 010 10us
 103          ** delay_50ms(10):延时499 983 17us
 104          ** delay_50ms(100):延时4 999 713 287us
 105          ** delay_50ms(1000):延时4 997 022 2.978ms
 106          
 107          ** 延时50s,误差仅仅2.978ms,可以接受
 108          ********************************************************************
 109          */
 110          /*
 111          void delay_50ms( uint t )
 112          {
 113                  uint j; 
 114                  for( ; t > 0; t-- ) 
 115                          for( j = 6245; j > 0; j-- ) 
 116                          {;}
 117          }
C51 COMPILER V7.06   DELAY_51                                                              11/10/2008 22:12:04 PAGE 3   

 118          */
 119          
 120          
 121          
 122                  


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