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

📄 delay.lst

📁 ZLG522S的功能、硬件接口和ZLG500S相同
💻 LST
字号:
C51 COMPILER V8.02   DELAY                                                                 03/16/2009 15:23:02 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE DELAY
OBJECT MODULE PLACED IN delay.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE delay.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define delay_GLOBALS
   2          #include "config.h"
   3          #include "delay.h"
   4          #include "zlg500S_comm.h"
   5          #include "zlg500s.h"
   6          
   7          
   8          /*****************************************************************************
   9                                                                                     
  10           FUNCTION:     定时器2定时中断设置                                                  
  11                                                                                     
  12           IN:         resolution  分辨率
  13                             
  14           OUT:            -                                                           
  15                                                                                     
  16           COMMENT:        
  17                                  if resolution=RCAP2_50us,then 定时器每50us中断一次   
  18                      if resolution=RCAP2_5ms,then 定时器每5ms中断一次 
  19                          if resolution=RCAP2_10ms,then 定时器每10ms中断一次
  20                                                                                     
  21          *****************************************************************************/
  22          #if T2int_timeout_en
  23          void T2_timeout_init(INT16U resolution)
  24          {
  25   1              ET2 = 0;        // Disable Timer2 interrupt
  26   1              TR2 = 0;
  27   1      
  28   1              RCAP2LH = resolution;
  29   1              T2LH    = resolution;
  30   1              
  31   1              T2CON = 0x04;   // 16-bit auto-reload, clear TF2, start timer
  32   1              ET2 = 1;        // Enable Timer2 interrupt
  33   1      }
  34          
  35          /*****************************************************************************
  36                                                                                     
  37           FUNCTION:     stop_timeout                                                   
  38                                                                                     
  39           IN:            -                                                        
  40           OUT:           -                                                           
  41                                                                                     
  42           COMMENT:       Stop Timer2 and clear timeout state                       
  43                                                                                     
  44          *****************************************************************************/
  45          //void stop_timeout(void)
  46          //{
  47          //  ET2 = 0;    // disable Timer2 interrupt
  48          //  T2CON = 0x00;       // 16-bit auto-reload, clear TF2, stop timer
  49          //}
  50          
  51          
  52          /*****************************************************************************
  53                            Interrupt Handler TIMER2
  54          *****************************************************************************/
  55          
C51 COMPILER V8.02   DELAY                                                                 03/16/2009 15:23:02 PAGE 2   

  56          void T2_server(void) interrupt 5 using 2    //Timer2 interrupt
  57          {
  58   1              if(WaitRespDly)
  59   1                      WaitRespDly--;
  60   1              
  61   1              TF2 = 0;
  62   1      }
  63          #endif
  64          
  65          #pragma noaregs
  66          /***********************************************************************
  67          
  68          ***********************************************************************/
  69          #if delay_T0_en
              void delay_T0(INT16U _T0HL)
              {
                      TMOD &= 0xf0;
                      TMOD |= 0x01;
                      ET0 = FALSE;
                  TH0 = _T0HL>>8;
                      TL0 = _T0HL;
                      TR0 = TRUE;
                      TF0 = FALSE;
                      while(!TF0);
                      TR0 = FALSE;
              }
              #endif
  83          
  84          /****************************************************************************
  85          *                                                                           *
  86          * Function:     delay_50us                                                  *
  87          *                                                                           *
  88          * Input:        _50us                                                       *
  89          * Output:       -                                                           *
  90          *                                                                           *
  91          * Description:                                                              *
  92          *                                                                           *
  93          * Time delay with a resolution of 50 us.                                    *
  94          *                                                                           *
  95          ****************************************************************************/
  96          #if delay_50us_en
              void    delay_50us (INT8U _50us)
              {
              
                RCAP2LH = RCAP2_50us;
                T2LH    = RCAP2_50us;
                ET2 = 0;      // Disable timer2 interrupt
                T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
                
                while (_50us--)
                {
                      while (!TF2);
                      TF2 = FALSE;
                }
              
                TR2 = FALSE;
              
              }
              #endif
 115          
 116          /****************************************************************************
 117          *                                                                           *
C51 COMPILER V8.02   DELAY                                                                 03/16/2009 15:23:02 PAGE 3   

 118          * Function:     delay_1ms                                                   *
 119          *                                                                           *
 120          * Input:        _1ms                                                        *
 121          * Output:       -                                                           *
 122          *                                                                           *
 123          * Description:                                                              *
 124          *                                                                           *
 125          * Time delay with a resolution of 1 ms.                                     *
 126          *                                                                           *
 127          ****************************************************************************/
 128          #if delay_1ms_en
              void    delay_1ms (INT16U _1ms)
              {
              
                RCAP2LH = RCAP2_1ms;
                T2LH    = RCAP2_1ms;
                ET2 = 0;      // Disable timer2 interrupt
                T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
                
                while (_1ms--)
                {
                      while (!TF2);
                      TF2 = FALSE;
                }
                TR2 = FALSE;
              
              }
              #endif
 146          
 147          /****************************************************************************
 148          *                                                                           *
 149          * Function:     delay_10ms                                                  *
 150          *                                                                           *
 151          * Input:        _10ms                                                       *
 152          * Output:       -                                                           *
 153          *                                                                           *
 154          * Description:                                                              *
 155          *                                                                           *
 156          * Time delay with a resolution of 10 ms.                                    *
 157          *                                                                           *
 158          ****************************************************************************/
 159          #if delay_10ms_en
              void    delay_10ms (INT16U _10ms)
              {
              
                RCAP2LH = RCAP2_10ms;
                T2LH    = RCAP2_10ms;
                ET2 = 0;      // Disable timer2 interrupt
                T2CON = 0x04; // 16-bit auto-reload, clear TF2, start timer
                
                while (_10ms--)
                {
                      while (!TF2);
                      TF2 = FALSE;
                }
                TR2 = FALSE;
              
              }
              #endif
 177          
 178          #pragma aregs
 179          
C51 COMPILER V8.02   DELAY                                                                 03/16/2009 15:23:02 PAGE 4   

 180          //The end


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