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

📄 tl_main.lst

📁 LOOP1: CJNE A
💻 LST
字号:
C51 COMPILER V7.06   TL_MAIN                                                               06/07/2007 19:25:03 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE TL_MAIN
OBJECT MODULE PLACED IN TL_Main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TL_Main.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include<_REG52_.H>     
   2          //Bit Port Declaration
   3          sbit    P20=P2^0;
   4          sbit    P21=P2^1;
   5          sbit    P22=P2^2;
   6          sbit    P23=P2^3;
   7          sbit    P32=P3^2;
   8          sbit    P35=P3^5;
   9          sbit    P36=P3^6;
  10          sbit    P37=P3^7;
  11          //--------------------
  12          sbit    EWR=P1^0;
  13          sbit    EWG=P1^1;
  14          sbit    EWY=P1^2;
  15          sbit    SNR=P1^4;
  16          sbit    SNG=P1^5;
  17          sbit    SNY=P1^6;
  18          //Global Variables
  19          uchar   TIME_EW;                                //EastWest Count Down Register Unit
  20          uchar   TIME_SN;                                //SouthNorth Count Down Register Unit
  21          uchar   MS_CNT;                                 //50ms Count 
  22          uint    SEC_CNT;                                //Second Count
  23          uchar   HOUR=12;                                //Hour Buffer
  24          uchar   flash;
  25          uchar   code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
  26                                    0x7F,0x6F};
  27          
  28          //Delay Function
  29          void Delay(uchar        formal_t)
  30                  {       
  31   1                      uchar   t;
  32   1                      t=formal_t;
  33   1                      while(t--);
  34   1              }
  35          
  36          //Display Function
  37          void    Display(void)
  38                  {
  39   1                      uchar   h,l;
  40   1                      l=TIME_EW%10;                                   
  41   1                      P2=0xff;                
  42   1                      P0=table[l];            
  43   1                      P20=0;
  44   1                      h=TIME_EW/10;
  45   1                      Delay(3);
  46   1                      P2=0xff;                        
  47   1                      P0=table[h];                            
  48   1                      P21=0;
  49   1                      Delay(3);
  50   1                      //-----------------
  51   1                      l=TIME_SN%10;                                           
  52   1                      P2=0xff;                
  53   1                      P0=table[l];            
  54   1                      P22=0;
  55   1                      h=TIME_SN/10;
C51 COMPILER V7.06   TL_MAIN                                                               06/07/2007 19:25:03 PAGE 2   

  56   1                      Delay(3);
  57   1                      P2=0xff;                
  58   1                      P0=table[h];                    
  59   1                      P23=0;
  60   1                      Delay(3);
  61   1                      P2=0xff;                                
  62   1              }
  63          
  64          //T0 Interrupt Function
  65          void Timer0(void)interrupt 1 using 2
  66                  {
  67   1                      TH0=(65536-49990)/256;
  68   1                      TL0=(65536-49990)%256;
  69   1                      if(MS_CNT>=10)
  70   1                                      flash=1;
  71   1                      else    flash=0;
  72   1                      if(MS_CNT>=20)
  73   1                                      {
  74   2                                              MS_CNT=0;
  75   2                                              SEC_CNT+=1;
  76   2                                              TIME_EW-=1;
  77   2                                              TIME_SN-=1;             
  78   2                                              if(SEC_CNT==3600)
  79   2                                                      HOUR+=1;
  80   2                                              if(HOUR==24)
  81   2                                                      HOUR=0;
  82   2                                      }
  83   1                      else    MS_CNT+=1;              
  84   1              }
  85          //INT0 Interrupt Function
  86          void INTSP(void)interrupt 0 using 1
  87                  {
  88   1                      EX0=0;
  89   1                      P2=0xff;                
  90   1                      Delay(10);
  91   1                      P32=1;
  92   1                      if(~P35)
  93   1                                      P1=0x65;        //P1.0----RG
  94   1                      else if(~P36)
  95   1                                      P1=0x56;        //P1.1----GR
  96   1                      else if(~P37)
  97   1                                      P1=0x66;        //P1.0----RR
  98   1                      while(~P32){;}
  99   1                      EX0=1;  
 100   1              }
 101          
 102          //EastWest-RED,SouthNorth-GREEN   --30S
 103          void    StateRG(void)
 104                  {               
 105   1                      TIME_EW=35;
 106   1                      TIME_SN=30;     
 107   1                      P1=0x00;
 108   1                      while(TIME_SN)
 109   1                              {       
 110   2                                      Display();
 111   2                                      EWR=1;SNG=1;                    
 112   2                              }
 113   1                      P1=0x00;                
 114   1              }
 115          //EastWest-RED,SouthNorth-YELLOW-5S
 116          void    StateRY(void)
 117                  {
C51 COMPILER V7.06   TL_MAIN                                                               06/07/2007 19:25:03 PAGE 3   

 118   1                      TIME_SN=5;              
 119   1                      P1=0x00;
 120   1                      while(TIME_SN)                  
 121   1                              {       
 122   2                                      Display();                                      
 123   2                                      EWR=1;SNY=1;    
 124   2                              }
 125   1                      P1=0x00;
 126   1              }
 127          //EastWest-GREEN,SouthNorth-RED   -30S
 128          void    StateGR(void)
 129                  {               
 130   1                      TIME_EW=30;
 131   1                      TIME_SN=35;     
 132   1                      P1=0x00;
 133   1                      while(TIME_EW)
 134   1                                      {
 135   2                                              Display();
 136   2                                              EWG=1;SNR=1;    
 137   2                                      }
 138   1                      P1=0x00;                
 139   1              }
 140          //EastWest-YELLOW,SouthNorth-RED  -5S
 141          void    StateYR(void)
 142                  {               
 143   1                      TIME_EW=5;              
 144   1                      P1=0x00;
 145   1                      while(TIME_EW)
 146   1                                      {
 147   2                                              Display();
 148   2                                              EWR=1;SNG=1;    
 149   2                                      }
 150   1                      P1=0x00;                
 151   1              }
 152          //SLEEP
 153          void StateSleep(void)
 154                  {
 155   1                      P1=0x00;
 156   1                      if(flash)       {EWY=1;SNY=1;}  
 157   1                              else    P1=0x00;        
 158   1                      P2=0xff;                                
 159   1              }
 160          
 161          void    main(void)
 162                  {
 163   1                      TMOD=0X01;      
 164   1                      TH0=(65536-49990)/256;
 165   1                      TL0=(65536-49990)%256;
 166   1                      IT0=1;                  //External Interrupt Springed by Hight-To-Low.
 167   1                      PX0=1;                  //T0 Interrupt With High PRI.           
 168   1                      ET0=1;                  //T0 Interrupt Enable,
 169   1                      EX0=1;                  //INT0  Interrupt Enable
 170   1                      EA=1;                   //All Interrupt Enable.
 171   1                      TR0=1;                  //T0 Start.
 172   1                      
 173   1              while(1)
 174   1                      {
 175   2                              while(HOUR>=0&&HOUR<=5)
 176   2                              StateSleep();
 177   2                              StateRG();
 178   2                              StateRY();
 179   2                              StateGR();
C51 COMPILER V7.06   TL_MAIN                                                               06/07/2007 19:25:03 PAGE 4   

 180   2                              StateYR();
 181   2                      }
 182   1              }
 183          


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