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

📄 main.lst

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 8 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。 最
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  05/20/2007 19:05:54 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          #include <intrins.h>
   3          
   4          typedef unsigned char BYTE;
   5          
   6          #define TICK 10000
   7          #define T100us 256-100
   8          
   9          BYTE LEDBUF[6];
  10          BYTE HOUR;
  11          BYTE MINUTE;
  12          BYTE SECOND;
  13          BYTE C100us[2];         //计数值
  14          
  15          
  16          BYTE code LEDMAP[]={0x3F,0x06,0x5B,0x4F,
  17                                                  0x66,0x6D,0x7D,0x07,
  18                                                  0x7F,0x6F,0x77,0x7C,
  19                                                  0x39,0x5E,0x79,0x71};
  20          
  21          void DELAY(BYTE in)
  22          {
  23   1              BYTE i=0xFF;
  24   1      
  25   1              do
  26   1              {
  27   2                      do
  28   2                      {}while(--i);
  29   2              }while(--in);
  30   1      }
  31          
  32          
  33          void DISPLAYLED()
  34          {
  35   1              BYTE data *point=LEDBUF;
  36   1              BYTE num=6;
  37   1              BYTE scan=0x7F;
  38   1              
  39   1              do
  40   1              {
  41   2                      P0=0x00;
  42   2                      P0=*point;
  43   2                      P3=scan;
  44   2                      DELAY(1);
  45   2                      scan=_cror_(scan,1);
  46   2                      point++;
  47   2              }while(--num);  
  48   1      }
  49          
  50          void T0INT() interrupt 1
  51          {
  52   1              if(C100us[1]==0) C100us[0]--;    
  53   1              C100us[1]--;
  54   1      
  55   1              if(C100us[0]|C100us[1])
C51 COMPILER V8.08   MAIN                                                                  05/20/2007 19:05:54 PAGE 2   

  56   1              {
  57   2                      return;
  58   2              }
  59   1              else
  60   1              {
  61   2                      C100us[0]=TICK/256;
  62   2                      C100us[1]=TICK%256;
  63   2                      SECOND++;
  64   2      
  65   2                      if(SECOND==60)
  66   2                      {
  67   3                              SECOND=0x00;
  68   3                              MINUTE++;
  69   3                              if(MINUTE==60)
  70   3                              {
  71   4                                      MINUTE=0x00;
  72   4                                      HOUR++;
  73   4                                      if(HOUR==24)
  74   4                                      {
  75   5                                              HOUR=0x00;
  76   5                                      }
  77   4                              }       
  78   3                      }
  79   2              }
  80   1      }
  81          
  82          main()
  83          {
  84   1              TMOD=0x02;
  85   1              TH0=T100us;
  86   1              TL0=T100us;
  87   1              IE=0x82;
  88   1              HOUR=0;
  89   1              MINUTE=0;
  90   1              SECOND=0;
  91   1              C100us[0]=TICK/256;
  92   1              C100us[1]=TICK%256;
  93   1              TR0=1;
  94   1      
  95   1              while(1)
  96   1              {
  97   2                      LEDBUF[0]=LEDMAP[HOUR/10];
  98   2                      LEDBUF[1]=LEDMAP[HOUR%10]|0x80;
  99   2      
 100   2                      LEDBUF[2]=LEDMAP[MINUTE/10];
 101   2                      LEDBUF[3]=LEDMAP[MINUTE%10]|0x80;
 102   2      
 103   2                      LEDBUF[4]=LEDMAP[SECOND/10];
 104   2                      LEDBUF[5]=LEDMAP[SECOND%10]|0x80;
 105   2      
 106   2                      DISPLAYLED();
 107   2              }
 108   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    204    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11    ----
   IDATA SIZE       =   ----    ----
C51 COMPILER V8.08   MAIN                                                                  05/20/2007 19:05:54 PAGE 3   

   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 + -