TA的每日心情 | 开心 2024-11-15 10:53 |
---|
签到天数: 2289 天 [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);
}
} |
|