一个关于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;
}
}
}
// 包含标准头文件
#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;
}
}
}
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息