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

📄 main.lst

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 8 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。 最
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:49:02 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil 8.08\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          typedef unsigned char BYTE;
   3            
   4          BYTE LED_BIT_1;
   5          BYTE LED_BIT_2;
   6          BYTE LED_BIT_3;
   7          BYTE LED_BIT_4;
   8          BYTE LED_BIT_5;
   9          BYTE LED_BIT_6;
  10          BYTE LED_BIT_7;
  11          BYTE LED_BIT_8;
  12          
  13          BYTE T_COUNT;
  14          BYTE KEY_CNT;
  15          BYTE LINE;
  16          BYTE ROW;
  17          BYTE VAL;
  18          
  19          sbit P10=P1^0;
  20          
  21          sbit P20=P2^0;
  22          sbit P21=P2^1;
  23          sbit P22=P2^2;
  24          sbit P23=P2^3;
  25          sbit P24=P2^4;
  26          sbit P25=P2^5;
  27          sbit P26=P2^6;
  28          sbit P27=P2^7;
  29          
  30          sbit P30=P3^0;
  31          sbit P31=P3^1;
  32          sbit P32=P3^2;
  33          sbit P33=P3^3;
  34          sbit P34=P3^4;
  35          sbit P35=P3^5;
  36          sbit P36=P3^6;
  37          sbit P37=P3^7;
  38          
  39          BYTE code TABLE[]={     0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
  40                                                  0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}; 
  41          
  42           
  43          
  44          void DELAY()
  45          {
  46   1              BYTE i=10;
  47   1              do
  48   1              {
  49   2                      BYTE j=250;
  50   2                      do
  51   2                      {}while(--j);
  52   2              }while(--i);
  53   1      }
  54          
  55          void INT_T0() interrupt 1
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:49:02 PAGE 2   

  56          {
  57   1              TH0=(65536-700)/256;
  58   1              TL0=(65536-700)%256;
  59   1              P10=~P10;       
  60   1      }
  61          
  62          void SHIFT(BYTE in)
  63          {
  64   1              LED_BIT_1=LED_BIT_2;
  65   1              LED_BIT_2=LED_BIT_3;
  66   1              LED_BIT_3=LED_BIT_4;
  67   1              LED_BIT_4=LED_BIT_5;
  68   1              LED_BIT_5=LED_BIT_6;
  69   1              LED_BIT_6=LED_BIT_7;
  70   1              LED_BIT_7=LED_BIT_8;
  71   1              LED_BIT_8=in;   
  72   1      }
  73          
  74          void DISP()
  75          {
  76   1              P27=0;
  77   1              P0=LED_BIT_8;
  78   1              DELAY();
  79   1              P27=1;
  80   1      
  81   1              P26=0;
  82   1              P0=LED_BIT_7;
  83   1              DELAY();
  84   1              P26=1;
  85   1      
  86   1              P25=0;
  87   1              P0=LED_BIT_6;
  88   1              DELAY();
  89   1              P25=1;
  90   1      
  91   1              P24=0;
  92   1              P0=LED_BIT_5;
  93   1              DELAY();
  94   1              P24=1;
  95   1      
  96   1              P23=0;
  97   1              P0=LED_BIT_4;
  98   1              DELAY();
  99   1              P23=1;
 100   1      
 101   1              P22=0;
 102   1              P0=LED_BIT_3;
 103   1              DELAY();
 104   1              P22=1;
 105   1      
 106   1              P21=0;
 107   1              P0=LED_BIT_2;
 108   1              DELAY();
 109   1              P21=1;
 110   1      
 111   1              P21=0;
 112   1              P0=LED_BIT_1;
 113   1              DELAY();
 114   1              P21=1;
 115   1      }
 116          
 117          
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:49:02 PAGE 3   

 118          
 119          main()
 120          {
 121   1      START:
 122   1              T_COUNT=0x00;
 123   1              KEY_CNT=0x00;
 124   1              LINE=0x00;
 125   1              ROW=0x00;
 126   1              VAL=0x00;
 127   1      
 128   1              LED_BIT_1=0x00;
 129   1              LED_BIT_2=0x00;
 130   1              LED_BIT_3=0x00;
 131   1              LED_BIT_4=0x00;
 132   1              LED_BIT_5=0x00;
 133   1              LED_BIT_6=0x00;
 134   1              LED_BIT_7=0x00;
 135   1              LED_BIT_8=0x00;
 136   1      
 137   1      A0:     while(1)
 138   1              {
 139   2                      DISP();
 140   2                      P3=0xF0;
 141   2      
 142   2                      if(P30)
 143   2                      {
 144   3                              DELAY();
 145   3                              if(P30)
 146   3                              {
 147   4                                      LINE=0x00;      break;
 148   4                              }
 149   3                      }
 150   2                      else if(P31)
 151   2                      {
 152   3                              DELAY();
 153   3                              if(P31)
 154   3                              {
 155   4                                      LINE=0x01;      break;
 156   4                              }       
 157   3                      }
 158   2                      else if(P32)
 159   2                      {
 160   3                              DELAY();
 161   3                              if(P32)
 162   3                              {
 163   4                                      LINE=0x02;      break;
 164   4                              }
 165   3                      }
 166   2                      else if(P33)
 167   2                      {
 168   3                              DELAY();
 169   3                              if(P33)
 170   3                              {
 171   4                                      LINE=0x03;      break;
 172   4                              }
 173   3                      }
 174   2              }//end while
 175   1      
 176   1              P3=0x0F;
 177   1              while(1)
 178   1              {
 179   2                      if(P34)
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:49:02 PAGE 4   

 180   2                      {
 181   3                              ROW=0x00;       break;
 182   3                      }
 183   2                      else if(P35)
 184   2                      {
 185   3                              ROW=0x01;       break;
 186   3                      }
 187   2                      else if(P36)
 188   2                      {
 189   3                              ROW=0x02;       break;
 190   3                      }
 191   2                      else if(P37)
 192   2                      {
 193   3                              ROW=0x03;       break;
 194   3                      }
 195   2              }//end while
 196   1      
 197   1              KEY_CNT++;
 198   1              if(KEY_CNT==9)
 199   1              {
 200   2                      TMOD=0x01;
 201   2                      TH0=(65536-700)/256;
 202   2                      TL0=(65536-700)%256;
 203   2                      IE=0x82;
 204   2                      TR0=1;
 205   2      
 206   2                      while(1)
 207   2                      {
 208   3                              if(P3==0x0F||P3==0xF0)
 209   3                              {
 210   4                                      P0=0x00;
 211   4                                      TR0=0;
 212   4                                      goto START;
 213   4                              }
 214   3                      }
 215   2              }
 216   1      
 217   1              if(KEY_CNT==1)
 218   1              {
 219   2                      VAL=LINE*4+ROW;
 220   2                      LED_BIT_8=TABLE[VAL];
 221   2      
 222   2                      while(1)
 223   2                      {
 224   3                              DISP();
 225   3                              if(P3==0x0F||P3==0xF0)
 226   3                              {
 227   4                                      goto A0;
 228   4                              }
 229   3                      }       
 230   2              }
 231   1              else
 232   1              {
 233   2                      VAL=LINE*4+ROW;
 234   2                      SHIFT(TABLE[VAL]);
 235   2                      
 236   2                      while(1)
 237   2                      {
 238   3                              DISP();
 239   3                              if(P3==0x0F||P3==0xF0)
 240   3                              {
 241   4                                      goto A0;
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:49:02 PAGE 5   

 242   4                              }
 243   3                      }               
 244   2              }
 245   1      }


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