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

📄 矩阵键盘.lst

📁 51单片机入门级资料。流水灯
💻 LST
字号:
C51 COMPILER V7.50   __阵键盘                                                              07/20/2008 15:16:40 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE __阵键盘
OBJECT MODULE PLACED IN 矩阵键盘.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 矩阵键盘.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #define uchar unsigned char
   3          sbit duan=P2^6;
   4          sbit wei=P2^7;
   5          uchar i=0,x=0,y=0,num[8]={16,16,16,16,16,16,16,16},temp;
   6          uchar duantable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
   7          0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};    //0-F共阴极数码管代码
   8          
   9          uchar weitable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};     //0-8位选代码
  10          delay(uchar t)
  11          {
  12   1              uchar a,b;
  13   1              for(a=t;a>0;a--)
  14   1               for(b=200;b>0;b--);
  15   1      }
  16          void display()
  17          {
  18   1              if(x==8)
  19   1                      x=0;
  20   1              if(y==8)
  21   1                      y=0;
  22   1              P0=0xff;
  23   1              wei=1;
  24   1              wei=0;
  25   1              P0=duantable[num[x]];
  26   1              duan=1;
  27   1              duan=0;
  28   1              P0=weitable[y];
  29   1              wei=1;
  30   1              wei=0;
  31   1              x++;
  32   1              y++;
  33   1      }
  34          main()
  35          {
  36   1              while(1)
  37   1              {
  38   2              display();
  39   2              P3=0x7f;
  40   2              temp=P3;
  41   2              temp=temp&0x0f;
  42   2              if(temp!=0x0f)
  43   2              {
  44   3      
  45   3                      delay(50);
  46   3                      switch(temp)
  47   3                      {
  48   4                              case 0x0e:
  49   4                               num[i++]=3;
  50   4                               break;
  51   4                              case 0x0d:
  52   4                               num[i++]=7;
  53   4                               break;
  54   4                              case 0x0b:
  55   4                               num[i++]=11;
C51 COMPILER V7.50   __阵键盘                                                              07/20/2008 15:16:40 PAGE 2   

  56   4                               break; 
  57   4                              case 0x07:
  58   4                               num[i++]=15;
  59   4                               break;                 
  60   4                      }
  61   3                      while(P3!=0x7f)display();       
  62   3              }
  63   2      
  64   2              display();
  65   2              P3=0xbf;
  66   2              temp=P3;
  67   2              temp=temp&0x0f;
  68   2              if(temp!=0x0f)
  69   2              {
  70   3      
  71   3                      delay(50);
  72   3                      switch(temp)
  73   3                      {
  74   4                              case 0x0e:
  75   4                               num[i++]=2;
  76   4                               break;
  77   4                              case 0x0d:
  78   4                               num[i++]=6;
  79   4                               break;
  80   4                              case 0x0b:
  81   4                               num[i++]=10;
  82   4                               break; 
  83   4                              case 0x07:
  84   4                               num[i++]=14;
  85   4                               break;                 
  86   4                      }
  87   3                      while(P3!=0xbf)display();       
  88   3              }
  89   2              display();
  90   2              P3=0xdf;
  91   2              temp=P3;
  92   2              temp=temp&0x0f;
  93   2              if(temp!=0x0f)
  94   2              {
  95   3                      
  96   3                      delay(50);
  97   3                      switch(temp)
  98   3                      {
  99   4                              case 0x0e:
 100   4                               num[i++]=1;
 101   4                               break;
 102   4                              case 0x0d:
 103   4                               num[i++]=5;
 104   4                               break;
 105   4                              case 0x0b:
 106   4                               num[i++]=9;
 107   4                               break; 
 108   4                              case 0x07:
 109   4                               num[i++]=13;
 110   4                               break;                 
 111   4                      }
 112   3                      while(P3!=0xdf)display();       
 113   3              }
 114   2              display();
 115   2              P3=0xef;
 116   2              temp=P3;
 117   2              temp=temp&0x0f;
C51 COMPILER V7.50   __阵键盘                                                              07/20/2008 15:16:40 PAGE 3   

 118   2              if(temp!=0x0f)
 119   2              {
 120   3                      
 121   3                      delay(50);
 122   3                      switch(temp)
 123   3                      {
 124   4                              case 0x0e:
 125   4                               num[i++]=0;
 126   4                               break;
 127   4                              case 0x0d:
 128   4                               num[i++]=4;
 129   4                               break;
 130   4                              case 0x0b:
 131   4                               num[i++]=8;
 132   4                               break; 
 133   4                              case 0x07:
 134   4                               num[i++]=12;
 135   4                               break;                 
 136   4                      }
 137   3                      while(P3!=0xef)
 138   3                              display();      
 139   3              }
 140   2      
 141   2              }
 142   1      
 143   1      }
 144          
 145          
 146          
 147          
 148          


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