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

📄 timer.lst

📁 this progam is used with e_lock,and so on.
💻 LST
字号:
C51 COMPILER V7.06   TIMER                                                                 12/04/2008 15:12:03 PAGE 1   


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

stmt level    source

   1          #include "Include.h"
   2          //Timer0中判断按键,所有的超时判断
   3          //如果Timer0的中断时间变化,超时参数也要做对应变化
   4          unsigned char Timer = 0;
   5          //unsigned char BellTimer = 0;
   6          extern unsigned char NowKey;            //当前按键
   7          extern  bit             ReceiveOK;                      //数据包接收完成标志位
   8          unsigned int Tc=0;                                      //超时计时器    
   9          unsigned char KeyStep[3]={0,0,0};   //步骤
  10          sbit K_CANCEL=P3^2;
  11          sbit K_UP=P3^3;
  12          sbit K_DOWN=P3^6;
  13          //使能Timer0中断
  14          void EnableT0(void)
  15          {
  16   1              ET0=1;
  17   1      }
  18          //Timer0启动
  19          void Timer0Start(void)
  20          {
  21   1              TR0=1;
  22   1      }
  23          //Timer0初始化
  24          void Timer0Init(void)
  25          {
  26   1              TMOD|=1;//设置为16位定时器
  27   1              TH0=0;
  28   1              TL0=0;
  29   1      
  30   1              EnableT0();
  31   1              Timer0Start();
  32   1      }
  33          //按键步骤
  34          //0  没有按键
  35          //1  第一次检测到按键
  36          //2  第二次检测到按键(认为有按键)
  37          //中断一次约71ms
  38          void ISRTimer0(void) interrupt 1
  39          {
  40   1              TH0=0;
  41   1              TL0=0;
  42   1              //按键判断
  43   1              //-------------------------------------------------
  44   1              if(0==K_CANCEL){if(1==KeyStep[0])
  45   2                      {       KeyStep[0]=2;//有按键
  46   3                              NowKey=ADD_KEY;//增加
  47   3                      }else{KeyStep[0]=1;}
  48   2              }else{if(NowKey!=EMPTY_KEY){KeyStep[0]=0;}}
  49   1                      //-------------------------------------------------
  50   1              if(0==K_UP){if(1==KeyStep[1])
  51   2                      {       KeyStep[1]=2;//有按键
  52   3                              NowKey=EMPTY_KEY;//删除键
  53   3                      }else{KeyStep[1]=1;}
  54   2              }else{if(NowKey!=ADD_KEY){KeyStep[1]=0;}}
  55   1                      //-------------------------------------------------
C51 COMPILER V7.06   TIMER                                                                 12/04/2008 15:12:03 PAGE 2   

  56   1              if(0==K_DOWN){if(1==KeyStep[2])
  57   2                      {       KeyStep[2]=2;//有按键
  58   3                              NowKey=SEARCH_KEY;//搜索键
  59   3                      }else{KeyStep[2]=1;}
  60   2              }else{if(NowKey!=DEL_KEY){KeyStep[2]=0;}}
  61   1      //-------------------------------------------------                     
  62   1                      if(Tc>0)        {Tc--;}
  63   1                  if(Timer>0) {Timer--;}
  64   1                      if(0==Timer){ReceiveOK = 0;}                    
  65   1                  //if(BellTimer>0)               {       BellTimer--;                    if(0 == BellTimer){BellOff();}          }
  66   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    159    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6    ----
   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 + -