《初学者C51自学笔记》之流水灯实现(位操作)

#include <reg52.h>
sbit led0=P0^0;
sbit led1=P0^1;
sbit led2=P0^2;
sbit led3=P0^3;
sbit led4=P0^4;
sbit led5=P0^5;
sbit led6=P0^6;
sbit led7=P0^7;
void delay(void)
{
	unsigned char a,b;
	for(a=0;a<200;a++)
	for(b=0;b<200;b++);
}

void main()
{
while(1)
	{
	led0=0;
	delay();
	led0=1;
	delay();

	led1=0;
	delay();
	led1=1;
	delay();
			
	led2=0;
	delay();
	led2=1;
	delay();

	led3=0;
	delay();
	led3=1;
	delay();

	led4=0;
	delay();
	led4=1;
	delay();

	led5=0;
	delay();
	led5=1;
	delay();

	led6=0;
	delay();
	led6=1;
	delay();

	led7=0;
	delay();
	led7=1;
	delay();
	}
}

P0为低电平时二极管发亮

VCC接高电平,从而P0就只能接低电平;

如果主函数没有while语句,机器也会自动循环,但最好加上while语句;

如果想让程序停住,可在末尾家while(1);

单片机里面如果没有对I/O进行操作,则其默认为高电平;

猜你喜欢

转载自blog.csdn.net/qq_40691438/article/details/81382235