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

📄 led.lst

📁 资料为主从控制的LED七彩灯
💻 LST
字号:
C51 COMPILER V7.06   LED                                                                   01/14/2009 10:59:59 PAGE 1   


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

stmt level    source

   1            #include<AT89X52.h>
   2          
   3          unsigned char count;count1,count2;
   4          unsigned int data time;
   5          #define  PWM_DELAY   60
   6          #define  OFF_DELAY   20
   7          unsigned char data PWMR,PWMB,PWMG;
   8          
   9          unsigned char DIP_P1;
  10          //-------初始化函数------------------
  11          void init_serialcomm( void ) 
  12          { 
  13   1          SCON = 0x50 ;
  14   1          TMOD=0x01; 
  15   1          TMOD |= 0x20 ; 
  16   1          TH1=0XFD;
  17   1          TL1=0XFD; 
  18   1          TR1 = 1 ; 
  19   1          TH0=0Xff;
  20   1               TL0=0X06; 
  21   1          TR0=1;
  22   1      } 
  23          //----------延时函数-----------------
  24           void DELAY(unsigned int MS) 
  25          { 
  26   1          unsigned char us,usn; 
  27   1           while(MS!=0) 
  28   1           {  
  29   2              usn = 2;   //在12M晶振下接近1ms 
  30   2               while(usn!=0) 
  31   2                { 
  32   3                   us=0xf9; 
  33   3                   while (us!=0){us--;}; 
  34   3                    usn--; 
  35   3                  } 
  36   2              MS--; 
  37   2             } 
  38   1         } 
  39          
  40          
  41          
  42          
  43          void sent_data(void )
  44          {  
  45   1            unsigned char OPREG;
  46   1            DIP_P1=P1&0X0F;
  47   1            switch(DIP_P1)
  48   1             {
  49   2      case  1:PWMR=100; //红色
  50   2               PWMB=0;
  51   2               PWMG=0; 
  52   2                
  53   2               break;
  54   2      case  2: PWMR=100; ////红色+绿色  
  55   2               PWMG=100;
C51 COMPILER V7.06   LED                                                                   01/14/2009 10:59:59 PAGE 2   

  56   2               PWMB=0; 
  57   2                
  58   2               break;
  59   2      
  60   2      case  3: PWMR=0; ///+绿色  
  61   2               PWMG=100;
  62   2               PWMB=0;
  63   2           
  64   2               break;
  65   2      case  4: PWMR=0; /////蓝色+绿色
  66   2               PWMG=100;
  67   2               PWMB=100; 
  68   2        
  69   2               break;
  70   2      case  5: PWMR=0; /////蓝色
  71   2               PWMG=0;
  72   2               PWMB=100;
  73   2         
  74   2               break;
  75   2      case  6: PWMR=100; ////红色+蓝色 
  76   2               PWMG=0;
  77   2               PWMB=100; 
  78   2           
  79   2               break;
  80   2      
  81   2      case  7: PWMR=100; ////红色+蓝色+绿色 
  82   2               PWMG=100;
  83   2               PWMB=100;
  84   2         
  85   2               break;
  86   2      case  8: break;
  87   2      default:PWMG=0;
  88   2              PWMB=0;
  89   2              PWMR=0;
  90   2               break;
  91   2              }
  92   1            OPREG=PWMR;
  93   1            OPREG+=0X80;
  94   1            SBUF=OPREG;
  95   1            while(TI==0);   
  96   1             TI=0;
  97   1             SBUF=PWMB;  
  98   1             while(TI==0);   
  99   1             TI=0;
 100   1             SBUF=PWMG;  
 101   1             while(TI==0);   
 102   1              TI=0;
 103   1      }
 104          
 105          
 106          
 107          //------------------------------------------------                                                                                                                       
 108          main()
 109          {
 110   1          P1=0XFF;
 111   1          DIP_P1=P1&0X0F;
 112   1          init_serialcomm(); //初始化串口 
 113   1          while(1)
 114   1          { 
 115   2               for(PWMR=0;PWMR<=100;PWMR++) //红色
 116   2                {
 117   3                                   DELAY( PWM_DELAY );
C51 COMPILER V7.06   LED                                                                   01/14/2009 10:59:59 PAGE 3   

 118   3                    sent_data( );
 119   3                               }
 120   2               DELAY( 12000);
 121   2                for(PWMR=100;PWMR>0;PWMR--) 
 122   2                 {
 123   3                                   DELAY( PWM_DELAY );
 124   3                     sent_data( );
 125   3                                      }
 126   2                             DELAY( OFF_DELAY);
 127   2                  PWMG=0;
 128   2                  PWMB=0;
 129   2                  PWMR=0;
 130   2                  for(PWMR=0;PWMR<=100;PWMR++, PWMG++) //红色+绿色      
 131   2                  {
 132   3                                        DELAY(  PWM_DELAY );
 133   3                    sent_data( );
 134   3                                      }
 135   2                     DELAY( 12000);
 136   2                   for(PWMR=100;PWMR>0;PWMR--, PWMG--)     
 137   2                  {
 138   3                                         DELAY(  PWM_DELAY );
 139   3                      sent_data( );
 140   3                                      }
 141   2                              DELAY( OFF_DELAY);
 142   2                      PWMG=0;
 143   2                      PWMB=0;
 144   2                      PWMR=0;
 145   2                  for(PWMG=0;PWMG<=100;PWMG++) //绿色
 146   2                  {
 147   3                                          DELAY(  PWM_DELAY );
 148   3                       sent_data( );
 149   3                                  }
 150   2                       DELAY( 12000);
 151   2                   for(PWMG=100;PWMG>0;PWMG--) 
 152   2                  
 153   2                                         {
 154   3                                           DELAY(  PWM_DELAY );
 155   3                       sent_data( );
 156   3                                    }
 157   2                                 DELAY( OFF_DELAY);
 158   2                       PWMG=0;
 159   2                       PWMB=0;
 160   2                       PWMR=0;
 161   2                   for(PWMG=0;PWMG<=100;PWMG++) //蓝色+绿色
 162   2                    {    
 163   3                                       PWMB++ ;  
 164   3                         DELAY(  PWM_DELAY );
 165   3                         sent_data( );
 166   3                                              }
 167   2                        DELAY( 12000);
 168   2                  for(PWMG=100;PWMG>0;PWMG--) 
 169   2                     {    
 170   3                                            PWMB--;
 171   3                        DELAY(  PWM_DELAY );
 172   3                       sent_data( );
 173   3                       }
 174   2                      DELAY( OFF_DELAY);
 175   2                      PWMG=0;
 176   2                      PWMB=0;
 177   2                      PWMR=0;
 178   2                    for(PWMB=0;PWMB<=100;PWMB++) //蓝色
 179   2                     {
C51 COMPILER V7.06   LED                                                                   01/14/2009 10:59:59 PAGE 4   

 180   3                                                      DELAY(  PWM_DELAY );
 181   3                        sent_data( );
 182   3                                              }
 183   2                        DELAY( 12000);
 184   2                    for(PWMB=100;PWMB>0;PWMB--) 
 185   2                      {
 186   3                                                                               
 187   3                                                  DELAY( PWM_DELAY );
 188   3                           sent_data( );
 189   3                                                }
 190   2                        DELAY( OFF_DELAY);
 191   2                          PWMG=0;
 192   2                          PWMB=0;
 193   2                          PWMR=0;
 194   2                     for(PWMR=0;PWMR<=100;PWMR++, PWMB++) //红色+蓝色 
 195   2                       {
 196   3                                                   DELAY(  PWM_DELAY );
 197   3                          sent_data( );
 198   3                                                      }
 199   2                          DELAY( 12000);
 200   2                     for(PWMR=100;PWMR>0;PWMR--, PWMB--)     
 201   2                        {
 202   3                                                         DELAY(  PWM_DELAY );
 203   3                           sent_data( );
 204   3                                                 }
 205   2                                    DELAY( OFF_DELAY);
 206   2                          PWMG=0;
 207   2                          PWMB=0;
 208   2                           PWMR=0;
 209   2                         for(PWMR=0;PWMR<=100;PWMR++,PWMB++,PWMG++) //红色+绿色+蓝色     
 210   2                          {
 211   3                                                          DELAY( PWM_DELAY );
 212   3                             sent_data( );
 213   3                                                              }
 214   2                           DELAY( 12000);
 215   2                          for(PWMR=100;PWMR>0;PWMR--,PWMG--,PWMB--)           
 216   2                           {
 217   3                                                                DELAY( PWM_DELAY );
 218   3                              sent_data( );
 219   3                                                          }
 220   2                                      DELAY( OFF_DELAY);
 221   2              
 222   2      
 223   2      
 224   2                    }
 225   1      
 226   1      }


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