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

📄 key.lst

📁 一个完整的51单片机的操作糸统源程序! 内容十分丰富!很有借鉴价值!
💻 LST
字号:
C51 COMPILER V7.01  KEY                                                                    10/25/2003 20:33:31 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN .\KEY.obj
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE ..\..\CAN\SourceFile\KEY.C LARGE BROWSE DEBUG OBJECTEXTEND PR
                    -INT(.\KEY.lst) OBJECT(.\KEY.obj)

stmt level    source

   1          /*************************************************/
   2          
   3          /********************显示与键盘接口********/
   4          
   5          /*************2002年12月13日*******************/
   6          
   7          /************WROTE BY WANGSW********************/
   8          #include "reg591.h"
   9          #include <intrins.h>
  10          #include <absacc.h>
  11          
  12          #include "define.h"
  13          
  14          #include "key.h"
  15          
  16          #define KEY XBYTE[0xF700]
  17          
  18          #define KEY_SHORT_INTERVAL              2
  19          #define KEY_LONG_INTERVAL               40
  20          
  21          bool    g_bKeyEnable=TRUE;
  22          byte data KeyIntervalSafeguard=0;               /*用于连续两个按键速度过快导致按键混乱*/
  23          byte data KeyCounter=0;
  24          
  25          static byte KeyMap(byte value);                                                 /*键值检测*/                    
  26          /***********************************************************/
  27          
  28          static byte KeyMap(byte value)
  29          {
  30   1              switch(value)
  31   1              {
  32   2                      case 0xFE:                              
  33   2                              return(1);
  34   2                      case 0xFD:                              
  35   2                            return(2);
  36   2                      case 0xFB:                              
  37   2                              return(3);
  38   2                      case 0xF7:                              
  39   2                              return(4);
  40   2                      case 0xEF:                              
  41   2                              return(5);
  42   2                      case 0xDF:                              
  43   2                              return(6);
  44   2                      case 0xBF:                              
  45   2                              return(7);
  46   2                      case 0x7F:                              
  47   2                              return(8);
  48   2                              
  49   2                      default:
  50   2                              return(ERROR);  
  51   2              }
  52   1      }
  53          
  54          /*************************************************************/
C51 COMPILER V7.01  KEY                                                                    10/25/2003 20:33:31 PAGE 2   

  55          
  56          extern void key_check(void)                     /*5*5=25mS*/
  57          {
  58   1              byte KeyWord;
  59   1              if(!g_bKeyEnable)
  60   1                      return;
  61   1      
  62   1              KeyWord=KEY;
  63   1              if(KeyWord==0xFF)
  64   1              {
  65   2                      KeyCounter=0;
  66   2                      if(KeyIntervalSafeguard)        
  67   2                      {
  68   3                              KeyIntervalSafeguard--;
  69   3                      }
  70   2                      return;
  71   2              }
  72   1      
  73   1              KeyCounter++;
  74   1      
  75   1              if(KeyCounter==KEY_SHORT_INTERVAL)
  76   1              {       
  77   2                      if(!KeyIntervalSafeguard)
  78   2                      {
  79   3                              msg_queue_in(MSG_KEY,KeyMap(KeyWord));
  80   3                      }
  81   2                      KeyIntervalSafeguard=3;
  82   2              }
  83   1      
  84   1                      
  85   1              if(KeyCounter==KEY_LONG_INTERVAL)
  86   1              {
  87   2                      msg_queue_in(MSG_KEY,KeyMap(KeyWord));
  88   2                      KeyCounter-=4;
  89   2              }
  90   1      }
  91          
  92          


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