51单片机——花样驱动LED灯1.1

1、本次只优化了《51单片机——delay软件延迟1.0》代码,改动不大。

2、加入了用户控制8个led灯指令。

备注:代码有后遗症,代码中用到了软件delay延迟,建议使用定时器。

#ifndef __LED_H__
#define __LED_H__

#include "delay.h"

extern void LED_ON();				//点亮8个LED灯常亮
extern void LED_OFF();				//关闭8个LED灯
extern void LED_shan_suo(unsigned char x);	//8个LED灯闪烁,闪烁x次
extern void LED_liu_sui_deng();			//8个LED灯流水灯
extern void LED_Admin_EN(unsigned char datax);//用户控制8个led灯

#endif
/*共计有8个LED灯,均使用80C52的P1口
	LED灯低电平点亮
	其中,P1_0-P1_4口独自使用
	P1_5、P1_6、P1_7和WiFi模块共用了
	点亮LED灯必须要硬件接上跳帽线
*/
#include "led.h"
#include <reg52.h>

#define LED_8 P1

//用户控制8个led灯
void LED_Admin_EN(unsigned char datax)
{
	LED_8 = datax;
}

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

金丝草

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

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

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

打赏作者

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

抵扣说明:

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

余额充值