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

📄 key.lst

📁 一个非常好的微处理器烧录EEPROM的C++ 原代码项目文件,直接可用,而且还是一拖八的, 成果奉献
💻 LST
字号:
C51 COMPILER V7.50   KEY                                                                   08/12/2006 10:29:13 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN Key.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Key.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include        "PublicDef.h"
   2          #include        "PublicFunction.h"
   3          BYTE    KeyData;
   4          struct
   5                  {
   6                          WORD     Delay;
   7                          BYTE    WaitTime;
   8                          BYTE    Stau;
   9                          BYTE    ScanFlag;
  10                          BYTE    ChekFlag;
  11                          BYTE    OldKey;
  12                  }       Keys;
  13          
  14          
  15          BYTE    Key_Func;
  16          BYTE    KeyUpContinue=0,KeyDownContinue=0,KeyLeftContinue=0,KeyRightContinue=0;
  17          
  18          void    ScanKey(void)
  19          {
  20   1              static  BYTE    scan_delay=0;
  21   1              if      (Pin_KEY_START)
  22   1              {
  23   2                      scan_delay=0;
  24   2                      Keys.ScanFlag=SCAN_NO;
  25   2                      return;
  26   2              }
  27   1              if      (scan_delay==0)
  28   1              {
  29   2                      scan_delay=1;
  30   2                      Keys.ScanFlag=SCAN_DELAY;
  31   2                      return;
  32   2              }
  33   1              Keys.ScanFlag=SCAN_NO;
  34   1              scan_delay=0;
  35   1              Keys.ScanFlag=SCAN_YES;
  36   1              KeyData=KEY_SCAN_START;
  37   1      }
  38          
  39          void    GetKey(void)
  40          {
  41   1              if      (Keys.ScanFlag==SCAN_NO)
  42   1              {
  43   2                      Keys.Delay=0;
  44   2                      Keys.Stau=bKEY_RELEASE;
  45   2                      return ;
  46   2              }
  47   1              if (KeyData!=Keys.OldKey)
  48   1              {
  49   2                      Keys.OldKey=KeyData;
  50   2                      Keys.Delay=800;
  51   2                      Keys.Stau=bKEY_PRESS;
  52   2                      Keys.ChekFlag=1;
  53   2              }
  54   1              else if (!Keys.Delay)
  55   1              {
C51 COMPILER V7.50   KEY                                                                   08/12/2006 10:29:13 PAGE 2   

  56   2                      if ((Keys.Stau==bKEY_PRESS)||(Keys.Stau==bKEY_REPEAT))
  57   2                      {
  58   3                              Keys.Delay=50;
  59   3                              Keys.Stau=bKEY_CONTINU;
  60   3                      }       
  61   2                      else 
  62   2                      {       
  63   3                              if (Keys.Stau==bKEY_CONTINU)
  64   3                              Keys.Delay=50;
  65   3                              else
  66   3                              {
  67   4                                      Keys.Delay=800; 
  68   4                                      Keys.Stau=bKEY_REPEAT;
  69   4                              }       
  70   3                      }
  71   2                      Keys.ChekFlag=1;
  72   2              }
  73   1              Keys.ScanFlag=0;
  74   1      }
  75          
  76          void    KeyScanToFunc(void)
  77          {
  78   1              if      (Keys.Stau==bKEY_CONTINU)
  79   1              Key_Func=KEY_NO_KEY;
  80   1              else
  81   1              {
  82   2                      switch (KeyData)
  83   2                      {
  84   3                              case    KEY_SCAN_START:
  85   3                                              Key_Func=KEY_START;
  86   3                                              break;
  87   3                              default:        Key_Func=KEY_NO_KEY;
  88   3                                              break;
  89   3                      }
  90   2              }       
  91   1      }
  92          
  93          void    Chek_key(void)
  94          {
  95   1              if (Keys.ChekFlag)
  96   1              {
  97   2                      KeyScanToFunc();        
  98   2                      Keys.ChekFlag=0;
  99   2              }
 100   1      }
 101          


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