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

📄 krhld.lst

📁 LED照明行业地砖及护栏控制器程序 从现况来看
💻 LST
📖 第 1 页 / 共 2 页
字号:
 187          {
 188   1      uchar i;
 189   1      for(i=1;i<255;i++)
 190   1              {
 191   2              roe=(r<i)?1:0;
 192   2              goe=(g<i)?1:0;
 193   2              boe=(b<i)?1:0;
 194   2              }
 195   1      }
 196          
 197          //********************************
 198          // 多彩流动
 199          //***************************************
 200          void    qcld(uchar ts,uchar code *rp,uchar code *gp,uchar code *bp)
 201          {
 202   1      uchar i,j;
 203   1      for(j=0;j<ts;j++)
 204   1              {
 205   2              for(i=0;i<7;i++)
 206   2                      dis_buf[i]=dis_buf[i+1];
 207   2                      dis_buf[7]=dis_buf[24];
 208   2              for(i=8;i<15;i++)
 209   2                      dis_buf[i]=dis_buf[i+1];
 210   2                      dis_buf[15]=dis_buf[32];
 211   2              for(i=16;i<23;i++)
 212   2                      dis_buf[i]=dis_buf[i+1];
 213   2                      dis_buf[23]=dis_buf[40];
 214   2      
 215   2              for(i=24;i<31;i++)
 216   2                      dis_buf[i]=dis_buf[i+1];
 217   2                      dis_buf[31]=dis_buf[48];
 218   2              for(i=32;i<39;i++)
 219   2                      dis_buf[i]=dis_buf[i+1];
 220   2                      dis_buf[39]=dis_buf[56];
 221   2              for(i=40;i<47;i++)
 222   2                      dis_buf[i]=dis_buf[i+1];
 223   2                      dis_buf[47]=dis_buf[64];
 224   2      
 225   2              for(i=48;i<55;i++)
 226   2                      dis_buf[i]=dis_buf[i+1];
 227   2                      dis_buf[55]=dis_buf[72];
 228   2              for(i=56;i<63;i++)
 229   2                      dis_buf[i]=dis_buf[i+1];
 230   2                      dis_buf[63]=dis_buf[80];
 231   2              for(i=64;i<71;i++)
 232   2                      dis_buf[i]=dis_buf[i+1];
 233   2                      dis_buf[71]=dis_buf[88];
 234   2      
 235   2              for(i=72;i<79;i++)
 236   2                      dis_buf[i]=dis_buf[i+1];
 237   2                      dis_buf[79]=*rp++;
 238   2              for(i=80;i<87;i++)
 239   2                      dis_buf[i]=dis_buf[i+1];
 240   2                      dis_buf[87]=*gp++;
 241   2              for(i=88;i<95;i++)
C51 COMPILER V7.50   KRHLD                                                                 11/09/2006 17:29:01 PAGE 5   

 242   2                      dis_buf[i]=dis_buf[i+1];
 243   2                      dis_buf[95]=*bp++;
 244   2      
 245   2              delay(60);
 246   2              }
 247   1      
 248   1      }
 249          //************************************
 250          //七彩渐变
 251          //**********************************
 252          
 253          void    qcjb(uint speed)
 254          {
 255   1      uchar i,j;
 256   1      for(i=0;i<96;i++)
 257   1              {
 258   2              da=1;
 259   2              sclk=1;
 260   2              sclk=0;
 261   2              }
 262   1      lat=0;
 263   1      lat=1;
 264   1      for(i=0;i<255;i++)
 265   1              for(j=0;j<speed;j++)
 266   1              pwm_oe(i,0,0);
 267   1      for(i=0;i<255;i++)
 268   1              for(j=0;j<speed;j++)
 269   1              pwm_oe(255,i,0);//y
 270   1      for(i=255;i>0;i--)
 271   1              for(j=0;j<speed;j++)
 272   1              pwm_oe(i,255,0);//g
 273   1      for(i=0;i<255;i++)
 274   1              for(j=0;j<speed;j++)
 275   1              pwm_oe(0,255,i);//q
 276   1      for(i=255;i>0;i--)
 277   1              for(j=0;j<speed;j++)
 278   1              pwm_oe(0,i,255);//b
 279   1      for(i=0;i<255;i++)
 280   1              for(j=0;j<speed;j++)
 281   1              pwm_oe(i,0,255);//z
 282   1      for(i=0;i<255;i++)
 283   1              for(j=0;j<speed;j++)
 284   1              pwm_oe(255,i,255);//b
 285   1      
 286   1      }
 287          
 288          //*********************************
 289          void main(void)
 290          {
 291   1      uchar i;
 292   1      TMOD=0x01;
 293   1      TL0=V_TL0;
 294   1      TH0=V_TH0;
 295   1      TR0=1;
 296   1      ET0=1;
 297   1      TR1=1;
 298   1      rl=0x01;
 299   1      P1=0;
 300   1      while(1)
 301   1              {
 302   2              EA=0;
 303   2              qcjb(2);
C51 COMPILER V7.50   KRHLD                                                                 11/09/2006 17:29:01 PAGE 6   

 304   2              EA=1;
 305   2              roe=0;
 306   2              goe=0;
 307   2              boe=0;
 308   2              
 309   2              cler();
 310   2              qcld(255,chr,chg,chb);
 311   2              qcld(255,chr,chg,chb);
 312   2              qcld(56,x64cr,x64cg,x64cb);
 313   2              qcld(56,x64cr,x64cg,x64cb);
 314   2              for(i=0;i<12;i++)
 315   2                      qcld(7,x7cr,x7cg,x7cb);
 316   2      
 317   2              }
 318   1      
 319   1      }
 320          
 321          //**************************************
 322          void pwmout(void)
 323          {
 324   1      uchar i;
 325   1      for(i=0;i<96;i++)
 326   1              {
 327   2              da=(bit)(dis_buf[i]&rl);
 328   2              sclk=0;
 329   2              sclk=1;
 330   2              }
 331   1      lat=0;
 332   1      lat=1;
 333   1      }
 334          
 335          //*******************************************
 336          void timer1() interrupt  1  
 337          {
 338   1      TR0=0;
 339   1       pwm++;
 340   1              switch(pwm)
 341   1                      {
 342   2                      case    1:
 343   2                              pwmout();
 344   2                              rl=0x02;
 345   2                      break;
 346   2                      case    2:
 347   2                              pwmout();
 348   2                              rl=0x04;
 349   2                      break;
 350   2                      case    4:
 351   2                              pwmout();
 352   2                              rl=0x08;
 353   2                      break;
 354   2                      case    8:
 355   2                              pwmout();
 356   2                              rl=0x01;
 357   2                      break;
 358   2                      case    16:
 359   2                              pwm=0;
 360   2                      break;
 361   2                      default:        break;
 362   2                      }
 363   1      
 364   1              TR0=1;
 365   1      }//end sub
C51 COMPILER V7.50   KRHLD                                                                 11/09/2006 17:29:01 PAGE 7   



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    992    ----
   CONSTANT SIZE    =    957    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =    100      12
   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 + -