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

📄 keyscan.lst

📁 spce061A驱动的128*64点阵液晶程序
💻 LST
字号:
C51 COMPILER V6.02  KEYSCAN                                                                08/30/2007 10:42:12 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE KEYSCAN
OBJECT MODULE PLACED IN D:\原D\DOCUME~1\桌面\新建文~1\KEYSCAN.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE D:\原D\DOCUME~1\桌面\新建文~1\KEYSCAN.C DB SB OE

stmt level    source

   1          #include "keyScan.h"
   2          
   3          #include <reg51.h>
   4          #define KEY_BOARD P1
   5          #define DELAY_VALUE 500
   6          /*****************
   7          延时子程序
   8          *****************/
   9          void delay()
  10          {
  11   1       unsigned short data i;
  12   1       for(i = DELAY_VALUE;i != 0;i--);
  13   1      }
  14          /**********************
  15          取得当前按键码
  16          **********************/
  17          unsigned char getKey()
  18          {
  19   1       unsigned char data keyState,scan,count,keyCode;
  20   1       keyCode = 0xff;
  21   1       /*是否有键按下*/
  22   1       KEY_BOARD = 0xf0;
  23   1       keyState = KEY_BOARD | 0x0f;
  24   1       keyState = ~keyState;
  25   1       if(!keyState) return keyCode;
  26   1       delay();
  27   1       KEY_BOARD = 0xf0;
  28   1       keyState = KEY_BOARD | 0x0f;
  29   1       keyState = ~keyState;
  30   1       if(!keyState) return keyCode;
  31   1       /*键盘扫描*/
  32   1       scan = 0xfe;
  33   1       for(count = 0;count < 4;count++){
  34   2           KEY_BOARD = scan;
  35   2           scan <<= 1;
  36   2           scan ++;
  37   2           keyState = KEY_BOARD & 0xf0;
  38   2           if(keyState){
  39   3                switch(keyState){
  40   4                case 0xe0:
  41   4                     keyCode = count;
  42   4                     break;
  43   4                case 0xd0:
  44   4                     keyCode = count + 4;
  45   4                     break;
  46   4                case 0xb0:
  47   4                     keyCode = count + 8;
  48   4                     break;
  49   4                case 0x70:
  50   4                     keyCode = count + 12;
  51   4                     break;
  52   4                }
  53   3           }
  54   2           if(keyCode != 0xff) break;
  55   2       }
C51 COMPILER V6.02  KEYSCAN                                                                08/30/2007 10:42:12 PAGE 2   

  56   1       //等到按键松开
  57   1       do{
  58   2          KEY_BOARD = 0xf0;
  59   2          keyState = KEY_BOARD | 0x0f;
  60   2          keyState = ~keyState;
  61   2       }while(keyState);
  62   1       return keyCode;
  63   1      }
C51 COMPILER V6.02  KEYSCAN                                                                08/30/2007 10:42:12 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
delay. . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
getKey . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  keyState . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
  scan . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  count. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  keyCode. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    131    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
C51 COMPILER V6.02  KEYSCAN                                                                08/30/2007 10:42:12 PAGE 4   

   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 + -