51单片机8个led向左循环依次点亮,按一下开关后往右循环一次后继续向左循环

51单片机8个led向左循环依次点亮,按一下开关后往右循环一次后继续向左循环p1口接8个发光二极管,每个时刻只有一只点亮,点亮的灯每隔0.5秒移动一次。p2口为开关... 51单片机8个led向左循环依次点亮,按一下开关后往右循环一次后继续向左循环p1口接8个发光二极管,每个时刻只有一只点亮,点亮的灯每隔0.5秒移动一次。p2口为开关 展开
 我来答
zhxiufan
2018-01-12 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38384
国家科技进步奖

向TA提问 私信TA
展开全部
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
uchar time=0,num,led=0xfe;
bit flag=0;
sbit key=P2^0;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
time++;
if(time>=10)
    {
    time=0;
    if(flag==0)
        {
        P0=led;
        led=_crol_(led,1);
      念搜返  }
    else
        {
        P0=led;
        led=_cror_(led,1);
        num++;
 漏凯       if(num>8)flag=0;
        }
   仔饥 }
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
    {
    if(key==0)
        {
        while(key==0);
        flag=1;
        num=0;
        }
    }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式