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

📄 delay.lst

📁 ZLG500C的上位机软件
💻 LST
字号:
C51 COMPILER V8.02   DELAY                                                                 04/18/2008 09:54:41 PAGE 1   


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

  56          
  57          void T2_server(void) interrupt 5 using 2    //Timer2 interrupt
  58          {
  59   1              if(SerTmOut)
  60   1                      SerTmOut--;
  61   1                      
  62   1              if(WAITRESPDLY)
  63   1                      WAITRESPDLY--;
  64   1              
  65   1              TF2 = 0;
  66   1      }
  67          #endif
  68          
  69          #pragma noaregs
  70          /***********************************************************************
  71          
  72          ***********************************************************************/
  73          #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
  87          
  88          /****************************************************************************
  89          *                                                                           *
  90          * Function:     delay_50us                                                  *
  91          *                                                                           *
  92          * Input:        _50us                                                       *
  93          * Output:       -                                                           *
  94          *                                                                           *
  95          * Description:                                                              *
  96          *                                                                           *
  97          * Time delay with a resolution of 50 us.                                    *
  98          *                                                                           *
  99          ****************************************************************************/
 100          #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;
              
              }
C51 COMPILER V8.02   DELAY                                                                 04/18/2008 09:54:41 PAGE 3   

              #endif
 119          
 120          /****************************************************************************
 121          *                                                                           *
 122          * Function:     delay_1ms                                                   *
 123          *                                                                           *
 124          * Input:        _1ms                                                        *
 125          * Output:       -                                                           *
 126          *                                                                           *
 127          * Description:                                                              *
 128          *                                                                           *
 129          * Time delay with a resolution of 1 ms.                                     *
 130          *                                                                           *
 131          ****************************************************************************/
 132          #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
 150          
 151          /****************************************************************************
 152          *                                                                           *
 153          * Function:     delay_10ms                                                  *
 154          *                                                                           *
 155          * Input:        _10ms                                                       *
 156          * Output:       -                                                           *
 157          *                                                                           *
 158          * Description:                                                              *
 159          *                                                                           *
 160          * Time delay with a resolution of 10 ms.                                    *
 161          *                                                                           *
 162          ****************************************************************************/
 163          #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;
              
              }
C51 COMPILER V8.02   DELAY                                                                 04/18/2008 09:54:41 PAGE 4   

              #endif
 181          
 182          #pragma aregs
 183          
 184          //The end


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