《例说8051:单片机程序设计案例教程》——2-3 输出电路设计

简介:

本节书摘来异步社区《例说8051:单片机程序设计案例教程》一书中的第2章,第2.3节,作者:张义和,陈敌北,更多章节内容可以访问云栖社区“异步社区”公众号查看

2-3 输出电路设计

例说8051:单片机程序设计案例教程
8051的输出端口可直接连接数字电路,也可用来驱动LED、继电器或喇叭等负载,以下就来探讨如何与这些负载“过招”。

2-3-1 驱动LED

发光二极管(Light-Emitting Diode,LED)体积小,功耗低,常被用作微机与数字电路的输出设备,用来指示信号状态。近年来LED的技术发展很快,在颜色方面,除了红色、绿色、黄色外,还出现了蓝色与白色,而高亮度的LED更是取代了传统灯泡成为交通灯(红绿灯)的发光器件;就连汽车的尾灯也开始流行使用LED车灯。

一般地,LED具有二极管的特点,反向偏压时,LED将不发光;正向偏压时,LED将发光;以红色LED为例,正向偏压时LED两端约有1.7V的压降(比二极管大),图2-9所示为其特性曲线。

随着通过LED正向电流的增加,LED将更亮,而LED的寿命也将缩短,因此以10mA~20mA的大小为宜。8051的输入/输出口都是漏极开路的输出,其中的P1、P2与P3内部有30k上拉电阻,因此想从P1、P2或P3流出10mA~20mA的电流,恐怕有困难。如果从外面流入8051的Port,那电流就可以大一点,如图2-10所示。

5a828f6f2370f6f55d1ac34ee90be488459c10c5

如图2-10(b)所示,当输出低电平时,输出端的FET将导通,输出端电压接近0V,若LED顺向时,两端电压V_D为1.7V,则限流电阻R两端将存在3.3V(即5-1.7)的电压。如果希望流过LED的电流I_D限制为10mA,则此限流电阻R为:

3e79581722544e49717798cdd02f5f4e50483b6c

对于TTL电平的数字电路或微控制器电路,LED所串接的限流电阻大多为200~330,电阻越小,LED越亮。若LED为非连续负载(例如扫描电路或闪烁灯),则电流还可大一点,甚至采用50~100的限流电阻即可。

2-3-2 驱动继电器

如果要利用8051来控制不同电压或较大电流的负载时,则可通过继电器(RELAY)来隔离控制的意图。若要驱动继电器,光靠8051输出口的电流恐怕不够,况且驱动继电器线圈这种感性负载还要有些保护才行。我们可使用晶体管来控制继电器,以12V继电器为例,如图2-11所示。

83021c05c78d5d5cfc0693b552f74cad08ab9a99

在此这个晶体管是当成开关来用,以图2-11(a)为例,8051输出高电平时,晶体管工作于饱和状态,8051输出低电平时,晶体管工作于截止状态。图2-11(b)则相反,8051输出低电平时,晶体管工作于饱和状态,8051输出高电平时,晶体管工作于截止状态。其中的二极管D提供继电器线圈电流的放电路径,以保护晶体管。由于线圈属于电感性负载,当晶体管截止时,i_c=0,而原本线圈上的电流i_L不可能瞬间为0,所以二极管D就提供一个i_L的放电路径,使线圈不会产生高的感应电动势,就不会破坏晶体管了。

cd6595d8a67450d2ea7c8384e388f350c3a2fe67

如果要同时有多个输出端口要驱动继电器,则可使用集电极式(OC)输出的反相门,如7405(驱动5V的继电器)或7406(驱动较高电压的继电器,最高30V),如图2-12所示。

2-3-3 驱动蜂鸣器

