51单片机控制8个灯按一下开关是8灯全亮再按一下跑马灯

 我来答
专注51单片机
2019-01-10 · TA获得超过810个赞
知道小有建树答主
回答量:1150
采纳率:58%
帮助的人:230万
展开全部
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
uchar led;
uchar val;
sbit key=P3^2;
void delay(uchar a)
{
uchar i;
while(a--)for(i=0;i<120;i++);
}
main()
{
while(1)
    {
        if(key==0)
        {
            while(key==0);
            val++;
            if(val>2)val=1;
        }
        if(val==1)
        {
        P1=0x00;
        }
        if(val==2)
        {
        P1=led;
        led=_crol_(led,1);
        delay(200);
        }
    }
}
蔚蓝hsj
2019-01-09
知道答主
回答量:13
采纳率:100%
帮助的人:2万
展开全部
写一个分支函数,先设一个变量,比如,按1下开关,变量+1,在按1下+1,在按值0,分支函数检测这个变量数执行相应的变量即可。(这个是简明的思路,程序就自己写了)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
起个名真难重名太多了
2019-01-09 · TA获得超过1646个赞
知道小有建树答主
回答量:1176
采纳率:69%
帮助的人:281万
展开全部
不玩51好多年了。现在都在玩stm32。你也来st阵营吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式