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

📄 44键盘.lst

📁 AT89c51等单片机可以使用的4*4 键盘程序
💻 LST
字号:
C51 COMPILER V8.02   44键盘                                                                10/09/2008 16:33:39 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 44键盘
OBJECT MODULE PLACED IN 44键盘.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 44键盘.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <AT89X51.H>
   2          unsigned char code table[]={0x3f,0x06,0x5b,0x4f,
   3                                      0x66,0x6d,0x7d,0x07,
   4                                      0x7f,0x6f,0x77,0x7c,
   5                                      0x39,0x5e,0x79,0x71};
   6          unsigned char temp;
   7          unsigned char key;
   8          unsigned char i,j;
   9          
  10          
  11          void main(void)
  12          {
  13   1        while(1)
  14   1          {
  15   2            P3=0xff;
  16   2            P3_4=0;
  17   2            temp=P3;
  18   2            temp=temp & 0x0f;
  19   2            if (temp!=0x0f)
  20   2              {
  21   3                for(i=50;i>0;i--)
  22   3                for(j=200;j>0;j--);
  23   3                temp=P3;
  24   3                temp=temp & 0x0f;
  25   3                if (temp!=0x0f)
  26   3                  {
  27   4                    temp=P3;
  28   4                    temp=temp & 0x0f;              
  29   4                    switch(temp)
  30   4                      {
  31   5                        case 0x0e:
  32   5                          key=0;
  33   5                          break;
  34   5                        case 0x0d:
  35   5                          key=1;
  36   5                          break;
  37   5                        case 0x0b:
  38   5                          key=2;
  39   5                          break;
  40   5                        case 0x07:
  41   5                          key=3;
  42   5                          break;
  43   5                      }
  44   4                    temp=P3;
  45   4                    P1_0=~P1_0;
  46   4                    P2=table[key];
  47   4                    temp=temp & 0x0f;              
  48   4                    while(temp!=0x0f)
  49   4                      {
  50   5                        temp=P3;
  51   5                        temp=temp & 0x0f;              
  52   5                      }
  53   4                  }
  54   3              }
  55   2      
C51 COMPILER V8.02   44键盘                                                                10/09/2008 16:33:39 PAGE 2   

  56   2            P3=0xff;
  57   2            P3_5=0;
  58   2            temp=P3;
  59   2            temp=temp & 0x0f;
  60   2            if (temp!=0x0f)
  61   2              {
  62   3                for(i=50;i>0;i--)
  63   3                for(j=200;j>0;j--);
  64   3                temp=P3;
  65   3                temp=temp & 0x0f;
  66   3                if (temp!=0x0f)
  67   3                  {
  68   4                    temp=P3;
  69   4                    temp=temp & 0x0f;              
  70   4                    switch(temp)
  71   4                      {
  72   5                        case 0x0e:
  73   5                          key=4;
  74   5                          break;
  75   5                        case 0x0d:
  76   5                          key=5;
  77   5                          break;
  78   5                        case 0x0b:
  79   5                          key=6;
  80   5                          break;
  81   5                        case 0x07:
  82   5                          key=7;
  83   5                          break;
  84   5                      }
  85   4                    temp=P3;
  86   4                    P1_0=~P1_0;
  87   4                    P2=table[key];
  88   4                    temp=temp & 0x0f;              
  89   4                    while(temp!=0x0f)
  90   4                      {
  91   5                        temp=P3;
  92   5                        temp=temp & 0x0f;              
  93   5                      }
  94   4                  }
  95   3              }
  96   2      
  97   2            P3=0xff;
  98   2            P3_6=0;
  99   2            temp=P3;
 100   2            temp=temp & 0x0f;
 101   2            if (temp!=0x0f)
 102   2              {
 103   3                for(i=50;i>0;i--)
 104   3                for(j=200;j>0;j--);
 105   3                temp=P3;
 106   3                temp=temp & 0x0f;
 107   3                if (temp!=0x0f)
 108   3                  {
 109   4                    temp=P3;
 110   4                    temp=temp & 0x0f;              
 111   4                    switch(temp)
 112   4                      {
 113   5                        case 0x0e:
 114   5                          key=8;
 115   5                          break;
 116   5                        case 0x0d:
 117   5                          key=9;
C51 COMPILER V8.02   44键盘                                                                10/09/2008 16:33:39 PAGE 3   

 118   5                          break;
 119   5                        case 0x0b:
 120   5                          key=10;
 121   5                          break;
 122   5                        case 0x07:
 123   5                          key=11;
 124   5                          break;
 125   5                      }
 126   4                    temp=P3;
 127   4                    P1_0=~P1_0;
 128   4                    P2=table[key];
 129   4                    temp=temp & 0x0f;              
 130   4                    while(temp!=0x0f)
 131   4                      {
 132   5                        temp=P3;
 133   5                        temp=temp & 0x0f;              
 134   5                      }
 135   4                  }
 136   3              }
 137   2      
 138   2            P3=0xff;
 139   2            P3_7=0;
 140   2            temp=P3;
 141   2            temp=temp & 0x0f;
 142   2            if (temp!=0x0f)
 143   2              {
 144   3                for(i=50;i>0;i--)
 145   3                for(j=200;j>0;j--);
 146   3                temp=P3;
 147   3                temp=temp & 0x0f;
 148   3                if (temp!=0x0f)
 149   3                  {
 150   4                    temp=P3;
 151   4                    temp=temp & 0x0f;              
 152   4                    switch(temp)
 153   4                      {
 154   5                        case 0x0e:
 155   5                          key=12;
 156   5                          break;
 157   5                        case 0x0d:
 158   5                          key=13;
 159   5                          break;
 160   5                        case 0x0b:
 161   5                          key=14;
 162   5                          break;
 163   5                        case 0x07:
 164   5                          key=15;
 165   5                          break;
 166   5                      }
 167   4                    temp=P3;
 168   4                    P1_0=~P1_0;
 169   4                    P2=table[key];
 170   4                    temp=temp & 0x0f;              
 171   4                    while(temp!=0x0f)
 172   4                      {
 173   5                        temp=P3;
 174   5                        temp=temp & 0x0f;              
 175   5                      }
 176   4                  }
 177   3              }
 178   2          }
 179   1      }
C51 COMPILER V8.02   44键盘                                                                10/09/2008 16:33:39 PAGE 4   



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