花样驱动LED灯

不需要啰里啰唆了,别人的代码都在一个main()函数里面。在这里我直接使用模块化编程,有不懂模块化编程的可自行学习一下。

也不啰里啰唆的写第一个点亮LED灯了。

写的不知道好不好,有什么不对的地方还请指出,谢了。

#ifndef __LED_H__
#define __LED_H__
#include <reg52.h>

#define p1  P1
sbit p1_0 = P1^0;

void LED_ON();				        //点亮8个LED灯常亮
void LED_OFF();				        //关闭8个LED灯
void LED_shan_suo(unsigned char x);	//8个LED灯闪烁,闪烁x次
void LED_liu_sui_deng();			//8个LED灯流水灯
void LED1_ON();				        //开启一个LED灯亮
void LED1_OFF();			        //关闭一个LED灯

#endif
#include "led.h"
#include "delay.h"

//点亮8个LED灯常亮
void LED_ON(void)			
{
	p1 = 0x00;
}

//关闭8个LED灯
void LED_OFF(void)			
{
	p1 = 0xff;
}

//8个LED灯闪烁,闪烁x次
void LED_shan_suo(unsigned char x)		
{
	p1 = 0xff;						//初始化LED灯
	do
	{
		p1 = 0x00;				//灯亮
		delay_ms(500);		//延迟500ms时间
		p1 = 0xff;				//灯灭
		delay_ms(500);		//延迟500ms时间
		x--;
	} while (x);
	p1=0xff;
}

//8个LED灯流水灯
void LED_liu_sui_deng(void)			
{
	unsigned char x;
	unsigned char y = 0xff;
	p1=y;
	for (x=0;x < 8;x++)
	{
		y>>=1;	//LED灯从P1口高位开始向低位点亮
		p1=y;
		delay_ms(1000);
	}
}

//开启一个LED灯亮
void LED1_ON(void)	
{
	p1_0 = 0;
}

//关闭一个LED灯
void LED1_OFF(void)	
{
	p1_0 = 1;
}

猜你喜欢

转载自blog.csdn.net/qq_44829055/article/details/107427849