LED(light-emitting diode),即发光二极管,俗称 LED 小灯,它的种类很多,参数也不尽相同,我们板子上用的是普通的贴片发光二极管。这种二极管通常的正向导通电压是 1.8V到 2.2V 之间,工作电流一般在 1mA~20mA 之间。其 中,当电流在 1mA~5mA 之间变化时,随着通过 LED 的电流越来越大,我们的肉眼会明显感觉到这个小灯越来越亮,而当电流从5mA~20mA 之间变化时,我们看到的发光二极管的亮度变化就不是太明显了。当电流超过20mA 时,LED 就会有烧坏的危险了,电流越大,烧坏的也就越快。所以我们在使用过程中应该特别注意它在电流参数上的设计要求。

那么下面我们来看一下这个发光二极管在开发板上的设计应用。首先来看图 2-3。


图 2-3  USB 接口电路

图 2-3 是我们开发板上的 USB 接口电路,通过 USB
线,电脑给我们的开发板供电和下载程序以及实现电脑和开发板之间的通信。从图上可以看出,USB 座共有 6 个接口,其中 2脚和 3
脚是数据通信引脚,1 脚和 4 脚是电源引脚,1 脚是 VCC 正电源,4 脚是 GND 即地线。5 脚和 6 脚是外壳,我们直接接到了 GND
上,大家可以观察一下开发板上的这个 USB座的 6 个引脚。

我们现在主要来看 1 脚 VCC 和 4 脚 GND。1 脚通过
F1(自恢复保险丝)接到右侧,在正常工作的情况下,保险丝可以直接看成导线,因此左右两边都是 USB
电源+5V,自恢复保险丝的作用是,当你后级电路哪个地方有发生短路的时候,保险丝会自动切断电路,保护开发板以及电脑的 USB
口,当电路正常后,保险丝会恢复畅通,正常工作。

右侧有 2 条支路,第一条是在+5V 和 GND 接了一个 470uF 的电容,电容是隔离直流的,所以这条支路是没有电流的,电容的作用,我们下节课再介绍,这节课我们主要看第二条支路。我们把第二条支路摘取出来就是如图 2-4 这个样子。


图 2-4  LED 小灯电路(一)

发光二极管是二极管中的一种,因此和普通二极管一样,这个二极管也有阴极和阳极,习惯上也称之为负极和正极。原理图里的 LED
画成这样方便在电路上观察,方向必须接对了才会有电流通过让 LED 小灯发光。刚才提到了我们接入的 VCC 电压是 5V,发光二极管自身压降大概是
2V,那么在右边 R34 这个电阻上承受的电压就是 3V。那么现在我们要求电流范围是 1~20mA 的话,就可以根据欧姆定律
R=U/I,把这个电阻的上限和下限值求出来。

U=3V,当电流是 1mA 的时候,电阻值是 3K;当电流是 20mA 的时候,电阻值是 150欧,也就是 R34 的取值范围是 150~3K
欧姆。这个电阻值大小的变化,直接可以限制整条通路的电流的大小,因此这个电阻我们通常称之为“限流电阻”。在图 2-3
中,我们用的电阻是1K,这条支路电流的大小,我想大家可以轻松计算出来了,而这个发光二极管在这里的作用,是作为电源指示灯的,使用 USB
线将开发板和电脑连起来,这个灯就会亮了。

同理,我们在板子后级开关控制的地方,又添加了一个 LED10 发光二极管,作用就是当我们打开开关时,这个二极管才会亮起,如图 2-5 所示。


图 2-5  USB 供电电路

大家注意,这里的开关虽然只有一个,但是是 2 路的,2 路开关并联能更好的确保给后级提供更大的电流。电容 C19 和 C10,都是隔离断开直流的,作用我们下节课介绍,这里大家可以忽略。

那么下面呢,我们把图 2-4 进行一下变化,把右侧的 GND 去掉,改成一个单片机的 IO口,如图 2-6 所示。


图 2-6  LED 小灯电路(二)

图 2-4 由于电源从正极到负极有电压差,并且电路是导通的,所以就会有电流通过,LED小灯因为有了电流通过,所以就会直接发光。我们把右侧的原
GND 处接到单片机 P0.0 引脚上,那么如果我们单片机输出一个低电平,也就是跟 GND 一样的 0V 电压,就可以让 LED小灯和图 2-4
一样发光了。

