51单片机实现流水灯

51单片机实现流水灯

本次的实现效果方式采用模拟进行,芯片为AT89C51,开发软件为keil5,proteus


@

上代码

代码如下:

/*
如果需要从左往右将第6行,第22行temp改成0x80
将第26行<<改成>>
*/
#include <REGX51.H> //引用51库

unsigned char temp=0x01; //定义一个无符号字符变量temp,初始值为0x01(二进制为0000 0001),用于控制LED的状态。
unsigned int c=0,i=0;

void delay(unsigned int t) //延迟函数
{
	
	for(c=0;c<t;c++);
}

void main() //主函数
{
	for(i=0;i<=8;i++)
	{
		if(i==8) //如果灯到8重新开始循环
		{
			i=0;
			temp=0x01;
		}
		P1 = ~ temp; //取反
		temp=temp<<1;//进行位移
		delay(50000);//延时函数
	}
}

总结

代码演示了一个简单的LED流水灯效果,通过延时函数和左移操作更新temp的值来控制P1端口的输出,最终实现预期效果。

posted @ 2024-09-29 01:01  少年执笔  阅读(147)  评论(0)    收藏  举报