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

📄 7.lst

📁 上传一些
💻 LST
字号:
C51 COMPILER V7.06   7                                                                     09/01/2008 13:07:38 PAGE 1   


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

stmt level    source

   1          #include<reg52.h>       //整过过程是通过一级一级的运行与判断进行的,在每一次显示效果完成后,关闭当前,启动下一
             -效果,即进入下一个效果,
   2          #include<intrins.h>
   3          sbit m=P2^5;
   4          char code table[]={0x7e,0xbd,0xdb,0xe7,0x7e,0xbd,0xdb,0xe7,0x7e,0xbd,0xdb,0xe7};
   5          char code table1[]={0xe7,0xdb,0xbd,0x7e,0xe7,0xdb,0xbd,0x7e,0xe7,0xdb,0xbd,0x7e};
   6          unsigned int x,y,m0,m1,m2,t0,t,t1,t2,h,flag,flag1,flag2,flag3,flag4,flag5,flag6,flag7,flag8,u,i;
   7          void delay1()  //500ms
   8                {
   9   1               for(x=0;x<129;x++)
  10   1                  for(y=0;y<250;y++);
  11   1            }
  12          
  13          
  14          void main()
  15                {
  16   1               m=1;
  17   1               t0=0xaa;
  18   1               t1=0xfe;
  19   1               flag2=1;
  20   1               TMOD=0x01;
  21   1               EA=1;
  22   1               ET0=1;
  23   1               TH0=0x4c;
  24   1               TL0=0x00;
  25   1               TR0=1;
  26   1               while(1)             //进入大循环
  27   1                     {
  28   2                           if(flag1==1)   //保证每隔一秒钟灯操作一次
  29   2                              {     
  30   3                                    flag1=0;
  31   3                                    if(flag2==1)   //间隔1s先奇数灯亮在偶数灯亮
  32   3                                       {
  33   4                                          
  34   4                                          P1=_crol_(t0,1);
  35   4                                          t0=P1;
  36   4                                          flag3++;
  37   4                                       }
  38   3                                    if(flag3==4)         //一个灯上下循环亮
  39   3                                       {
  40   4                                          flag2=0;          //关闭让灯奇偶亮
  41   4                                                   if(flag4==0)         //参照作业流水灯5
  42   4                                                         {
  43   5                                                         
  44   5                                                            P1=0xfe;
  45   5                                                            TR0=0;
  46   5                                                            delay1();
  47   5                                                            delay1();
  48   5                                                            TR0=1;
  49   5                                                            P1=_crol_(t1,1);
  50   5                                                            
  51   5                                                            t1=P1;
  52   5                                                            flag5++;
  53   5                                                            if(flag5==7) 
  54   5                                                               {
C51 COMPILER V7.06   7                                                                     09/01/2008 13:07:38 PAGE 2   

  55   6                                                               flag5=0; 
  56   6                                                               flag4=1;
  57   6                                                               TR0=0;
  58   6                                                               delay1();
  59   6                                                               delay1();
  60   6                                                               TR0=1;
  61   6                                                               }  
  62   5                                                         }
  63   4                                                   if(flag4==1)
  64   4                                                         {
  65   5                                                            
  66   5                                                               P1=_cror_(t1,1);
  67   5                                                            
  68   5                                                               t1=P1;
  69   5                                                               flag5++;
  70   5                                                               if(flag5==7) 
  71   5                                                                  {
  72   6                                                                     m0++;
  73   6                                                                     flag5=0; 
  74   6                                                                     flag4=0;
  75   6                                                                     if(m0==3)   
  76   6                                                                           {m0=0;flag6=1;flag3=0;}
  77   6                                                                     delay1();
  78   6                                                                  }  
  79   5                                                         }
  80   4                                                      
  81   4                                       
  82   4                                       }
  83   3                                    if(flag6==1)      //两个分别从两边往中间流动三次
  84   3                                       {
  85   4                                          P1=table[m1];     //用数组的方式调用灯的两灭
  86   4                                          m1++;
  87   4                                          if(m1==11)
  88   4                                             {
  89   5                                                m1=0;
  90   5                                                flag6=0;
  91   5                                                flag7=1; 
  92   5                                                TR0=0;      //为了最后的一次过程也亮一秒在进入下一过程,先关闭定时器,延时一秒,在打开,否则影响
             -后面的定时
  93   5                                                delay1();
  94   5                                                delay1();
  95   5                                                TR0=1;
  96   5                                             }
  97   4                                       }
  98   3                                    if(flag7==1)
  99   3                                       {
 100   4                                          P1=table1[m2];
 101   4                                          m2++;
 102   4                                          if(m2==11)
 103   4                                             {
 104   5                                                m2=0;
 105   5                                                flag7=0;
 106   5                                                flag8=1; 
 107   5                                                TR0=0;
 108   5                                                delay1();
 109   5                                                delay1();
 110   5                                                TR0=1;
 111   5                                             }     
 112   4               
 113   4                                       }
 114   3                                    if(flag8==1)         //8个全部闪烁3次,参照作业流水灯5
 115   3                                             {
C51 COMPILER V7.06   7                                                                     09/01/2008 13:07:38 PAGE 3   

 116   4                                                TR0=0;
 117   4                                                u=0xff;
 118   4                                                i=0x00;
 119   4                                                P1=0x00;
 120   4                                                flag8=0;
 121   4                                                delay1();
 122   4                                                for(t=0;t<8;t++)
 123   4                                                   {
 124   5                                                      i=P1;
 125   5                                                      P1=u;
 126   5                                                      u=i;  
 127   5                                                      TR0=0;
 128   5                                                      delay1();
 129   5                                                      delay1();
 130   5                                                      TR0=1;
 131   5                                                   }  
 132   4                                                flag2=1;
 133   4                                                TR0=1;                  
 134   4                                             }     
 135   3                              }
 136   2                  }
 137   1            }
 138          
 139          
 140          
 141          
 142          void inter(void) interrupt 1 using 1
 143                {
 144   1            
 145   1               TH0=0x4c;
 146   1               TL0=0x00;
 147   1               flag++;
 148   1               if(flag==20)
 149   1                  {
 150   2                     flag=0;
 151   2                     flag1=1;
 152   2                  }
 153   1            }
 154          


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