蓝桥杯单片机入门(8)—按键控制LED流水灯,加速,减速,暂停,开始

这回我们讲的是,按键对LED灯的控制,这次是基于上次按键模块的基础上进行了进一步的加工,处理。通过按键,实现对LED流水灯的对应的各种功能。

首先,在这里先介绍一个概念,标志位,标志位可以理解为设置的一个变量,这个变量作为标志位去使用,给标志位赋不同的值,执行不同的任务。比如标志位Flag=0,去执行LED灯的加速,让Flag = 1,则去执行LED灯减速。

按键控制LED流水灯的暂停,开始。

        基于上次按键模块的基础上,再次增加了以下几个改动的地方,代码如下,以下代码的功能是通过按键实现对流水灯的开始,暂停操作

unsigned char LED = 0XFE;//给8位灯赋的一个初始值
unsigned int Time = 600;//类似于宏定义,给Time一个固定的600毫秒的值
bit Flag;//设置一个标志位

		if(Flag = 1)//设置一个标志位
		{
			LED = _crol_(LED,1);//进行移位
			Delay(Time);//延时600毫秒
		}
		
		switch(Key_Down)
		{
			case 1:Flag = 1;break;//如果SW1按下,让标志位为1,则执行LED流水灯开始的操作
			case 2:Flag = 0;break;//如果SW1按下,让标志位为0,停止执行LED流水灯开始的操作
		}

接着,我们实现一下通过按键对流水灯的加速减速操作,我们可以通过对延时函数的延长时间进行加速减速,这样子我们即可完成按键对LED流水灯的操作加速减速


                
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值