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

📄 key.lst

📁 c8051f020+ad9852+12864+键盘(频率合成)贝一特电子
💻 LST
字号:
C51 COMPILER V8.05a   KEY                                                                  01/11/2009 22:55:15 PAGE 1   


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

line level    source

   1          #include<main.h>
   2          
   3          unsigned char k;
   4                             
   5          unsigned char Getkey()
   6          {   
   7   1          P7=0xFE;
   8   1          if(P7==0xEE)return 1;
   9   1              if(P7==0xDE)return 2;
  10   1              if(P7==0xBE)return 3;
  11   1              //if(P7==0x7E)return 10;
  12   1              P7=0xFD;
  13   1          if(P7==0xED)return 4;
  14   1              if(P7==0xDD)return 5;
  15   1              if(P7==0xBD)return 6;
  16   1              //if(P7==0x7D)return 11;
  17   1              P7=0xFB;
  18   1          if(P7==0xEB)return 7;
  19   1              if(P7==0xDB)return 8;
  20   1              if(P7==0xBB)return 9;
  21   1              //if(P7==0x7B)return 12;
  22   1              P7=0xF7;
  23   1          //if(P7==0xE7)return 13;
  24   1              if(P7==0xD7)return 0;
  25   1              //if(P7==0xB7)return 15;
  26   1              //if(P7==0x77)return 16;
  27   1              return 0;
  28   1      }
  29          
  30          void key_delay(void)             //延时
  31          {
  32   1              int t;
  33   1              for(t=0;t<2500;t++);
  34   1      }
  35          /*******************************键盘扫描************************************/
  36          
  37          void keyscan(void)                            //键盘扫描函数
  38          {
  39   1              unsigned char a;                                        
  40   1              P7 = 0xf0;                                            //键盘初始化
  41   1              if(P7!=0xf0)                                  //有键按下?
  42   1              {
  43   2                      key_delay();                          //延时
  44   2                      if(P7!=0xf0)                          //确认真的有键按下?
  45   2                      {
  46   3                              P7 = 0xfe;                            //使行线P2.4为低电平,其余行为高电平
  47   3                              key_delay();
  48   3                              a = P7;                               //a作为缓存
  49   3                              switch (a)                            //开始执行行列扫描
  50   3                              {
  51   4                                      //case 0xee:k=15;break;
  52   4                                      //case 0xde:k=11;break;
  53   4                                      case 0xbe:k=7;break;
  54   4                                      case 0x7e:k=3;break;
  55   4                                      default:P7 = 0xfd;            //使行线P2.5为低电平,其余行为高电平
C51 COMPILER V8.05a   KEY                                                                  01/11/2009 22:55:15 PAGE 2   

  56   4      
  57   4                                      a = P7;
  58   4                                      switch (a)
  59   4                                      {
  60   5                                              //case 0xed:k=14;break;
  61   5                                              //case 0xdd:k=10;break;
  62   5                                              case 0xbd:k=6;break;
  63   5                                              case 0x7d:k=2;break;
  64   5                                              default:P7 = 0xfb;         //使行线P2.6为低电平,其余行为高电平
  65   5      
  66   5                                              a = P7;
  67   5                                              switch (a)
  68   5                                              {                               
  69   6                                                      //case 0xeb:k=13;break;
  70   6                                                      case 0xdb:k=9;break;
  71   6                                                      case 0xbb:k=5;break;
  72   6                                                      case 0x7b:k=1;break;
  73   6                                                      default:P7 = 0xf7;        //使行线P2.7为低电平,其余行为高电平
  74   6      
  75   6                                                      a = P7;
  76   6                                                      switch (a)
  77   6                                                      {
  78   7                                                              //case 0xe7:k=12;break;
  79   7                                                              case 0xd7:k=8;break;
  80   7                                                              case 0xb7:k=4;break;
  81   7                                                              case 0x77:k=0;break;
  82   7                                                              default:break;                                                          
  83   7                                                      }
  84   6                                              }
  85   5                                      }
  86   4                                      break;
  87   4                              }
  88   3                      }
  89   2              }
  90   1      }


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