设计与开发

单片机驱动led电路 单片机常用电路3-按键检测,LED驱动电路

小编 2025-06-07 设计与开发 23 0

单片机常用电路3-按键检测、LED驱动电路

在单片机入门学习中,最简单、最常见的两种入门元器件大概就是按键和LED了,围绕按键和LED可以基本上把单片机的功能学很多,例如按键可以用来学习单片机的端口输入功能、端口外部中断功能、定时/计数器的计数功能等等;而LED可以用来学习单片机的端口输出功能,定时/计数器的定时功能、PWM功能,位操作功能,电压比较器功能,以及单片机多种操作控制、流程指示等功能。

现在我们就来简单了解一下按键检测和LED驱动电路。

1、按键检测电路

图1是按键检测电路。该电路图包含两种电路:

图1 按键检测电路

一种是连接按键的单片机端口在按键未按下时,处于低电平状态,当按键按下后,单片机端口变为高电平,也就是说,当单片机端口检测到端口电平由低电平变为高电平后,可以判断为按键按下。

另一种是连接按键的单片机端口在按键未按下时,处于高电平状态,当按键按下后,单片机端口变为低电平,也就是说,当单片机端口检测到端口电平由高电平变为低电平后,可以判断为按键按下。

这种按键检测电路的缺点是没有防抖动功能,所以要实现消抖功能,必须通过单片机软件编程实现。

另外,电路中的电阻的作用是为了保护端口,避免电源直接连到单片机端口导致的烧毁端口情况发生。

2、带消抖功能的按键检测电路

图2是带消抖功能的按键检测电路,同样的,带消抖功能的按键检测电路也分为按键平时处于高电平还是低电平两种。我们以按键未按下时处于高电平,按下后处于低电平为例来了解一下电路原理。

图2 硬件消抖电路

当按键断开时,电源电压通过电阻对电容充电,电容上的电压与电源电压相等,当按键按下时,由于按键内阻很小,电容通过按键迅速放电,按键两端电压迅速降到接近0V,单片机输入端为低电平,在按键按下时,由于抖动导致按键会短时断开,电源电压经电阻对电容充电,由于电阻的阻值较大,短时间内电容充电量很少,所以电容两端电压基本不变,单片机输入端的电平也基本保持不变,从而保证了按键抖动时仍可以使单片机输入端保持稳定的低电平信号。

这种硬件消抖电路需要根据实际情况选择R和C的值,具体请参考我在头条里的文章《基于proteus的51单片机开发实例(7)--按键的检测》。

3、简单的LED驱动电路

图3是一种简单的LED驱动电路。这两个电路一个是LED发光时,电流经过LED流到单片机端口,俗称“灌电流”驱动LED,另一种是LED发光时,电流经过单片机端口流到地,俗称“拉电流”驱动LED。

图3 LED驱动电路

这种电路的缺点是:单片机的驱动能力有限,一般单片机端口驱动电流能力在10mA以下,并且单片机总的驱动电流一般不超过100mA。所以当单片机电路中电路模块较多时,可能会导致驱动能力不足,因此这种方式只适合在学习和实验时,不适合用在单片机产品中。

4、通用LED驱动电路

图4,图5是常用的LED驱动电路。在这两个电路中,单片机端口实际上相当于开关的功能,当单片机输出高(或者低)电平时,LED点亮(或者熄灭);当单片机输出低(或者高)电平时,LED熄灭(或者点亮),驱动LED发光所需的电流由三极管提供,单片机端口只负责控制三极管的导通或者截止就可以了。

图4 LED驱动电路1

图5 LED驱动电路2

5、LED驱动芯片

现在有很多专用的LED驱动芯片,可以直接驱动多路LED,至于LED驱动芯片的电路,每种芯片有各自特点,这里就不多说了。

单片机入门教学-LED驱动电路

欢迎关注“嵌入式干货铺子”,每日更新干货教程

做单片机开发,看不懂电路图是万万不能的,分析电路原理图是一个合格的单片机工程师必须掌握的,后续干货铺子会做一个分析电路图的系列教程,从最基本的电路开始,手把手掌握单片机电路的设计,欢迎大家关注。

