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

📄 key.lst

📁 该程序是基于c8051f020的平台
💻 LST
字号:
C51 COMPILER V8.02   KEY                                                                   09/13/2007 16:35:02 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE KEY
OBJECT MODULE PLACED IN Key.OBJ
COMPILER INVOKED BY: d:\Keil3\C51\BIN\C51.EXE Key.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #define  Key
   2          #include <Key.h>
   3          
   4          // 主程序,通过调用"读键值" 和 "译码" 程序, 将键值返回给主调函数
   5          uchar Key_Word(void)
   6          {
   7   1         unsigned char key,m;
   8   1         unsigned char key_decode = 0xff  ;
   9   1      
  10   1         P1=0xf0;
  11   1         m=P1;
  12   1         if(m!=0xf0)            //有输入
  13   1           {
  14   2              key_delay(100,100);   //去抖
  15   2              P1=0xf0;
  16   2              m=P1;
  17   2              if(m!=0xf0)       //确认有键
  18   2                {
  19   3                   key=Read();
  20   3                   key_decode=Decode(key);
  21   3      
  22   3                   P1=0xf0;
  23   3                   while(P1!=0xf0);//等待键释放
  24   3                 }
  25   2            }
  26   1          return(key_decode);
  27   1      }
  28          
  29          //读键值 ------------------
  30          
  31          uchar Read(void)
  32          {
  33   1       uchar key,H,L;
  34   1       P1=0xf0;
  35   1       key_delay(1,10);
  36   1       H=P1&0XF0;
  37   1      //---------------
  38   1       key_delay(1,10);
  39   1       P1=0x0f;
  40   1       key_delay(1,10);
  41   1       L=P1&0X0F;
  42   1      //---------------
  43   1       key=H|L;
  44   1       key=~key;
  45   1       return(key);
  46   1      }
  47          //译码
  48          
  49          uchar Decode(uchar x)
  50          {
  51   1        uchar i,j,k;
  52   1        for(i=0;i<4;i++)
  53   1          for(j=0;j<4;j++)      
  54   1             {
  55   2               if(x==key_s[i][j])
C51 COMPILER V8.02   KEY                                                                   09/13/2007 16:35:02 PAGE 2   

  56   2               k=key_t[i][j];
  57   2             }
  58   1        return(k);
  59   1       }
  60          //////////////////////////////////////////
  61          
  62          void key_delay(uchar t1,t2)
  63          { 
  64   1        uchar i,j;
  65   1        for(i=0;i<t1;i++)
  66   1          for(j=0;j<t2;j++);
  67   1      }
  68          


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