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

📄 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:02:34 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          sbit S_SET=P1^0;
   5          sbit M_SET=P1^1;
   6          sbit H_SET=P1^2;
   7          
   8          sbit P30=P3^0;
   9          sbit P31=P3^1;
  10          sbit P32=P3^2;
  11          sbit P33=P3^3;
  12          sbit P34=P3^4;
  13          sbit P35=P3^5;
  14          sbit P36=P3^6;
  15          sbit P37=P3^7;
  16          
  17          
  18          BYTE SECOND;
  19          BYTE MINUTE;
  20          BYTE HOUR;
  21          BYTE TCNT; 
  22          
  23          BYTE code TABLE[]={     0x3F,0x06,0x5B,0x4F,0x66,
  24                                                  0x6D,0x7D,0x07,0x7F,0x6F};
  25          
  26          void DELAY()
  27          {
  28   1              BYTE i=10;
  29   1              do
  30   1              {
  31   2                      BYTE j=250;
  32   2                      do
  33   2                      {}while(--j);
  34   2              }while(--i);
  35   1      }
  36          
  37          
  38          void INT_T0()interrupt 1
  39          {
  40   1              TH0=(65536-50000)/256;
  41   1              TL0=(65536-50000)%256;
  42   1              TCNT++;
  43   1      
  44   1              if(TCNT==20)
  45   1              {
  46   2                      SECOND++;
  47   2                      TCNT=0;
  48   2                      if(SECOND==60) 
  49   2                      {
  50   3                              MINUTE++;
  51   3                              SECOND=0;
  52   3                              if(MINUTE==60)
  53   3                              {
  54   4                                      HOUR++;
  55   4                                      MINUTE=0;
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:02:34 PAGE 2   

  56   4                                      if(HOUR==24)
  57   4                                      {
  58   5                                              HOUR=0;
  59   5                                              MINUTE=0;
  60   5                                              SECOND=0;
  61   5                                              TCNT=0;
  62   5                                      }
  63   4                              }
  64   3                      }       
  65   2              }
  66   1                      
  67   1      }
  68          
  69          void DISPLAY()
  70          {
  71   1              P36=0;
  72   1              P0=TABLE[SECOND/10];
  73   1              DELAY();
  74   1              P36=1;
  75   1              P37=0;
  76   1              P0=TABLE[SECOND%10];
  77   1              DELAY();
  78   1              P37=1;
  79   1      
  80   1              P35=0;
  81   1              P0=0x40;
  82   1              DELAY();
  83   1              P35=1;
  84   1      
  85   1              P33=0;
  86   1              P0=TABLE[MINUTE/10];
  87   1              DELAY();
  88   1              P33=1;
  89   1              P34=0;
  90   1              P0=TABLE[MINUTE%10];
  91   1              DELAY();
  92   1              P34=1;
  93   1      
  94   1              P32=0;
  95   1              P0=0x40;
  96   1              DELAY();
  97   1              P32=1;
  98   1      
  99   1              P30=0;
 100   1              P0=TABLE[HOUR/10];
 101   1              DELAY();
 102   1              P30=1;
 103   1              P31=0;
 104   1              P0=TABLE[HOUR%10];
 105   1              DELAY();
 106   1              P31=1;
 107   1      }
 108          
 109          main()
 110          {
 111   1              HOUR=0;
 112   1              MINUTE=0;
 113   1              SECOND=0;
 114   1              TCNT=0;
 115   1              TMOD=1;
 116   1              TH0=(65536-50000)/256;
 117   1              TL0=(65536-50000)%256;
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:02:34 PAGE 3   

 118   1              IE=0x82;
 119   1              TR0=1;
 120   1      
 121   1              while(1)
 122   1              {
 123   2                      DISPLAY();
 124   2      
 125   2                      if(!S_SET)
 126   2                      {
 127   3                              DELAY();
 128   3                              if(S_SET) continue;
 129   3                              SECOND++;
 130   3      
 131   3                              if(SECOND==60) 
 132   3                              {
 133   4                                      SECOND=0;
 134   4                                      goto K1;
 135   4                              }
 136   3                              else
 137   3                              {
 138   4                                      while(!S_SET)
 139   4                                      DISPLAY();
 140   4                              }
 141   3                       }
 142   2      
 143   2                      if(!M_SET)
 144   2                      {
 145   3                              DELAY();
 146   3                              if(M_SET) continue;
 147   3      
 148   3      K1:                     MINUTE++; 
 149   3                              if(MINUTE==60)
 150   3                              {
 151   4                                      MINUTE=0;
 152   4                                      goto K2;
 153   4                              }
 154   3                              else
 155   3                              {
 156   4                                      while(!M_SET)
 157   4                                      DISPLAY();
 158   4                              } 
 159   3                      }
 160   2      
 161   2                      if(!H_SET)
 162   2                      {
 163   3                              DELAY();
 164   3                              if(H_SET) continue;
 165   3      
 166   3      K2:                     HOUR++;
 167   3                              if(HOUR==24)
 168   3                              {
 169   4                                      HOUR=0;
 170   4                                      MINUTE=0;
 171   4                                      SECOND=0;       
 172   4                              }
 173   3                              else
 174   3                              {
 175   4                                      while(!H_SET)
 176   4                                      DISPLAY();
 177   4                              }
 178   3                      }
 179   2              }       
C51 COMPILER V8.08   MAIN                                                                  05/21/2007 15:02:34 PAGE 4   

 180   1      }


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