欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

led闪烁和流水灯代码

程序员文章站 2022-03-07 20:21:01
目录单个灯闪烁led流水由左到右 载由右到左单个灯闪烁#includetypedef unsigned int u16; //便于移植和修改typedef unsigned char u8;sbit led=P2^0;//P2.0端口定义为 ledvoid delay(u16 i)//延时函数{while(i--);}void main(){while(1){led=0;delay(50000);led=1;delay...

单个灯闪烁

//只有P2.0亮
#include<reg52.h>

typedef unsigned int u16;  //便于移植和修改
typedef unsigned char u8;
sbit led=P2^0;//P2.0端口定义为 led
void delay(u16 i)//延时函数
{
	while(i--);
}
void main()
{
	while(1)
	{
		led=0;
		delay(50000);
		led=1;
		delay(50000);
	}	
}

led流水由左到右 再由右到左

led闪烁和流水灯代码

//从左到右依次亮,再从右到左依次亮
#include<reg52.h>
#include<intrins.h>
#define led P2
typedef unsigned int u16;
typedef unsigned char u8;

void delay(u16 i)
{
	while(i--);
}
void main()
{
	u8 i=0;
    led=0xfe;
	while(1)
	{
		for(i=0;i<7;i++)//移动7次,因为刚开始已经亮了一个
		{
			led=_crol_(led,1); //左移
			delay(50000);
		}
			for(i=0;i<7;i++)
		{
			led=_cror_(led,1); //右移
			delay(50000);
		}
	}	
}

led流水由左到右 再由右到左 只有奇数灯亮

#include<reg52.h>
#include<intrins.h>
#define led P2
typedef unsigned int u16;
typedef unsigned char u8;

void delay(u16 i)
{
	while(i--);
}
void main()
{
	u8 i=0;
    led=0xfe;
	while(1)
	{
		for(i=0;i<3;i++)//移动3次,因为1--3--5--7
		{
			led=_crol_(led,1); //左移
			led=_crol_(led,1); //左移共两次 从1---3
			delay(50000);
		}
		for(i=0;i<3;i++)
		{
			led=_cror_(led,1); //右移
			led=_cror_(led,1); //右移
			delay(50000);
		}
	}	
}

led流水由左到右 再由右到左 只有偶数灯亮

#include<reg52.h>
#include<intrins.h>
#define led P2
typedef unsigned int u16;
typedef unsigned char u8;

void delay(u16 i)
{
	while(i--);
}
void main()
{
	u8 i=0;
    led=0xfd;//P2.1先亮
	while(1)
	{
		for(i=0;i<3;i++)//移动3次,因为2-4-6-8
		{
			led=_crol_(led,1); //左移
			led=_crol_(led,1); //左移  2-4
			delay(50000);
		}
		for(i=0;i<3;i++)
		{
			led=_cror_(led,1); //右移
			led=_cror_(led,1); //右移
			delay(50000);
		}
	}	
}

本文地址:https://blog.csdn.net/qq_46527915/article/details/107247681