蓝桥杯单片机入门(6)—LED灯模块

这回我们讲,蓝桥杯中LED模块

1.点亮一颗LED灯

        在写代码之前我们必须要先明确自己的目的,然后根据需求去写对应的代码功能。首先我们要实现点亮一颗LED灯,在此之前我们要先了解一下LED灯的工作原理,

        首先我们看一下,LED灯的原理图,图中写LED1的地方就是LED灯,左侧是他的正极,我们在图中也可以看到,他的左侧连接了5v电压,右侧是他的负极,由于二极管是单向导电,我们需要在右侧给他低电平,转化成TTL电平也就是0,这样才能够导通二极管,看P1.5这个意思就是说二极管的负极与单片机的P1.5管引脚相连在一起,我们是通过控制引脚的输出高低电平来控制LED灯的亮灭,因此我们给P1.5这个管脚赋值0,就可以导通二极管,让LED灯亮,接下来看代码演示

5f38904bf8af43eb90b0cf5fba4e4b8a.png

接下来,看代码演示

//主函数
void main()
{
	while(1)
	{
		P1.5 = 0;//给P1.5管脚赋值0
	}
	
	
}

这样子的话我们就导通了二极管,二极管就会进行发光发亮,然后我们想让他进行灭掉的话就给P1.5管脚赋值1,就可以关闭LED灯了。

我们如果想让LED灯亮一会,然后再熄灭,该怎么操作呢?  这个我们只需要加个延时函数即可,下面这段代码的功能就是让LED灯亮1000毫秒,然后熄灭,熄灭1000毫秒,这样我们就完成了点亮LED和熄灭LED的操作

		



void main()
{
        P1.5 = 0;//给P1.5管脚赋值0,让LED点亮
        Delay(1000);//延时1000毫秒
        P1.5 = 1;//给P1.5管脚赋值1,让LED灭掉
        Delay(1000);//延时1000毫秒
}

 

如果我们想持续让LED灯进行亮灭,如果是流水灯的模式岂不是挨个赋值,这样会大大加大我们代码的复杂性,这里给大家介绍一个LED流水灯的模式,

假如说,这里有4颗LED灯,对应的原理图如图所示,

40a90ad64b0b494e80fdd00181bbcbfa.png

代码如下

unsgined char LED=0xf;//定义一个变量,给他赋值1111
void main()
{
    while(1)
   {
    P1 =LED;//把LED这个变量的值,赋值给P1,也就是同时赋值给P1.5 P1.4 P1.3 P1.2
    Delay(100);
    LED = _nop_(LED,1);//左移1位
    
   } 
}

这里面用到了一个左移的函数,括号里面传的参数有两个,第一个是移位的对象,我们代码中移位的对象是LED这个变量,1表示左移一位,每次左移一位,这样我们就完成了一个流水灯的操作。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值