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

📄 time_module.lst

📁 Can bus 测试程序!SJA1000芯片!
💻 LST
字号:
C51 COMPILER V7.01  TIME_MODULE                                                            11/22/2002 10:29:12 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE TIME_MODULE
OBJECT MODULE PLACED IN time_module.OBJ
COMPILER INVOKED BY: D:\KEIL\C51\BIN\C51.EXE time_module.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /************************************************************************
   2           *   广州周立功单片机发展有限公司    http://www.zlgmcu.com              *
   3           ************************************************************************/
   4          /************************************************************************
   5           *                                                                      *
   6           *  系统定时、软件延时处理程序                                                                                  *
   7           *                                                                      *
   8           ************************************************************************/
   9          
  10          
  11          #include  "reg66x.H"
  12          
  13          //数据类型定义
  14          #define   uchar  unsigned char                          
  15          #define   ulong  unsigned long
  16          #define   uint   unsigned int  
  17          
  18          //利用T0定时器以实现精确的延时
  19          #define   Crystal      11059200L                //定义晶体频率11.592MHZ
  20          #define   Base_50us    256-46                   //50us溢出时间基准
  21          static uint      data         Tcounter;     //基准时间计数器
  22          static bit       T0IR;                          //T0中断标志
  23          
  24          void  Delay_50us(uint _time);                   //延时函数,非中断方式,延时时间基准50us
  25          void  TimeOut_Start(uint _time50us);            //开始时间溢出,中断方式,时间基准50us
  26          void  TimeOut_Stop(void);                       //停止时间溢出定时
  27          
  28          /*-------------------------------------------------------------------------------------------
  29          定时器0中断函数 、用以实现定时功能            
  30           -------------------------------------------------------------------------------------------*/    
  31          void  T0_Val(void)  interrupt   1   using  2
  32          {
  33   1        Tcounter--;
  34   1        if(Tcounter == 0)
  35   1        {
  36   2          T0IR  = 1;                           //时间定时到,置位标志
  37   2          TR0   = 0;
  38   2        }
  39   1          
  40   1      } 
  41          
  42          
  43          /*-------------------------------------------------------------------------------------------
  44           函数原型:  void  Delay_50us(uint _time50us)                                
  45           参数说明:  _time50us延时时间基准单位为50us 的个数                                                        
  46           返回值:    无 
  47           说明:          用于系统时间定时                  
  48           -------------------------------------------------------------------------------------------*/    
  49          void  Delay_50us(uint _time50us)
  50          { uint  TempCount;
  51   1        TempCount  = _time50us;
  52   1        TMOD |= 0x02;                                 //T0,初值自动重装
  53   1        TH0  =  Base_50us;                            //设置定时初值
  54   1        TL0  =  Base_50us;
  55   1        ET0  =  0;                                    //禁止T0中断
C51 COMPILER V7.01  TIME_MODULE                                                            11/22/2002 10:29:12 PAGE 2   

  56   1        TR0  =  1;                                    //计时开始
  57   1        while( TempCount--)
  58   1        {
  59   2          while(!TF0);TF0  =  0;                      //等待
  60   2        } 
  61   1        TR0  =  0;         
  62   1      } 
  63          
  64          /*-------------------------------------------------------------------------------------------
  65           函数原型:  void  TimeOut_Start(uint _time)                                 
  66           参数说明:  _time 定时时间基准单位为50us 的个数                                                        
  67           返回值:    无 
  68           说明:          用于系统时间延时                  
  69           -------------------------------------------------------------------------------------------*/ 
  70          void  TimeOut_Start(uint _time)
  71          {
  72   1       Tcounter = _time;
  73   1       TMOD |= 0x02;                                  //T0,初值自动重装
  74   1       TH0  =  Base_50us;                             //设置定时初值
  75   1       TL0  =  Base_50us;
  76   1       T0IR =  0;                                     //清除中断T0标志 
  77   1       ET0  =  1;                                     //使能T0中断
  78   1       EA       =  1;
  79   1       TR0  =  1;                                     //计时开始
  80   1      }
  81          /*
  82          
  83          void  TimeOut_Stop(void)
  84          {
  85           Tcounter=0;
  86           ET0  =   0;
  87           TR0  =   0;
  88          }
  89          
  90          */
  91          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     78    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -