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

📄 keyscan.lst

📁 扫描键盘
💻 LST
字号:
C51 COMPILER V8.05a   KEYSCAN                                                              09/21/2007 13:33:54 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE KEYSCAN
OBJECT MODULE PLACED IN KeyScan.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE KeyScan.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #define uchar unsigned char
   3          
   4          bit bdata KeyFlag;      
   5                  
   6          void Delay10ms(void)
   7          {
   8   1              uchar i,j,k;
   9   1      
  10   1              for(i=5; i>0; i--)
  11   1                      for(j=4; j>0; j--)
  12   1                              for(k=248; k>0; k--);
  13   1      }
  14          
  15          uchar KeyScan(void)
  16          {
  17   1              uchar PreRead;                                  /*first read key value*/
  18   1              uchar ReRead;                                   /*second read key value*/
  19   1              uchar RowTemp;
  20   1              uchar ColTemp;
  21   1              
  22   1              KeyFlag = 0;
  23   1      
  24   1              P2 = 0xf0;
  25   1              RowTemp = P2 & 0xf0;                    /*read row value*/
  26   1              if(RowTemp == 0xf0) return(0xff);
  27   1      
  28   1              P2 = 0x0f;
  29   1              ColTemp = P2 & 0x0f;                    /*read column value*/
  30   1      
  31   1              PreRead = RowTemp|ColTemp;              /*get keyboard scan value*/
  32   1              
  33   1              Delay10ms();
  34   1      
  35   1              P2 = 0xf0;
  36   1              RowTemp = P2 & 0xf0;                    /*reread row value*/
  37   1              if(RowTemp == 0xf0) return(0xff);
  38   1      
  39   1              P2 = 0x0f;
  40   1              ColTemp = P2 & 0x0f;                    /*reread column value*/
  41   1      
  42   1              ReRead = RowTemp|ColTemp;               /*re-get keyboard scan value*/
  43   1      
  44   1              if(PreRead==ReRead)
  45   1              {
  46   2                      KeyFlag = 1;
  47   2                      //P2 = 0xf0;
  48   2                      return(~ReRead);
  49   2              }
  50   1      }
  51          
  52          main()
  53          {
  54   1              uchar GetKeyValue;
  55   1              uchar KeyValue;
C51 COMPILER V8.05a   KEYSCAN                                                              09/21/2007 13:33:54 PAGE 2   

  56   1              GetKeyValue=KeyScan();
  57   1              if(KeyFlag = 1)
*** WARNING C276 IN LINE 57 OF KEYSCAN.C: constant in condition expression
  58   1                      KeyValue = GetKeyValue;
  59   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     83    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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