第4章 点亮第一颗LED灯

第四章 点亮第一颗LED灯

1. 硬件介绍

1.1 LED简介

百度百科关于发光二极管的介绍发光二极管_百度百科 (baidu.com)

所谓的LED就是发光二极管啦,它具有单向导通性,学过模电的都知道。通过5mA点亮即可发光,电流越大越亮,但是不能太大了,不然会烧坏,这时候我们就会在LED管脚上串联一个电阻,目的就是限流,因此这些电阻又叫做“限流电阻”

当发光二极管发光的时候,用万用表测量它两端的电压,会得到大约1.7V,这个电压又叫做发光二极管的“导通压降”(啊,又是模电)

下面看看LED的图咯:

值得注意的是:直插式二极管长脚为阳极(正极),短脚为阴极(负极),我们初中时就学过了电流从正极流向负极,所以在DIY的时候别电源接反了(我就因为这个烧个几个模块还有一个CPU😭

2. 硬件设计

我们的普中A7开发板上面板载了LED模块,如下图所示:

该模块独立,可以自由连接单片机IO口,因此D1-D8可连接到单片机的P20-P27口。

LED有两种接法:即共阴和共阳,共阳就是LED阳极管脚(+)接电源VCC(+),阴极管脚通过一个限流电阻(RP9 471)接到P2口上。(我们开发板上面就是使用的共阳接法)关于共阳共阴更加详细: 数码管共阳和共阴是什么意思? - 知乎 (zhihu.com)

根据前面介绍和模电知识,要让LED发光,即对应的阴极管脚应为低电平,若为高电平熄灭(还是简单解释一下吧:这是因为LED是一种二极管,在正向偏置(阳极高于阴极电压)时才能工作。当LED的阴极与地(零电位)相连时,通过LED的电流从阳极流向阴极,使LED正向偏置,从而导致发光。因此,为了使LED发光,对应的阴极管脚需要保持低电平,以确保正向偏置状态。

所以下面软件设计要实现的就是让P2口输出低电平,从而使LED亮

3. 软件设计

本章要实现的功能是:点亮D1指示灯。前面我们已经学会怎么创建工程了,现在我们仅需写代码就行了。代码如下:

#include <REGX52.H> // 头文件

sbit LED = P2^0; // 将P2_0管脚定义为LED

int main()
{
    LED = 0; // 设置LED电平为0,即低电平

    return 0;    
}

关于头文件和sbit可以参考:sbit在c语言中的作用,sbit是什么意思-CSDN博客reg52.h头文件的内容 - 知乎 (zhihu.com)简单来说sbit就是定义的意思,REGX52.H与stdio.h一样,就是编译器提前写好了一些功能,你只需调用继续咯

或者我们可以直接令P2口为0,我建议还是定义一下,别人看你的程序就会一目了然

#include <REGX52.H> // 头文件

int main()
{
    P2_0 = 0; // 设置P2_0口电平为0,即低电平

    return 0;    
}

4. 实验现象

看,D1已经被我们点亮了!

注意嗷:要用一根线把D1和P2_0口连起来

5. 小结

我们终于点亮了第一颗LED灯,不算困难,现在我们知道了,操作模块,就是利用模块的特性,设计代码,与单片机的IO口相连,怎么样,很简单吧。后面我们的操作也是这样,先介绍硬件特性,再写代码,导线再一连,大功告成。

该章本质就是使IO口输出为地电平,从而电流与之连接的LED

下一章我们就开始花式玩转LED灯(闪烁、流水)


2024.6.24修订,后期不再维护

posted @ 2024-08-18 10:40  hazy1k  阅读(43)  评论(2编辑  收藏  举报