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

📄 juzheng.lst

📁 8051单片机矩阵键盘扫描程序(包括键盘的消抖和数码管的显示)
💻 LST
字号:
C51 COMPILER V7.50   JUZHENG                                                               12/25/2008 21:59:05 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE JUZHENG
OBJECT MODULE PLACED IN juzheng.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE juzheng.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          unsigned char code tableduan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xF8,
   3                                                                          0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
   4          sbit suo=P3^6;
   5          unsigned int temp,num;
   6          void delay();
   7          
   8          void init();
   9          void main()
  10          {   
  11   1              init();
  12   1                      while(1)
  13   1               { 
  14   2                      P1=0xf7;
  15   2                  temp=P1;
  16   2                      temp=temp&0xf0;
  17   2                      
  18   2                   while(temp!=0xf0)
  19   2                         {
  20   3                              delay();
  21   3                              temp=P1;
  22   3                              temp=temp&0xf0; 
  23   3                                      while(temp!=0xf0)
  24   3                                              {
  25   4                                            temp=P1;
  26   4                                                switch(temp)
  27   4                                                       {
  28   5                                                              case 0xe7:num=0;break;
  29   5                                                              case 0xd7:num=1;break;  
  30   5                                                              case 0xb7:num=2;break;
  31   5                                                              case 0x77:num=3;break;
  32   5                                            
  33   5                                                       };while(temp!=0xf0)
  34   4                                                                      {
  35   5                                                                        temp=P1;
  36   5                                                                    temp=temp&0xf0;
  37   5                                                                      };
  38   4                                                                    suo=1;
  39   4                                                                        P0=tableduan[num];    
  40   4                                                                        //delay();
  41   4                                                                        suo=0;        
  42   4                                                              
  43   4                                              };              
  44   3                                                                      
  45   3                              };                              
  46   2      
  47   2      
  48   2      
  49   2                      P1=0xfb;
  50   2                  temp=P1;
  51   2                      temp=temp&0xf0;
  52   2                   while(temp!=0xf0)
  53   2                         {
  54   3                              delay();
  55   3                              temp=P1;
C51 COMPILER V7.50   JUZHENG                                                               12/25/2008 21:59:05 PAGE 2   

  56   3                              temp=temp&0xf0; 
  57   3                                      while(temp!=0xf0)
  58   3                                              {
  59   4                                            temp=P1;
  60   4                                                switch(temp)
  61   4                                                       {
  62   5                                                              case 0xeb:num=4;break;
  63   5                                                              case 0xdb:num=5;break;  
  64   5                                                              case 0xbb:num=6;break;
  65   5                                                              case 0x7b:num=7;break;
  66   5                                            
  67   5                                                       };while(temp!=0xf0)
  68   4                                                                      {
  69   5                                                                        temp=P1;
  70   5                                                                    temp=temp&0xf0;
  71   5                                                                      };
  72   4      
  73   4                                                                    suo=1;
  74   4                                                                        P0=tableduan[num];    
  75   4                                                                        //delay();
  76   4                                                                        suo=0;        
  77   4                                                              
  78   4                                              };      
  79   3                                                                      
  80   3                              };                                      
  81   2      
  82   2      
  83   2      
  84   2                      P1=0xfd;
  85   2                  temp=P1;
  86   2                      temp=temp&0xf0;
  87   2                      
  88   2                   while(temp!=0xf0)
  89   2                         {
  90   3                              delay();
  91   3                              temp=P1;
  92   3                              temp=temp&0xf0; 
  93   3                                      while(temp!=0xf0)
  94   3                                              {
  95   4                                            temp=P1;
  96   4                                                switch(temp)
  97   4                                                       {
  98   5                                                              case 0xed:num=8;break;
  99   5                                                              case 0xdd:num=9;break;  
 100   5                                                              case 0xbd:num=10;break;
 101   5                                                              case 0x7d:num=11;break;
 102   5                                            
 103   5                                                       };while(temp!=0xf0)
 104   4                                                                      {
 105   5                                                                        temp=P1;
 106   5                                                                    temp=temp&0xf0;
 107   5                                                                      };
 108   4      
 109   4                                                                    suo=1;
 110   4                                                                        P0=tableduan[num];    
 111   4                                                                        //delay();
 112   4                                                                        suo=0;        
 113   4                                                              
 114   4                                              };              
 115   3                                                                      
 116   3                              };      
 117   2      
C51 COMPILER V7.50   JUZHENG                                                               12/25/2008 21:59:05 PAGE 3   

 118   2                      P1=0xfe;
 119   2                  temp=P1;
 120   2                      temp=temp&0xf0;
 121   2                      
 122   2                   while(temp!=0xf0)
 123   2                         {
 124   3                              delay();
 125   3                              temp=P1;
 126   3                              temp=temp&0xf0; 
 127   3                                      while(temp!=0xf0)
 128   3                                              {
 129   4                                            temp=P1;
 130   4                                                switch(temp)
 131   4                                                       {
 132   5                                                              case 0xee:num=12;break;
 133   5                                                              case 0xde:num=13;break; 
 134   5                                                              case 0xbe:num=14;break;
 135   5                                                              case 0x7e:num=15;break;
 136   5                                            
 137   5                                                       };while(temp!=0xf0)
 138   4                                                                      {
 139   5                                                                        temp=P1;
 140   5                                                                    temp=temp&0xf0;
 141   5                                                                      };
 142   4      
 143   4                                                                    suo=1;
 144   4                                                                        P0=tableduan[num];    
 145   4                                                                        //delay();
 146   4                                                                        suo=0;        
 147   4                                                              
 148   4                                              };              
 149   3                                                                      
 150   3                              };                                      
 151   2                                                                      
 152   2              
 153   2          };
 154   1      
 155   1      }
 156          
 157          void delay()
 158          {
 159   1              unsigned int a,b;
 160   1            for(a=50;a>0;a--)
 161   1                      for(b=10;b>0;b--); 
 162   1      }
 163          
 164          
 165          
 166          void init()
 167          {               suo=1;
 168   1                      P2=0x00;suo=0;  
 169   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    616    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V7.50   JUZHENG                                                               12/25/2008 21:59:05 PAGE 4   

END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -