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

📄 keyboard.lst

📁 Keil c工程
💻 LST
字号:
C51 COMPILER V7.10   KEYBOARD                                                              08/29/2005 13:01:35 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE KEYBOARD
OBJECT MODULE PLACED IN .\out\KEYBOARD.obj
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE c\KEYBOARD.C BROWSE INTVECTOR(0XC000) DEBUG OBJECTEXTEND PRIN
                    -T(.\lst\KEYBOARD.lst) OBJECT(.\out\KEYBOARD.obj)

line level    source

   1          //***********************//
   2          //  8*3 matrix keyboard  //
   3          //      2004/03/08                   //
   4          //  version 1.0                  //
   5          //finished on 2004/03/16 //
   6          //***********************//
   7          
   8          #include "..\H\key.h "
   9          extern void Delay100uS(word);
  10          
  11          
  12          byte KEYVALUE=NULLKEY;  //扫描获得非NULLKEY值的存放字节,程序取值后应写入NULLKEY,初始值为NULLKEY
  13          
  14          byte ScanOnce(void)                             //不带去抖程序的键盘扫描,返回值为扫描的键值,无键按下时,返回NULLKEY值
  15          {
  16   1      //code byte TABLE[14]={NUM_9,NUM_6,NUM_3,CANCEL,START,uS_mS_S,MODE,NUM_7,NUM_4,NUM_1,NUM_0,NUM_2,NUM_5,NUM
             -_8};
  17   1      code byte TABLE[3][8];//={{},{},{}};
  18   1      
  19   1      byte input_buffer=NULLKEY;
  20   1      byte i;
  21   1      bit j=0;
  22   1      byte scan_const=0xfe;           //1111 1110B
  23   1      
  24   1      for(i=0;(i<8)&&(j==0);i++)
  25   1        {
  26   2        XBYTE[kb_adds]=scan_const;
  27   2        switch(P1&0x1c)                       //P1.2,P1.3,P1.4 are the keyboard wires
  28   2         {
  29   3          case 0x1c:break;                    //no key pressed
  30   3              case 0x0c:                                      //P1.4 pressed
  31   3                      {
  32   4              input_buffer=TABLE[0][i];
  33   4                  j=1;
  34   4                      break;
  35   4                      }
  36   3          case 0x18:                                  //P1.3 pressed
  37   3                      {
  38   4              input_buffer=TABLE[1][i];
  39   4                  j=1;
  40   4                  break;
  41   4               }
  42   3          case 0x14:                          //P1.2 pressed
  43   3                      {
  44   4              input_buffer=TABLE[2][i];
  45   4                  j=1;
  46   4                  break;
  47   4               }
  48   3          default:break;                              //多个键同时按下,无效
  49   3          }
  50   2         if(i!=7)    scan_const=_crol_(scan_const,1);         //左移一位,循环移动
  51   2       
  52   2        }
  53   1      return(input_buffer);
C51 COMPILER V7.10   KEYBOARD                                                              08/29/2005 13:01:35 PAGE 2   

  54   1      }
  55          
  56          
  57          
  58          bit ScanKey(void)                       //带去抖程序的键盘扫描,按键的键值存入KEYVALUE,无按键提示音,若有键按下,返回值为1,否则

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -