第一节 如何点亮LED灯
“好吧, 让我们从最基础的开始。”
1.LED相关知识
LED, 就是我们所说的小灯, 学名发光二极管, 我们经常在许多发光的电子设备中看到这种器件。它的作用主要是作为电源指示灯。它有很多种, 形状和颜色也有很多种。 奇妙的光学色彩总能给人带来奇幻的感受。。。。
-------------------------------------------------------------------------------------------------------
咳咳, 扯远了,下面进入正题。各位注意, 发光二极管是有极性的。也就是说, 只有当电流从阳极流入阴极流出时它才会发光。所以它与单片机相连接时可以这么连接
即,阳极通过一个限流电阻与电源相连接,阴极与51单片机相连接,这种连接方式驱动的能力比较强。 另外, 估计有很多人比较困惑限流电阻的取值大小
“关于这一点,且听老夫慢慢道来。”
首先, LED在导通时其两端电压为1.7V左右。那么,在单片机电源供电电压为5V的情况下,电阻两端的电压应为3.3V。 且由于发光二极管的驱动电流的范围为3~10mA。这是若选择1K的电阻,则电流为3.3mA。满足要求,为了让发光二极管活的长一点,还是电流小点比较好ヾ(゚∀゚ゞ)
2.使用单片机点亮一个LED
在了解发光二极管的硬件工作原理后,我们就可以通过编程来让它亮起来了!“
“来吧,开始进入正题。”
为了能使电流流过发光二极管,我们只需将单片机对应连接引脚置为低电平即可。这就是编程的思路了。
相关程序如下(我的开发板第一个LED灯对应P2.0)
上面的编程方式是通过位定义来编写的,此外还有另一种编程方式
代码如下:
这是一种总线编程方式,大家都知道51单片机共有4组I/O,每组有8个管脚,对应8根总线。因此,每组I/O各个管脚的高低电平可以利用两个16进制数来表示。
可能有些会觉得这两种方式没有什么具体的区别,其实不然。对于处理不同的问题使用的编程方式也是不同的。
比如当我需要点亮第2, 4, 6, 8号LED灯时。。。。。
位定义:
总线方式编程:
代码量瞬间减少有木有,不用再定义那些引脚名称啦,哈哈。
当然,也不是说位定义的方式就一定不好了。在具体编写程序的过程中要学会灵活的变通
今天就到这里了,大家晚安(`・ω・´)
领取专属 10元无门槛券
私享最新 技术干货