5.lst

来自「上传一些」· LST 代码 · 共 126 行

LST
126
字号
C51 COMPILER V7.06   5                                                                     09/01/2008 13:49:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 5
OBJECT MODULE PLACED IN 5.OBJ
COMPILER INVOKED BY: F:\串口调试助手\keil2\C51\BIN\C51.EXE 5.c BROWSE DEBUG OBJECTEXTEND TABS(3)

stmt level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          sbit m=P2^5;
   4          sbit feng=P2^3;
   5          unsigned char flag,flag1,flag2,flag3,flag4,h,u,i;
   6          unsigned int x,y,t;
   7          void delay()  //500ms
   8                {
   9   1               for(x=0;x<229;x++)
  10   1                  for(y=0;y<250;y++);
  11   1            }
  12          void delay1()  //500ms
  13                {
  14   1               for(x=0;x<129;x++)
  15   1                  for(y=0;y<250;y++);
  16   1            }
  17          void main()
  18                {
  19   1               m=1;
  20   1               flag2=0;
  21   1               h=0xfe;
  22   1               P1=h;
  23   1               TMOD=0x01;
  24   1               EA=1;
  25   1               ET0=1;
  26   1               TH0=0x4c;
  27   1               TL0=0x00;
  28   1               TR0=1;
  29   1               while(1)       //启动大循环
  30   1                  {
  31   2                        if(flag4==0)   //判断灯是该上下流动还是该闪烁,0为上下流动
  32   2                           {
  33   3                                 
  34   3                                 if(flag1==1)      //保证每隔1s运行一次
  35   3                                    {
  36   4                                          if(flag3==0)
  37   4                                             {
  38   5                                                flag1=0;
  39   5                                                P1=_crol_(h,1);   //向左移一位,向下依次亮
  40   5                                                feng=!feng;
  41   5                                                h=P1;
  42   5                                                flag2++;          //判断是否已到了底
  43   5                                                if(flag2==7) 
  44   5                                                   {
  45   6                                                      flag2=0;    //关闭向左移
  46   6                                                      flag3=1;    //开启向右移
  47   6                                                      delay1();   
  48   6                                                   }  
  49   5                                             }
  50   4                                          if(flag3==1)         
  51   4                                             {
  52   5                                                flag1=0;
  53   5                                                P1=_cror_(h,1);   //向左移一位,向下依次亮
  54   5                                                feng=!feng;
  55   5                                                h=P1;
C51 COMPILER V7.06   5                                                                     09/01/2008 13:49:25 PAGE 2   

  56   5                                                flag2++;
  57   5                                                if(flag2==7)    //判断是否已到了底
  58   5                                                   {
  59   6                                                      flag2=0;    //关闭向左移
  60   6                                                      flag3=0;    //开启向右移
  61   6                                                      flag4=1;    //打开闪烁,关闭流动
  62   6                                                      delay1();
  63   6                                                   }  
  64   5                                             }
  65   4                                       }
  66   3                           }
  67   2                           if(flag4==1)
  68   2                              {
  69   3                                 TR0=0;      //由于闪烁时间长,先关闭定时器
  70   3                                 u=0xff;
  71   3                                 i=0x00;
  72   3                                 P1=0x00;
  73   3                                 flag4=0;    //打开流动,关闭闪烁
  74   3                                 delay();
  75   3                                 for(t=0;t<8;t++)  //闪烁5次
  76   3                                    {
  77   4                                       i=P1;
  78   4                                       P1=u;
  79   4                                       u=i;  
  80   4                                       feng=!feng;
  81   4                                       delay();
  82   4                                    }  
  83   3                                 TR0=1;                  
  84   3                              }           
  85   2                  }
  86   1      
  87   1            }
  88          
  89          void inter(void) interrupt 1 using 1
  90                {
  91   1            
  92   1               TH0=0x4c;
  93   1               TL0=0x00;
  94   1               flag++;
  95   1               if(flag==4)
  96   1                  {
  97   2                     flag=0;
  98   2                     flag1=1;
  99   2                  }
 100   1            }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    286    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?