51单片机-流水灯

一.目标

1.实现八个LED灯的点亮、闪烁
2.实现八个LED灯的依次点亮、熄灭、

二.仿真图在这里插入图片描述

三.代码

1.点亮、闪烁
void Delay(unsigned int t) 		//延时函数。通过延时来实现LED灯的同时点亮和熄灭(即实现闪烁目的)
{
   
	while(t--);
}

void LED_shan()
{
   
	char i;						//定义一个参数i	
	for(i=0;i<3;i++)			//使用for循环来控制闪烁时间,这里设定为3秒。
	{
   P1=0x00;					//16进制=2进制 0000 0000
	 Delay(50000);				//延时时间设定为50000毫秒
	 P1=0xff;					//16进制=2进制 1111 1111
	 Delay(50000);
	}
}
2.依次点亮熄灭,逆序熄灭
sbit D1=P1^0;				//定义P1口的8个接口
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit D5=P1^4;
sbit D6=P1^5;
sbit D7=P1^6;
sbit D8=P1^7;

void LED_liu()
{
   
	D1=0;					//由于图中LED灯是负极连接芯片,所以需要输出一个低电平来实现LED灯的点亮
	Delay(50000);			//由于是依次点亮、熄灭,所以使用延时函数来控制LED灯的亮灭
	D2=0;
	Delay(50000);
	D3=0;
	Delay(50000);
	D4=0;
	Delay(50000);
	D5=0;
	Delay(50000);
	D6=0;
	Delay(50000);
	D7=0;
	Delay(50000);
	D8=0;
	Delay(50000);
	
	D1=1;
	Delay(50000);
	D2=1;
	Delay(50000);
	D3=1;
	Delay(50000);
	D4=1;
	Delay(50000);
	D5=1;
	Delay(50000);
	D6=1;
	Delay(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值