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

📄 systimer.lst

📁 51单片机基于CAN总线通信程序
💻 LST
字号:
C51 COMPILER V8.09   SYSTIMER                                                              09/23/2008 08:34:17 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE SYSTIMER
OBJECT MODULE PLACED IN systimer.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\systimer.c LARGE OPTIMIZE(7,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\sy
                    -stimer.lst) OBJECT(systimer.obj)

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include "inc/EXT_PUBLIC_VARIABLE.H"
   4          #include "inc/CPUIO_DEF.H"
   5          #include "inc/timer_pwm.h"
   6          
   7          
   8          #define TIME_BASE_50MS   25
   9          //#define TIME_BASE_100MS  100
  10          #define TIME_BASE_500MS  10
  11          #define F_OSC                     110592
  12          //extern void Dog(void);        
  13          /**************************************************************************
  14          最小时基:    2ms
  15          定时器类1:   定时范围为    2ms - 500ms
  16          定时器类2:   定时范围为    500ms - 128s
  17          **************************************************************************/     
  18          void  Timer0() interrupt 1 using 1
  19          {       uchar i;
  20   1          
  21   1              static uchar TimeBase50ms  = TIME_BASE_50MS;
  22   1      //      static uchar TimeBase100ms = TIME_BASE_100MS;
  23   1              static uchar TimeBase500ms = TIME_BASE_500MS;
  24   1              TL0 = 0Xcc;                                     //1ms定时中断
  25   1              TH0 = 0XF8;
  26   1      
  27   1              //IO口数据采样
  28   1              bitHuoerRest=HUOER_REST;//霍尔1
  29   1              bitHuoerMido=HUOER_MIDO;//霍尔2
  30   1              bitHuoerLast=HUOER_LAST;//霍尔3
  31   1      
  32   1          if(  bitRstFlg&& (!bitHuoerRest))
  33   1          {
  34   2               bitRstFlg = 0;
  35   2               MOTONOFF  = 1;
  36   2               TR1 = 0;
  37   2          }
  38   1          if(  bitMidoFlg&& (!bitHuoerMido))
  39   1          {
  40   2               bitMidoFlg = 0;
  41   2               MOTONOFF  = 1;
  42   2               TR1 = 0;
  43   2          }
  44   1          if(  bitLastFlg&& (!bitHuoerLast))
  45   1          {
  46   2               bitLastFlg = 0;
  47   2               MOTONOFF  = 1;
  48   2               TR1 = 0;
  49   2          }
  50   1      
  51   1              //处理以2ms为时基的定时器(时间范围为2ms-510ms)
  52   1              for( i = 0; i < 4; i++ )
  53   1              {
  54   2                      if( TimerNo[ i ] != 0 )
C51 COMPILER V8.09   SYSTIMER                                                              09/23/2008 08:34:17 PAGE 2   

  55   2                              if( --( TimerNo[ i ] ) == 0 )
  56   2                                      fTimer |=  0x01 << i;
  57   2              }
  58   1      
  59   1      
  60   1              if( --TimeBase50ms  != 0 )
  61   1                       return;
  62   1              TimeBase50ms = TIME_BASE_50MS * ( F_OSC / 110592 );
  63   1          //直接处理50毫秒为时基的代码
  64   1                      
  65   1              if( --TimeBase500ms  != 0 )
  66   1                      return;
  67   1              TimeBase500ms = TIME_BASE_500MS * ( F_OSC / 110592 );
  68   1      
  69   1          //直接处理500ms为时基的代码
  70   1          HW_WDT = 0;
  71   1          HW_WDT = 1;
  72   1          _nop_();
  73   1          _nop_();
  74   1          _nop_();
  75   1          HW_WDT = 0;
  76   1              //处理以500ms为时基的定时器(500ms-127.5s)
  77   1              for( i = 4; i < 8; i++ )
  78   1              {
  79   2                      if( TimerNo[ i ] != 0 )
  80   2                              if( -- ( TimerNo[ i ] ) == 0 )
  81   2                                      fTimer |=  0x01 << i;
  82   2              }       
  83   1      }


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