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

📄 main.lst

📁 《Proteus在MCS-51&ARM7系统中的应用百例》逆向之 Chapter 7 《Proteus在MCS-51&ARM7系统中的应用百例》MCS-51例子的C语言版本。
💻 LST
字号:
C51 COMPILER V8.08   MAIN                                                                  05/19/2007 09:42:35 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          
   3          typedef unsigned char BYTE;
   4          
   5          BYTE LED_0;
   6          BYTE LED_1;
   7          BYTE LED_2;
   8          BYTE ADC;
   9          BYTE TCNTA;
  10          BYTE TCNTB;
  11          BYTE H_TEMP;    //温度上限
  12          BYTE L_TEMP;    //温度下限
  13          bit FLAG;
  14          
  15          
  16          sbit H_ALM=P3^0;
  17          sbit L_ALM=P3^1;
  18          sbit SOUND=P3^7;
  19          sbit P21  =P2^1;
  20          sbit P22  =P2^2;
  21          sbit P23  =P2^3;
  22          sbit CLOCK=P2^4;
  23          sbit ST   =P2^5;
  24          sbit EOC  =P2^6;
  25          sbit OE   =P2^7;
  26          
  27          BYTE code TABLE[]={     0x3F,0x06,0x5B,0x4F,0x66,
  28                                                  0x6D,0x7D,0x07,0x7F,0x6F};
  29          
  30          
  31          void INT_T0() interrupt 1
  32          {
  33   1              CLOCK=~CLOCK;
  34   1      }
  35          
  36          void DELAY2()
  37          {
  38   1              BYTE i=20;
  39   1              
  40   1              do
  41   1              {       
  42   2                      BYTE j=20;
  43   2                      do
  44   2                      {       
  45   3                              BYTE k=250;
  46   3                              do
  47   3                              {
  48   4                              }while(--k);
  49   3                      }while(--j);
  50   2              }while(--i);
  51   1      }
  52          
  53          void INT_T1() interrupt 3
  54          {
  55   1              TH1=(65536-1000)/256;
C51 COMPILER V8.08   MAIN                                                                  05/19/2007 09:42:35 PAGE 2   

  56   1              TL1=(65536-1000)%256;
  57   1              SOUND=~SOUND;
  58   1              TCNTA++;
  59   1      
  60   1              if(FLAG)
  61   1              {
  62   2                      if(TCNTA!=20)
  63   2                              return;         
  64   2              }
  65   1              else
  66   1              {
  67   2                      if(TCNTA!=30)
  68   2                              return; 
  69   2              }
  70   1      
  71   1              TCNTA=0;
  72   1              TCNTB++;
  73   1      
  74   1              if(TCNTB!=25)
  75   1                      return;
  76   1              TCNTA=0;
  77   1              TCNTB=0;
  78   1              DELAY2();
  79   1      }
  80          
  81          void DELAY()
  82          {
  83   1              BYTE i=10;
  84   1              
  85   1              do
  86   1              {       
  87   2                      BYTE j=250;
  88   2                      do
  89   2                      {}while(--j);
  90   2              }while(--i);
  91   1      }
  92          
  93          
  94          
  95          void DISP()
  96          {
  97   1              BYTE temp;
  98   1              
  99   1              temp=TABLE[LED_0];
 100   1              P23=0;
 101   1              P0=temp;
 102   1              DELAY();
 103   1              P23=1;
 104   1              
 105   1              temp=TABLE[LED_1];
 106   1              P22=0;
 107   1              P0=temp;
 108   1              DELAY();
 109   1              P22=1;
 110   1              
 111   1              temp=TABLE[LED_2];
 112   1              P21=0;
 113   1              P0=temp;
 114   1              DELAY();
 115   1              P21=1;  
 116   1      }
 117          
C51 COMPILER V8.08   MAIN                                                                  05/19/2007 09:42:35 PAGE 3   

 118          main()
 119          {
 120   1              LED_0=0;
 121   1              LED_1=0;
 122   1              LED_2=0;
 123   1              H_TEMP=153;
 124   1              L_TEMP=77;
 125   1              TMOD=0x12;
 126   1              TH0=245;
 127   1              TL0=0;
 128   1              TH1=(65536-1000)/256;
 129   1              TL0=(65536-1000)%256;
 130   1              IE=0x8a;
 131   1              CY=0;
 132   1              TR0=1;
 133   1      
 134   1              while(1)
 135   1              {
 136   2                      H_ALM=1;
 137   2                      L_ALM=1;
 138   2                      ST=0;
 139   2                      ST=1;
 140   2                      ST=0;
 141   2                      while(!EOC);
 142   2                      OE=1;
 143   2                      ADC=P1;
 144   2                      OE=0;
 145   2      
 146   2                      if(ADC<77)
 147   2                      {
 148   3                              L_ALM=0;
 149   3                              TR1=1;
 150   3                              FLAG=0;
 151   3                      }
 152   2                      else if(ADC>H_TEMP)
 153   2                      {
 154   3                              H_ALM=0;
 155   3                              TR1=1;
 156   3                              FLAG=1;
 157   3                      }
 158   2                      else
 159   2                      {
 160   3                              TR1=0;
 161   3                      }
 162   2                      
 163   2                      LED_2=ADC/100;
 164   2                      LED_1=(ADC%100)/10;
 165   2                      LED_0=(ADC%100)%10;
 166   2                      DISP();         
 167   2              }
 168   1                              
 169   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    256    ----
   CONSTANT SIZE    =     10    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
C51 COMPILER V8.08   MAIN                                                                  05/19/2007 09:42:35 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 + -