51单片机实现流水灯

用51单片机实现流水灯

首先也是要知道LED的电路图

 

由图可以知道LED灯是连接在51的P1的IO口上,且该LED是共阳极LED灯,也就是IO输出低电平,LED灯亮。

要实现流水灯,首先要知道流水灯的原理:流水灯的原理就是控制LED灯的亮和灭,实现流水的效果。通过控制P1的IO口轮流输出低电平使LED灯轮流亮,利用二进制转换成十六进制,先是第一个LED灯亮,然后延时100ms,再控制第二个LED灯亮,以此类推

#include<reg52.h>

void Delay100ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	i = 5;
	j = 52;
	k = 195;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void main()
{
	while(1)
	{
		P1 = 0xfe; //1111 1110
		Delay100ms();
		P1 = 0xfd; //1111 1101
		Delay100ms();
		P1 = 0xfb; //1111 1011
		Delay100ms();
		P1 = 0xf7; //1111 0111
		Delay100ms();
		P1 = 0xef; //1110 1111
		Delay100ms();
		P1 = 0xdf; //1101 1111
		Delay100ms();
		P1 = 0xbf; //1011 1111
		Delay100ms();
		P1 = 0x7f; //0111 1111
		Delay100ms();
	}
}

要注意延时函数的使用。以及二进制和十六进制的转换

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿贝多分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值