左右来回的流水灯 PROTEUS 和51单片机教程(附仿真文件+源代码)

左右来回的流水灯 PROTEUS 和51单片机教程:

在这里插入图片描述
在这里插入图片描述
程序源代码如下:

/*
左右来回的流水灯
*/
#include<reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;

void delay(uint16 x)
{
uint8 i,j;
for(i = x; i > 0; i --)
for(j = 114; j > 0; j --);
}

void main()
{
uint8 b = 0, way = 0; //移动位数变量及移动方向变量
while(1)
{
if(way == 0) //根据way选择左移还是右移
P0 = ~(0x01 << b); //最低位的0被左移b位
else
P0 = ~(0x80 >> b); //最高位的0被右移b位

	 if( ++b == 8) 				  //如果移动到左端或右端
	 {
	 	b = 0;					  //b归0
		way = !way;				  //改变方向
	 }
	 delay(200);
}

}

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。

谢谢!

发布了64 篇原创文章 · 获赞 159 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_44212493/article/details/104329785