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

📄 jianpan.lst

📁 实现键盘码的读取
💻 LST
字号:
C51 COMPILER V7.50   JIANPAN                                                               08/06/2007 15:08:41 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE JIANPAN
OBJECT MODULE PLACED IN jianpan.OBJ
COMPILER INVOKED BY: F:\学习软件\keil\C51\BIN\C51.EXE jianpan.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"reg51.h"
   2          #define unchar unsigned char
   3          void  delay();
   4          unchar keyscan();
   5          void   main()
   6          {
   7   1         unchar key;
   8   1         P2=0x00;
   9   1         while (1)
  10   1        {
  11   2           key=keyscan();
  12   2           switch(key)
  13   2           {
  14   3                 case 0x18:P2=0x3f;break;
  15   3             case 0x14:P2=0x06;break;
  16   3                 case 0x12:P2=0x5b;break;
  17   3                 case 0x11:P2=0x4f;break;
  18   3               
  19   3                 case 0x28:P2=0x66;break;
  20   3             case 0x24:P2=0x6d;break;
  21   3                 case 0x22:P2=0x7d;break;
  22   3                 case 0x21:P2=0x07;break;
  23   3               
  24   3                 case 0x48:P2=0x7f;break;
  25   3             case 0x44:P2=0x6f;break;
  26   3                 case 0x42:P2=0x77;break;
  27   3                 case 0x41:P2=0x7c;break;
  28   3      
  29   3                 case 0x88:P2=0x39;break;
  30   3             case 0x84:P2=0x5e;break;
  31   3                 case 0x82:P2=0x79;break;
  32   3                 case 0x81:P2=0x71;break;
  33   3                 case 0x00:P2=0x76;break;
  34   3                 default: break;
  35   3              }
  36   2        }
  37   1      } 
  38          
  39           void  delay()
  40            {
  41   1              unchar i;
  42   1              for(i=500;i>0;i--);
  43   1         }
  44           unchar keyscan()
  45          {
  46   1          unchar scode,recode;
  47   1              static unchar m;
  48   1          P1=0xf0;
  49   1              if ((P1&0xf0)!=0xf0)
  50   1               { 
  51   2                  delay();
  52   2                  if ((P1&0xf0)!=0xf0)                 
  53   2                   { 
  54   3                          scode=0xfe;
  55   3                          while((scode&0x10)!=0)  
C51 COMPILER V7.50   JIANPAN                                                               08/06/2007 15:08:41 PAGE 2   

  56   3                          { 
  57   4                             P1=scode;
  58   4                             if((P1&0xf0)!=0xf0)
  59   4                               { 
  60   5                                      recode=(P1&0xf0)|0x0f;
  61   5                                              m=(~scode)+(~recode);
  62   5                                      return (m);
  63   5                                   }
  64   4                            else 
  65   4                                        scode=(scode<<1)|0x01;
  66   4                          }
  67   3                   }
  68   2      
  69   2                }
  70   1        return(m);
  71   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    223    ----
   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 + -