TA的每日心情  | 开心 2025-11-4 07:44 | 
|---|
 
  签到天数: 2462 天 [LV.Master]伴坛终老  
 | 
楼主叫这种为流星灯,我叫余辉灯,就是第一个灯全亮,后边几个逐个变暗。 
下边是多年前玩STC单片机写的练习,供参考。 
思路:通过控制LED灯的点亮时间长短控制其亮度。 
当然也可以用PWM,用占空比控制。 
 
/******************************************************************************* 
*  描述:   余辉跑马灯程序                                                          * 
*  连接方法: JP11(P2)和JP1(LED灯) 用8PIN排线连接起来                                                   * 
*                                                                                                                                                           * 
*******************************************************************************/ 
 
#include<reg51.h> 
#include <intrins.h> 
 
/***************************************************************************** 
*  延时子程序                                                                                                                             * 
*                                                                                                                                                         * 
******************************************************************************/ 
void delayms(unsigned char ms) 
{ 
        unsigned char i; 
        while(ms--) 
        { 
        for(i = 0; i < 120; i++); 
        } 
} 
 
/***************************************************************************** 
*  主程序                                                                                                                                 * 
*                                                                                                                                                         * 
******************************************************************************/ 
 main() 
{ 
        unsigned char LED1,LED2,LED3,TM; 
        unsigned char i; 
        LED1 = 0xfe; 
        LED2 = 0xfc; 
        LED3 = 0xf8; 
        P2 = LED1; 
        while(1) 
        { 
                for(i = 0; i < 10; i++) { 
                        delayms(5); 
                        P2 = LED1; 
                        delayms(5); 
                        P2 = LED2; 
                        delayms(2); 
                        P2 = LED1; 
                        delayms(5); 
                        P2 = LED3; 
                        delayms(2); 
                        P2 = LED1; 
                        delayms(5); 
                } 
                LED1 = _cror_(LED1,1); 
                LED2 = _cror_(LED2,1); 
                LED3 = _cror_(LED3,1); 
        } 
} |   
 
 
 
 |