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

📄 delay.lst

📁 用单片机播放音乐并用LCD显示的源程序
💻 LST
字号:
C51 COMPILER V7.50   DELAY                                                                 07/26/2005 09:03:09 PAGE 1   


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

line level    source

   1          /***************************************/
   2          /*       CopyRight 2005 LiuYong                 *
   3          /****************************************
   4                  文件名称:Delay.C
   5                  文件版本:V1.0
   6                  创建人员:LiuYong
   7                  创建日期:2005.5.27
   8                  功能描述:常用的延时程序(非定时器)
   9                  相关硬件:at89s52兼容单片机,晶体11.0592M
  10                  修改记录:
  11          ***************************************/
  12          #include <intrins.h>
  13          #define uchar     unsigned char
  14          /*************************************************
  15          *       函数名称:void Delay10us(uchar ucCnt)
  16          *       创建日期:2005.5.31
  17          *       功能描述:精确延时10微秒。延时时间为:delay time=(9*ucCnt+4)*12/11.0592
  18          *       入口参数:ucCnt,10微秒的倍数
  19          *       返回值:  无    
  20          *       修改日志:
  21          *       对应的汇编程序为
  22                  delay1:
  23                  C:0x0026    00       NOP      
  24                  C:0x0027    00       NOP      
  25                  C:0x0028    00       NOP      
  26                  C:0x0029    00       NOP      
  27                  C:0x002A    00       NOP      
  28                  C:0x002B    00       NOP      
  29                  C:0x002C    00       NOP      
  30                  C:0x002D    DFF7     DJNZ     R7,delay1(C:0026)
  31          *************************************************
  32          void RigDelay10us(uchar ucCnt)
  33          {
  34                  do
  35                  {
  36                            _nop_();
  37                            _nop_();
  38                            _nop_();
  39                            _nop_();
  40                            _nop_();
  41                            _nop_();
  42                            _nop_();
  43                  }while(--ucCnt);
  44          }
  45          /*************************************************
  46          *       函数名称:void Delay840us(void)
  47          *       创建日期:2005.6.8
  48          *       功能描述:精确延时844us
  49          *       入口参数:无
  50          *       返回值:        无   
  51          *       修改日志:
  52          
  53          *       对应的汇编程序为
  54                  C:0x000F    7F02     MOV      R7,#0x02
  55                  C:0x0011    7EC0     MOV      R6,#0xC0
C51 COMPILER V7.50   DELAY                                                                 07/26/2005 09:03:09 PAGE 2   

  56                  C:0x0013    DEFE     DJNZ     R6,C:0013
  57                  C:0x0015    DFFA     DJNZ     R7,C:0011
  58                  C:0x0017    22       RET      
  59          *************************************************
  60          void Delay840us(void)
  61          {
  62                  uchar i,j;
  63                  for(i=2;i>0;i--)
  64                  {
  65                          for(j=192;j>0;j--)
  66                          {
  67                                  ;
  68                          }
  69                  }
  70          }
  71          /*************************************************
  72          *       函数名称:void Delay1000us(void)
  73          *       创建日期:2005.6.8
  74          *       功能描述:精确延时1000us
  75          *       入口参数:无
  76          *       返回值:        无   
  77          *       修改日志:
  78          
  79          *       对应的汇编程序为
  80                  C:0x000F    7F02     MOV      R7,#0x02
  81                  C:0x0011    7EC0     MOV      R6,#0xE4
  82                  C:0x0013    DEFE     DJNZ     R6,C:0013
  83                  C:0x0015    DFFA     DJNZ     R7,C:0011
  84                  C:0x0017    22       RET      
  85          *************************************************/
  86          void Delay1000us(void)
  87          {
  88   1              uchar i,j;
  89   1              for(i=2;i>0;i--)
  90   1              {
  91   2                      for(j=228;j>0;j--)
  92   2                      {
  93   3                              ;
  94   3                      }
  95   2              }
  96   1      }
  97          /*************************************************
  98          *       函数名称:void Delay4700us(void)
  99          *       创建日期:2005.6.8
 100          *       功能描述:精确延时4681us
 101          *       入口参数:无
 102          *       返回值:        无   
 103          *       修改日志:
 104          
 105          *       对应的汇编程序为
 106                  C:0x000F    7F02     MOV      R7,#0x0A
 107                  C:0x0011    7EC0     MOV      R6,#0xD6
 108                  C:0x0013    DEFE     DJNZ     R6,C:0013
 109                  C:0x0015    DFFA     DJNZ     R7,C:0011
 110                  C:0x0017    22       RET      
 111          *************************************************
 112          void Delay4700us(void)
 113          {
 114                  uchar i,j;
 115                  for(i=10;i>0;i--)
 116                  {
 117                          for(j=214;j>0;j--)
C51 COMPILER V7.50   DELAY                                                                 07/26/2005 09:03:09 PAGE 3   

 118                          {
 119                                  ;
 120                          }
 121                  }
 122          }
 123          /*************************************************
 124          *       函数名称:void Delay(void)
 125          *       创建日期:2005.6.8
 126          *       功能描述:延时1s
 127          *       入口参数:无
 128          *       返回值:  无   
 129          *       修改日志:
 130          *************************************************/
 131          void Delay(void)
 132          {
 133   1              uchar i,j;
 134   1              for(i=5;i>0;i--)
 135   1              {
 136   2                      for(j=200;j>0;j--)
 137   2                      {
 138   3                              Delay1000us();
 139   3                      }
 140   2              }
 141   1      }
 142          /*************************************************
 143          *       函数名称:void Delay(void)
 144          *       创建日期:2005.6.8
 145          *       功能描述:毫秒延时
 146          *       入口参数:ucNo:要延时的毫秒数
 147          *       返回值:  无   
 148          *       修改日志:
 149          *************************************************
 150          void DelayMs(uchar ucNo)
 151          {
 152                  uchar i;
 153                  for(i=ucNo;i>0;i--)
 154                  {
 155                          Delay1000us();
 156                  }
 157          }        */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     21    ----
   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 + -