51单片机花样流水灯求解

2019-07-15 09:02发布

P0,P1口直接驱动16路LED,定时时间到灭一路(定时器0假设5S,从P1.7开始到P0.0结束)而且灭的这路效果为渐灭。有一个按键有俩功能,选择整体亮度(高、中、低亮度),控制定时时间(假设5S、10S、30S)。只用51单片机直接做,求大牛指点迷津。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
wjz01002
2019-07-16 04:19
本帖最后由 wjz01002 于 2018-1-10 12:54 编辑
人中狼 发表于 2018-1-10 12:34
用一个定时器做模拟的PWM,在这个定时器里控制该哪一路LED动作,按键用一个引脚就可以了,最好有两个LED用来指示当前处于哪一种功能设定,通过记录按键按下的次数来判断选择哪个功能。整体亮度看是指什么了,如果是16路LED的亮度的话,那也是由模拟PWM来控制,这样就需要区别控制渐灭LED和常亮LED了。 ...

不太明白,void jmie0 ()
{
        for (pwm=time;pwm>0;pwm--)
                {
                        P05=1;
                        delay(pwm);
                        P05=0;
                        delay(time-pwm);
                }
}这是我某路渐灭程序


if (p==20)
                {
                        p=0;
                        sec++;
                        if (sec==2)//30秒定时到
                        {        
                                sec=0;
                                table++;
                                if (table>0&&table<9)
                                {
                                        P1=0xff;
                                        P0=play[table];
                                }
                                if (table>=9&&table<=16)
                                {
                                        P0=0X00;
                                        P1=play[table];               
                                }                                
                                if (table==16)
                                {
                                        table=0;
                                }
                        }                        
                }这是IO口到时灭一路。怎么个弄法啊

一周热门 更多>