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

📄 02.lst

📁 Lap Proteus use simuretion
💻 LST
字号:
C51 COMPILER V8.04   02                                                                    02/12/2009 12:20:36 PAGE 1   


C51 COMPILER V8.04, COMPILATION OF MODULE 02
OBJECT MODULE PLACED IN .\02.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\2\02.c BROWSE DEBUG OBJECTEXTEND PRINT(.\02.lst) OBJECT(.\02.obj)

line level    source

   1          #include<reg51.h>               
   2          sbit c1 = P2^3;           
   3          sbit c2 = P2^2; 
   4          sbit c3 = P2^1;         
   5          sbit r1 = P2^4;         
   6          sbit r2 = P2^5; 
   7          sbit r3 = P2^6;         
   8          sbit r4 = P2^7;
   9          int i;
  10          int a;
  11          unsigned int w,x,y,z,o,p,q,r;
  12          void  show ( int a);
  13          void  show1 ( int a);
  14          void Shift (void);
  15          void Shift1 (void);
  16          unsigned char Patturn [10] = {0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x80,0x90};
  17          unsigned char Buffer1[4],Buffer3[4];
  18          unsigned char Buffer2[4],Buffer4[4];    
  19          void delay_db(int time)
  20          {
  21   1              do              
  22   1              {
  23   2               time--;                
  24   2              }while(time>0);     
  25   1      }
  26          
  27          unsigned char scankey(void) 
  28          {
  29   1              unsigned char ret = 0xFF;               
  30   1              c1 = 0;                                 
  31   1              if(r1==0)       
  32   1              { 
  33   2                      delay_db(30000);                          
  34   2                      ret = 0x01;             
  35   2              }                    
  36   1              if(r2==0)                       
  37   1              {
  38   2                      delay_db(30000);
  39   2                      ret = 0x04;             
  40   2              }                                       
  41   1              if(r3==0)                       
  42   1              {                                                       
  43   2                      delay_db(30000); 
  44   2                      ret = 0x07;             
  45   2              } 
  46   1                      if(r4==0)                       
  47   1              {                                                       
  48   2                      delay_db(30000); 
  49   2                      ret = 0x11;  //*+++++           
  50   2              }        
  51   1              
  52   1               c1 = 1;
  53   1      
  54   1       //------------------------------------------------//
  55   1                                  
C51 COMPILER V8.04   02                                                                    02/12/2009 12:20:36 PAGE 2   

  56   1              c2 = 0;                         
  57   1              if(r1==0)                       
  58   1              {
  59   2                      delay_db(30000);                                                                
  60   2                      ret = 0x02;             
  61   2              }                                                       
  62   1              if(r2==0)                       
  63   1              {
  64   2                      delay_db(30000);  
  65   2                      ret = 0x05;             
  66   2              }                                                       
  67   1              if(r3==0)                       
  68   1              {
  69   2                      delay_db(30000);        
  70   2                      ret = 0x08;             
  71   2              }                                                       
  72   1              if(r4==0)               
  73   1              {
  74   2                      delay_db(30000);                        
  75   2                      ret = 0x00;     
  76   2              }
  77   1              c2 = 1;
  78   1                              
  79   1      //----------------------------------------//                                            
  80   1              c3 = 0;                         
  81   1              if(r1==0)                       
  82   1              {
  83   2                      delay_db(30000);        
  84   2                      ret = 0x03;                     
  85   2              }                                                       
  86   1              if(r2==0)                       
  87   1              {
  88   2                      delay_db(30000);        
  89   2                      ret = 0x06;     
  90   2              }                                       
  91   1              if(r3==0)                       
  92   1              {
  93   2                      delay_db(30000);        
  94   2                      ret = 0x09;             
  95   2              }
  96   1              if(r4==0)                       
  97   1              {
  98   2                      delay_db(30000);        
  99   2                      ret = 0x12;      //#======      
 100   2              }        
 101   1                                                                              
 102   1              c3 = 1;                 
 103   1              return(ret);                    
 104   1      }
 105          
 106          /*************************** Main loop **************************/
 107          
 108           void main(void)     
 109          {  
 110   1              
 111   1              unsigned char key = 0;  
 112   1              P0 = 0xff;
 113   1              P2 = 0xff;
 114   1                              
 115   1              while(1) 
 116   1              {
 117   2               
C51 COMPILER V8.04   02                                                                    02/12/2009 12:20:36 PAGE 3   

 118   2                              key = scankey();
 119   2                              
 120   2              
 121   2                                              
 122   2                              if( key != 0xFF)
 123   2                      {        
 124   3                                
 125   3                                      i++;
 126   3                          
 127   3                              if(i<=4)
 128   3                              Buffer1[i]=key;
 129   3      
 130   3                              if (i>4) 
 131   3                              {       
 132   4                              i=4;
 133   4                              Shift ();        
 134   4                              Buffer1[4]=key;         
 135   4                              }  
 136   3      
 137   3                      }   
 138   2                      show (i);
 139   2      
 140   2                                      
 141   2                       
 142   2              
 143   2      
 144   2                        
 145   2              }
 146   1       }
 147          
 148           
 149          /*********************************************************************************************************
             -**************/
 150          void Shift (void)
 151          {
 152   1              
 153   1      
 154   1                       Buffer2[1]= Buffer1[1];
 155   1                       Buffer2[2]= Buffer1[2];         
 156   1                       Buffer2[3]= Buffer1[3];
 157   1                       Buffer2[4]= Buffer1[4];   
 158   1                 //--------------------
 159   1      
 160   1                       Buffer1[3]= Buffer2[4];
 161   1                      /* Buffer1[2]= Buffer2[3];      */   
 162   1                       Buffer1[1]= Buffer2[2];                   
 163   1      
 164   1      }        
 165          
 166          
 167          void  show(i)
 168          {               
 169   1                       
 170   1                       switch (i)
 171   1                 {
 172   2                  case 1:
 173   2                      P0 = Patturn[Buffer1 [1]]|0x0e;
 174   2                      delay_db(25);   
 175   2                      break;
 176   2      
 177   2      
 178   2      
C51 COMPILER V8.04   02                                                                    02/12/2009 12:20:36 PAGE 4   

 179   2                      case 2:
 180   2                      P0 = Patturn[Buffer1 [2]]|0x0e;
 181   2                      delay_db(25);           
 182   2                      P0 = Patturn[Buffer1 [1]]|0x0d; 
 183   2                      delay_db(25);   
 184   2                      break;
 185   2      
 186   2      
 187   2                      case 3:
 188   2                      P0 = Patturn[Buffer1 [3]]|0x0E;
 189   2                      delay_db(25);           
 190   2                      P0 = Patturn[Buffer1 [2]]|0x0d;
 191   2                      delay_db(25);   
 192   2                      P0 = Patturn[Buffer1 [1]]|0x0b;
 193   2                      delay_db(25);           
 194   2                      break;
 195   2                      
 196   2                      
 197   2                      
 198   2                      case 4:
 199   2                      P0 = Patturn[Buffer1 [4]]|0x0E;
 200   2                      delay_db(25);           
 201   2                      P0 = Patturn[Buffer1 [3]]|0x0d;
 202   2                      delay_db(25);   
 203   2                      P0 = Patturn[Buffer1 [2]]|0x0b;
 204   2                      delay_db(25);           
 205   2                      P0 = Patturn[Buffer1 [1]]|0x07;
 206   2                      delay_db(25);
 207   2                      break;
 208   2                      
 209   2                                              
 210   2                      }       
 211   1      
 212   1      }  
 213          
 214          
 215          


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