在微处理电路上的发声设备称为蜂鸣器(buzzer),蜂鸣器类似于小型喇叭。市售蜂鸣器分为电压型与脉冲型两类,电压型蜂鸣器得电就会鸣叫,其频率固定;脉冲型蜂鸣器必须加入脉冲才会发出声响,且其声音的频率就是加入脉冲的频率,在此就是使用脉冲型蜂鸣器。图2-13所示为12mm脉冲型蜂鸣器的外观与尺寸。

5d3203ac53db752232cc63ca3e8bb5d778671307

89S51驱动蜂鸣器的信号为各种频率的脉冲,其驱动方式可采用达林顿晶体管,或以两个常用的小晶体管(如CS9013)连接成达林顿结构,图2-14(a)适用于P1~P3,图2-14(b)增加了一个上拉电阻,适用于P0~P3。这两个驱动电路属于高电平动作(active high),也就是输出1时,蜂鸣器吸合,输出0时,蜂鸣器放开。对于蜂鸣器而言,其发声原理在于吸放动作所引起的簧片振动,至于先吸后放,还是先放后吸,并不重要。

ce24b6548b0411c7b68c83e89c9496d00f116110

因此,我们可采用低电平动作(active low),也就是输出0时,蜂鸣器吸合,输出1时,蜂鸣器放开。而其驱动电路就非常简单,如图2-15所示,不管使用哪个端口都可以,且驱动电流都足以使晶体管输出饱和。当端口输出1时,CPU内部的FET不导通,所以,i_b=0,i_c=0,蜂鸣器放开;当端口输出0时,CPU内部的FET导通,可吸入大电流(数毫安),所以,i_b很大,i_c当然会很大,蜂鸣器将被吸住。另外,在晶体管BE之间连接一个泄放电阻器(10k),其目的是让晶体管从饱和到截止时,提供一个泄放BE间少数载流子的路径,以加速切换,防止拖音。

62ecd964cd1e710a8bba8090afe3d22dab6e5bd9

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
5月前
|
数据处理
MCS-51单片机汇编语言程序设计
MCS-51单片机汇编语言程序设计
112 0
|
2月前
|
人工智能 C语言
【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)
【51单片机】让AI识别电路图,帮你进行编码(以51单片机为例)
|
5月前
|
传感器
基于51单片机的自动浇花器电路
该文档是一个基于AT89C51单片机的自动浇水灌溉系统的设计方案。系统由5V供电模块、土壤湿度传感器模块、ADC0832模数转换模块、水泵控制模块、按键输入模块、LCD显示模块和声光报警模块组成。它通过检测土壤湿度并将其转换为数字信号,与预设的湿度上下限值进行比较,以决定是否启动水泵进行灌溉。用户可以通过按键设置湿度上下限值,LCD屏幕实时显示当前湿度和上下限值。如果湿度低于下限,系统会启动声光报警并打开水泵;当湿度超过上限,声光报警关闭,但水泵会继续工作,直至湿度下降到下限以下。设计中还提供了Proteus仿真电路图和C代码实现。
63 1
【单片机】简单的自定义延时程序设计(代码演示)
【单片机】简单的自定义延时程序设计(代码演示)
【单片机】简易计算器完整代码带电路图
【单片机】简易计算器完整代码带电路图
322 0
【单片机】简易计算器完整代码带电路图
|
开发框架 JSON 物联网
Nanoframework 操作单片机蓝牙配置WIFI的案例
通过`Nanoframework`的蓝牙配置Wifi的名称和密码
122 0
|
算法 芯片
基于51单片机点阵汉字显示程序设计
基于51单片机点阵汉字显示程序设计
基于51单片机点阵汉字显示程序设计
|
5月前
|
物联网 芯片
STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计
STC51单片机-应用系统并行扩展电路设计(存储器扩展)-物联网应用系统设计
82 0
|
安全 芯片
单片机检测220V交流电通断电路
单片机检测220V交流电通断电路
|
传感器
【单片机】单片机课程设计(测温打铃)附完整代码和电路图
【单片机】单片机课程设计(测温打铃)附完整代码和电路图
185 0

热门文章

最新文章