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

📄 main.lst

📁 交通灯控制的简单程序
💻 LST
字号:
C51 COMPILER V7.07   MAIN                                                                  02/01/2008 15:00:37 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"at89x52.h"
   2          
   3          
   4          #define uchar unsigned char
   5          #define uint unsigned int
   6          
   7          uchar one_second,ch,rec[2];
   8          uchar red_light,green_light,yellow_light,red_time,green_time,yellow_time;
   9          uchar give_red=10,give_green=15,give_yellow=3;
  10          
  11          void initial(void)
  12          { 
  13   1              P0=P1=P2=P3=0xff;
  14   1              SCON=0x50;                      // UART_mode=1,REN=1
  15   1              RCAP2H=0xff; 
  16   1              RCAP2L=0xdc;            //9600
  17   1              T2MOD=0;  
  18   1              T2CON=0x34;        // Set T2 to baud rate register  
  19   1              TMOD=0x01;                      //T0 工作方式1 50ms
  20   1              TH0=0x4b;
  21   1              TL0=0xff;
  22   1              ET0=1;
  23   1              ES=1;             
  24   1              EA=1;
  25   1      }
  26          
  27          void int_T0(void) interrupt 1
  28          {
  29   1              uchar i;
  30   1              TH0=0x4b;
  31   1              TL0=0xff;
  32   1              i++;
  33   1              if(i==20)
  34   1              {
  35   2                      i=0;
  36   2                      one_second=1;
  37   2              }
  38   1      }
  39          
  40          void int_232(void) interrupt 4
  41          {
  42   1              if(RI)
  43   1              {  
  44   2                      RI=0;
  45   2                      rec[ch]=SBUF;
  46   2                      ch++;
  47   2              }
  48   1              else return;
  49   1      }
  50          
  51          void main(void)
  52          {
  53   1              initial();
  54   1              while(1)
  55   1              {
C51 COMPILER V7.07   MAIN                                                                  02/01/2008 15:00:37 PAGE 2   

  56   2                      if(one_second)
  57   2                      {
  58   3                              one_second=0;
  59   3                              if(red_light)
  60   3                              {
  61   4                                      red_time--;
  62   4                                      if(!red_time)
  63   4                                      {
  64   5                                              red_light=0;    //0表示不亮;1表示亮
  65   5                                                                              //加上控制红灯的引脚跳变
  66   5                                              red_time=give_red;
  67   5                                              green_light=1;
  68   5                                                                              //加上控制绿灯的引脚跳变
  69   5                                      }
  70   4                              }
  71   3                              else if(green_light)
  72   3                              {
  73   4                                      green_time--;
  74   4                                      if(!green_time)
  75   4                                      {
  76   5                                              green_light=0;  
  77   5      
  78   5                                              green_time=give_green;
  79   5                                              yellow_light=1;
  80   5              
  81   5                                      }
  82   4                              }
  83   3                              else if(yellow_light)
  84   3                              {
  85   4                                      yellow_time--;
  86   4                                                                              //加上黄灯闪烁控制;
  87   4                                      if(!yellow_time)
  88   4                                      {
  89   5                                              yellow_light=0;
  90   5                      
  91   5                                              yellow_time=give_yellow;
  92   5                                              red_light=1;
  93   5                                      }
  94   4                              }
  95   3                      }
  96   2                      if(rec[0])
  97   2                      {
  98   3                              ET0=0;
  99   3                              red_light=green_light=yellow_light=0;
 100   3                              if(rec[0]==0x01)
 101   3                              {
 102   4                                      give_red=rec[1];
 103   4                                      rec[0]=rec[1]=0;
 104   4                                      ch=0;
 105   4                              }
 106   3                              else if(rec[0]==0x02)
 107   3                              {
 108   4                                      give_green=rec[1];
 109   4                                      rec[0]=rec[1]=0;
 110   4                                      ch=0;
 111   4                              }
 112   3                              else if(rec[0]==0x03)
 113   3                              {
 114   4                                      give_yellow=rec[1];
 115   4                                      rec[0]=rec[1]=0;
 116   4                                      ch=0;
 117   4                              }
C51 COMPILER V7.07   MAIN                                                                  02/01/2008 15:00:37 PAGE 3   

 118   3                              red_light=1;
 119   3                              ET0=1;
 120   3                      }
 121   2              }
 122   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    220    ----
   CONSTANT SIZE    =   ----    ----
   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 + -