接上一节课,今天我们来看一下LED控制电路是如何工作的。

首先LED就是一个发光二极管,大家应该都见过,如下图所示,这个二极管有两个管脚,一个正极和一个负极,在正负两极上加上合适的电压,二极管就会发光。

所以我们要做的就是在这个LED两端加上一个合适的电压,大家看下面这个图,LED的正极接3.3V的电压,负极串联一个470欧姆的电阻连接到单片机的2号管脚上,这个470欧姆的电阻起到的正是限流的作用,防止流过二极管的电流过大,烧坏发光二极管。

当2号管脚输出高电平3.3V时,二极管两端的电压基本相等,没有电压差,也就没有电流流过,所以LED处于熄灭状态。

当2号管脚输出低电平0V时,二极管两端有一个3.3V的电压差,这样电流从3.3V通过二极管流向2号管脚,二极管中有电流流过,所以LED被点亮发光。

这个现象通俗点来讲,就像你把一个木板一段固定在墙上,你抓着木板的另一端,木板中间放着一个小球,你把木板的这端放的低于墙上的一端,小球就像你方向滚动,也就是电流流过,点亮led,你把木板的这端放的等于墙上的一端,小球就静止不动,led熄灭。

下面大家思考下,如果你这一端的木板如果高于墙壁固定的一端会怎样呢,同样的,类比到led上,led会发生什么现象呢?作为一个作业留个大家,欢迎大家评论留言讨论。

如果你看完了,麻烦给个关注,给我更多创作的动力,谢谢大家

相关问答

关于 单片机 通过开关三极管 驱动LED ?

现在的单片机IO口灌电流都是在100mA左右,其实你可以直接接;如果没有速度要求的话,用最简单8050NPN三极管就可以了,三极管的接法是IO口串联一个基极电阻Rb后...

PIC16F630 单片机驱动led 指示灯 电路 ?

楼主的接法可以,但是我不建议这样做,我们现在一般做项目的常规接法是,LED灯的正极接5V电源,负极接1k的限流电阻到PIC的IO引脚。然后IO写0的时候灯亮,写1的时...

单片机 控制 led 灯负极,led正极接电阻和电源.当我要led灭时控...

[最佳回答]LED两端还存在电压,是不是电阻小了,测量一下LED负极为高电平时LED两端的压差

本人想把 led 灯接到51 单片机 上不知道肿么接,哪位师傅懂的,请...

很简单,led正极接1k左右的电阻,负极接单片机任意P端口(8位)找个51的电路图看看将led灯的正极加一个330欧的电阻接正5伏,负极接p口。接接51单片机和LED灯其实...

单片机led 闪烁的原因?

32单片机LED灯闪烁的原因可能有以下几种:程序设计问题:如果程序中存在错误或者逻辑不严谨,可能会导致LED灯闪烁。例如,程序中可能存在死循环或者延时不准确...

怎样用 单片机 控制两个 LED 同时亮?

很简单。一个LED,正极接IO引脚,负极接地。即可实现:IO口输出1时,灯亮。另一个LED,正极接正电源,负极接IO引脚。即可实现:IO口输出0时,灯亮。注...

51 单片机 电流能直接 驱动 数码管吗?

单片机驱动Led数码管(或n个Led)应该算是单片机经典试验之一了。数码管种类:少量的数码管实际可以直接用单片机驱动(如4个数码管)一般单片机能输出10ma左右的...

单片机 怎么定义 LED ?

1.LED是一种电子元件,用于发光或指示。2.在单片机中,LED可以被定义为一种输出设备,通过控制其电流来实现发光或指示的功能。3.LED在单片机中的应用非常广泛...

单片机 设计中多个 LED 灯如何连接?

因为LED是非线性元件,每个元件的制造不可能100%都一样(跟线性元件一样),所以每个LED灯的在压降不相同,并一起会亮暗不均匀,所以要分开各支路供电,另外是LED...

单片机 8个 LED 灯随机闪烁怎么做?

方法:1:设定一个变量i,可以从0到3循环的变化2:检测一个经过消抖处理的按键,按一下,i+13:当i值为各个值时,执行相应的花样。流水灯参考程序#include...方...

猜你喜欢