因为我们的单片机是可以编程控制的,我们可以让 P0.0 这个引脚输出一个高电平,就是跟 VCC 一样的 5V 电压,那么这个时候,左侧 VCC
电压和右侧的 P0.0 的电压是一致的,那就没有电压差,没有电压差就不会产生电流,没有电流 LED
小灯就不会亮,也就是会处于熄灭状态。下面,我们就用我们的编程软件来实现控制小灯的亮和灭。

单片机上的发光二极管(LED灯)的更多相关文章

  1. 单片机远程控制步进电机、LED灯和蜂鸣器

    通过採用C#语言实现的上位机控制单片机的步进电机模块.LED灯和蜂鸣器模块,使步进电机进行正.反转和停止并控制转速:LED灯模块进行有选择的呼吸式表达:蜂鸣器模块的開始和终止. 上位机通过串口和自己定 ...

  2. 51单片机---点亮一个LED灯

    1 程序源码 #include <REGX52.H> `包含51单片机的头文件` sbit led = P0^0; int main(void) { while(1) { led = 1; ...

  3. 基于单片机的心型LED灯的设计与实现

    #include<reg51.h> #include<intrins.h> #define char unsigned char #define unit unsigned i ...

  4. 第7章 使用寄存器点亮LED灯

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  5. 第7章 使用寄存器点亮LED灯—零死角玩转STM32-F429系列

    第7章     使用寄存器点亮LED灯 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  6. 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯

    关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...

  7. 单片机学习(二)开发板LED灯的控制

    目录 开发板上LED灯相关的电路图 点灯 LED闪烁 LED流水灯 其他效果 灯光二进制计数器 进阶版流水灯 开发板上LED灯相关的电路图 这是P2相关7个引脚的电路图,在默认情况下它是直接接着VCC ...

  8. 第一个FPGA工程----点亮开发板上的3个LED灯

    第一个FPGA工程----点亮开发板上的3个LED灯 1.新建FPGA工程 开启Quartus2的画面 File--New Project Wizard..指定工程的路径与工程名 指定所使用的FPGA ...

  9. Beaglebone Black - 控制 BBB 板上的 LED 灯

    BBB 的板上有五个 LED 灯,一个电源,四个其他指示灯,usr0 至 usr3 .这次学习是控制 usr0 至 3 让它们亮着,熄灭,闪.算是个 Hello World 实验.非常简单. 需要的材 ...

随机推荐

  1. MySQL 的 RowNum 实现

    MySQL 的 RowNum 实现 MySQL 下面没有RowNum,排序后序号却无法得到,比较麻烦! 在网上找了再三,通过比较,确认了以下的方法是可行的 : rownum, CollectSn ,b ...

  2. SQL笔记 [SQL判断是否存在] [长期更新] (-2015.4)

    --判断某个存储过程是否存在if exists (select * from sysobjects where id = object_id(N'[p_CreateTable]') and OBJEC ...

  3. ajax跨域请求带cookie

    调用网站:a.xxx.com jQuery(document).ready(function () { $.ajax({ type: "get", async: true, url ...

  4. jQuery鼠标事件汇总

    鼠标事件是在用户移动鼠标光标或者使用任意鼠标键点击时触发的. 1.click事件:点击鼠标左键时触发 $('p').click(function(){}); 示例: $('p').click(func ...

  5. ajax XML

    <script src="jquery-1.11.2.min.js"></script> </head> <body> <se ...

  6. Egret 摇一摇功能

    一  什么是重力感应 二 什么是陀螺仪 三 Egret中的摇一摇是利用什么原理实现的 四 摇一摇代码 一 什么是重力感应 二 什么是陀螺仪 三 Egret中的摇一摇是利用什么原理实现的 大概是利用手机 ...

  7. React学习之一:React初探

    一,React简介 React是由Facebook和Instagram开发的一套创建用户界面的JavaScript库.许多人认为React是MVC中的V. React创建的目的是为了:构建数据随时会改 ...

  8. mysql批量执行sql文件

    1.待执行的sql文件为1.sql.2.sql.3.sql.4.sql等 2.写一个batch.sql文件: source .sql; source .sql; source .sql; source ...

  9. SBT 构建scala eclipse开发

    scala eclipse sbt 应用程序开发 搭建Eclipse开发Scala应用程序的一般步骤 一.环境准备: 1.Scala : http://www.scala-lang.org/ 2.Sc ...

  10. Python 2.7_First_try_爬取阳光电影网_20161206

    之前看过用Scrapy 框架建立项目爬取 网页解析时候用的Xpath进行解析的网页元素 这次尝试用select方法匹配元素 1.入口爬取页面 http://www.ygdy8.com/index.ht ...