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

📄 getkey.lst

📁 单片机控制的
💻 LST
字号:
C51 COMPILER V8.08   GETKEY                                                                05/05/2007 21:05:43 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE GETKEY
OBJECT MODULE PLACED IN getkey.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE getkey.c DEBUG OBJECTEXTEND

line level    source

   1          #include<_REG51_.H>
   2          #include<_ExF(x)_.h>
   3          //-----------------------------
   4          uchar   Tab1[]={0xf7,0xfb,0xfd,0xfe};
   5          sfr             KeyPort=0x90;
   6          //-----------------------------
   7          uchar   ReadKey(void)
   8                  {
   9   1                      uchar   i=0,keybyte=0;
  10   1                      bit             keyflag=0;
  11   1                      KeyPort =0xF0;
  12   1                      _nop_();
  13   1                      if(KeyPort!=0xF0)
  14   1                              {
  15   2                                      while((keyflag==0)&&(i<4))
  16   2                                              {
  17   3                                                      KeyPort=Tab1[i];
  18   3                                                      Delay(2);                  //delay for 11+2*6=23uS.
  19   3                                                      if(KeyPort!=Tab1[i])
  20   3                                                              {
  21   4                                                                       keybyte=KeyPort;                         //save the key.
  22   4                                                                       keyflag=1;                                       //get key ok.
  23   4                                                                       while(KeyPort!=Tab1[i]){;}       //waiting for key released.
  24   4                                                              }
  25   3                                                      i++;                                                             
  26   3                                              }                                                                               
  27   2                                      return  keybyte;                                        
  28   2                              }
  29   1                      else    
  30   1                      {
  31   2                      //      KeyPort =0xFF;
  32   2                              return  0;
  33   2                      }               
  34   1              }
  35          //-----------------------------
  36          uchar   Getkey(void)
  37                          {
  38   1                              uchar   keydat;
  39   1                              keydat=ReadKey();
  40   1                              switch(keydat)
  41   1                              {
  42   2                                      case    0xEE:   return  1;              break;
  43   2                                      case    0xED:   return  2;              break;
  44   2                                      case    0xEB:   return  3;              break;
  45   2                                      case    0xE7:   return  4;              break;
  46   2                                      case    0xDE:   return  5;              break;
  47   2                                      case    0xDD:   return  6;              break;
  48   2                                      case    0xDB:   return  7;              break;
  49   2                                      case    0xD7:   return  8;              break;
  50   2                                      case    0xBE:   return  9;              break;
  51   2                                      case    0xBD:   return  10;             break;
  52   2                                      case    0xBB:   return  11;             break;
  53   2                                      case    0xB7:   return  12;             break;
  54   2                                      case    0x7E:   return  13;             break;
  55   2                                      case    0x7D:   return  14;             break;
C51 COMPILER V8.08   GETKEY                                                                05/05/2007 21:05:43 PAGE 2   

  56   2                                      case    0x7B:   return  15;             break;
  57   2                                      case    0x77:   return  16;             break;
  58   2                                      default:                return  0;              break;
  59   2                              }
  60   1                      }


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