永发信息网

注释一个C语言 单片机程序..最好能在线交流下。

答案:1  悬赏:0  手机版
解决时间 2021-07-21 00:38
  • 提问者网友:你挡着我发光了
  • 2021-07-20 02:02

一个关于LED循环点亮得问题..

#include<stdio.h>
#define uchar unsigned char
#define unint unsignde int
void delay(uint s)
{ uchar kl
while(--s)
{ for(k=0;l<123;k++)
;
}
}
void main()
{ uchar i,j;
j=0x01;
while(1)
{ j=0x01;
for(i=0;i<8;i++)
{ po=j;
delay(1000);
j<<=1;
}
j=0xfe;
for(i=0;i<8;i++)
{ po=j;
delay(1000);
j<<=1;
}
}
}

最佳答案
  • 五星知识达人网友:佘樂
  • 2021-07-20 03:41

// 包含标准头文件


#include<stdio.h>



//定义宏
#define uchar unsigned char
#define unint unsignde int



// 延时函数,视单片机和晶振而定,此处应该视为(s 秒)
void delay(uint s)
{


uchar kl
while(--s)
{ for(k=0;l<123;k++)
;
}
}



// 主函数入口
void main()
{


uchar i,j;
j=0x01;


//主程序循环
while(1)
{


j=0x01;


// 循环8次,8个LED为 从右到左依次点亮
for(i=0;i<8;i++)
{


// j 赋给P0


P0=j;


// 延时1秒
delay(1000);


// 左移


// 初始j = 0x01,二进制为 00000001 左移后就是 00000010 ,LED就点亮左边的一个
j<<=1;
}



j=0xfe;


// 循环8次,8个LED为 从右到左依次熄灭
for(i=0;i<8;i++)
{


p0=j;
delay(1000);


//初始j = 0xfe,二进制为11111110 左移后就是 11111101,LED就熄灭左边的一个
j<<=1;
}
}
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