51单片机花样流水灯求解

2019-07-15 09:02发布

P0,P1口直接驱动16路LED,定时时间到灭一路(定时器0假设5S,从P1.7开始到P0.0结束)而且灭的这路效果为渐灭。有一个按键有俩功能,选择整体亮度(高、中、低亮度),控制定时时间(假设5S、10S、30S)。只用51单片机直接做,求大牛指点迷津。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
wjz01002
2019-07-17 01:40
人中狼 发表于 2018-1-10 14:17
要看你整合后的程序是怎么样的,整体亮度的调节应该和时间控制部分都在一个switch里

void keyscan()
{
        if (k1==0)
                Delayms(20);
                if (k1==0)
                {        while (!k1);               
                        cs++;
                        if (cs==4)
                                cs=1;
                                        }       
                switch (cs)
                {
                        case 1:
                                //hight();//高亮状态,进入定时并显示状态
                                led_3 ();
                                break;                               
                        case 2:
                                //bight();//中亮
                                led_3 ();
                                break;
                        case 3:
                                //light();//低亮
                                led_3 ();
                                break;
                       
                        case 4:hight();break;        //¾²Ö¹×´Ì¬                               
                        case 5:bight();break;                               
                        case 6:light();break;
                               
                        case 7:        //
                                led_2();
                                break;
                        case 8:
                                led_2();
                                break;
                        case 9:
                                led_2();
                                break;
                        case 10:                //¶¨Ê±30Ãë
                                led_1();
                                break;
                        case 11:
                                led_1();
                                break;
                        case 12:
                                led_1();
                                break;
       
        }
}
这是最终while(1)循环的按键检测程序,,亮度程序和定时显示程序只能进一个,。。。额..

一周热门 更多>