首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

51单片机入门

第一节 如何点亮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灯时。。。。。

位定义:

总线方式编程:

代码量瞬间减少有木有,不用再定义那些引脚名称啦,哈哈。

当然,也不是说位定义的方式就一定不好了。在具体编写程序的过程中要学会灵活的变通

今天就到这里了,大家晚安(`・ω・´)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180121G0NA5H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券