锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

51单片机与STM32的区别(为何51单片机IO引脚的驱动能力弱)

时间:2023-05-22 16:37:00 v8三极管

在这里插入图片描述

1.51单片机的特性

51单片机之所以成为经典,主要具有以下特点:

  • 从内部硬件到软件有一个完整的位置操作系统,称为位置处理器,处理对象不是单词或字节,而是位置。它不仅可以处理电影中某些特殊功能寄存器的位置,如传输、位置、清除、测试等,还可以进行位置的逻辑操作,其功能非常完整,使用方便。
  • 同时在片内RAM该区间还特别开放了一个双功能地址区间,使用非常灵活,这无疑为用户提供了极大的便利。
  • 乘法和除法指令也给编程带来了便利。很多八位单片机没有乘法功能,做乘法的时候要编一段程序调用,很不方便。

2.51单片机的缺点

3.51单片机的应用范围

目前广泛应用于教学场合和性能要求低的场合,最常用的设备是8051和80C51。




由ST厂商推出的STM32系列单片机,业内朋友都知道,这是一款性价比高的系列单片机,应该没有一款,功能强大。它是专门设计的嵌入式应用程序,要求高性能、低成本、低功耗ARM Cortex-M内核;外设一流,1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等。

在功耗和集成也有不错的表现,当然和MSP430的功耗略低于它,但这并不影响工程师的受欢迎程度。它以其简单的结构和易用的工具以其强大的功能而闻名于业内。

1、STM32单片机的特点

2、STM32常用的器件


目前,最常用的设备是STM32F103系列、STM32 L1系列、STM32W系列。




51单片机兼容所有Intel这一系列单片机的始祖是8031指令系统单片机的总称Intel8031单片机随之而来flash ROM随着技术的发展,8031单片机取得了巨大进展,成为应用最广泛的8台bit其代表型号是单片机之一ATMEL公司的AT89系列。

STM32单片机是ST(意法半导体)公司使用ARM公司的cortex-M32为核心生产bit与8051、AVR和PIC更多,基本接近计算机CPU适用于手机、路由器等。






那为什么51单片机引脚输出高电平时驱动能力弱呢?

单片机的引脚可以用程序控制,输出高低电平,可以算是单片机的输出电压。
但程序无法控制单片机的输出电流。 单片机的输出电流在很大程度上取决于引脚上的外部设备。

当单片机输出低电时,允许外部设备将电流灌入单片机引脚,称为灌溉电流,外部电路称为灌溉电流负载;
单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”。

这些电流通常是多少?最大限度是多少? 这是单片机输出驱动能力的常见问题。

早期的 51 系列单片机的负载能力很小,只用能驱动多少个? TTL 说明输入端。
P1、P2 和 P三口,每个引脚都能带动 3 个 TTL 只有输入端 P0 口的能力强,它可以带动 8 个!

分析一下 TTL 可以发现51的输入特性 单片机基本上没有驱动能力。
它的引脚甚至不能带动当时 LED 正常发光。

记得是在 AT89C51 单片机流行后,发现单片机引脚能力大大提高,可以直接驱动 LED 发光了。
看下图,图中的 D1、D2 就可以不经其它驱动器件,直接由单片机的引脚控制发光显示。

虽然引脚可以直接驱动 LED 发光但又慢,先别太开心,还是看看 AT89C51 单片机引脚的输出能力。
从 AT89C51 单片机的 PDF 从手册文件中可以看出,灌电流的上限为:

Maximum IOL per port pin: 10 mA;
Maximum IOL per 8-bit port:Port 0: 26 mA,Ports 1, 2, 3: 15 mA;
Maximum total I for all output pins: 71 mA.

这里是说:
当每个单个引脚输出低电平时,允许外部电路向引脚注入最大电流 10 mA;
每个 8 位的接口(P1、P2 以及 P3)允许向引脚注入的总电流最大 15 mA,而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;
四个接口允许的灌电流之和最大 71 mA。

当这些引脚输出高电平时,单片机的拉电流能力呢? 可以说太差了,不到 1 mA。

结论是,当单片机输出低电平时,驱动能力是可以接受的,当输出高电平时,没有输出电流的能力。
这个结论是根据手册中给出的数据得出的。

51 单片机的这些特点来源于引脚的内部结构,这里不画引脚的内部结构图,很多书都有。
芯片内部,引脚与地面之间有三极管,因此引脚具有下拉能力。当输出低电平时,允许注入 10mA 电流;在引脚和正电源之间,有数百K的内部上拉电阻,所以当引脚处于高电平时,可以输出的拉电流非常小。 P0 嘴里没有上拉电阻,所以 P0 口没有高电平输出电流的能力。

看看上面的电路图:
图中的 D1,是接在正电源和引脚之间的,这就属于灌电流负载,D1 当单片机输出低电平时发光。这种发光电流可以通过电阻控制 10 mA 之内。
图中的 D2.连接在引脚和地面之间,属于拉电流负载,D2 当单片机输出高电平时,应发光。但单片机此时几乎没有输出能力,必须采用外部上拉电阻的方法提供 D2 所需电流。

哦,我明白了,如果外部电路是拉电流负载,要求单片机输出高电,必须使用拉电阻来帮助产生负载所需的电流。

以下是上拉电阻的问题。

从上图可以看出,D2 发光,是由上拉电阻 R2 提供的电流,D2 发光电压约为 2V,所以发光电流是:(5) - 2) / 1K,约为 3mA。

当单片机输出低电平(0V),D2 不发光时,R2 上拉电阻闲置吗? 没有!两端的电压,比 LED 发光的时候还高,现在是 5V 是的,电流,是的 5mA !
注意到了吗? LED 不发光的时候,上拉电阻给出更大的电流!而且,这个大于正常发光的电流都灌入了单片机的引脚!

如果在一个 8 安装了位置接口 8 个 1K 当单片机输出低电平时,就会出现上拉电阻 40mA 电流注入此 8 位的接口!
如果四个 8 添加所有位接口 1K 上拉电阻最有可能出现 32 × 5 = 160mA 所有的电流都流入单片机!
这个值已经超过了单片机手册给出的上限。单片机工作不稳定是理所当然的。
而且这些电流出现在负载无效的状态下,都是完全无用的电流,只产生发热、耗电量大、电池消耗快…等后果。
呵呵,特是现在,都在提倡节能减排,低碳…。

那么,把上拉电阻加大些,可以吗? 
回答是:不行的,因为需要它为拉电流负载提供电流。对于 LED,如果加大电阻,将使电流过小,发光暗淡,就失去发光二极管的作用了。

对于 D1,是灌电流负载,单片机输出低电平的时候,R1、D1 通路上会有灌电流;输出高电平的时候,那就什么电流都没有,此时就不产生额外的耗电。

综上所述,灌电流负载,是合理的;而“拉电流负载”和“上拉电阻”会产生很大的无效电流,这种电路不合理。

有些网友对上拉电阻情有独钟,有用没用的,都想在引脚上安装个上拉电阻,甚至还能说出些理由:稳定性啦、速度啦…。
其实,“上拉电阻”和“拉电流负载”电路,是会对单片机系统造成不良后果的。

做而论道看过很多关于单片机引脚以及上拉电阻方面的书籍、参考资料,基本上它们对于使用上拉电阻的弊病都没有进行仔细的讨论。

在此,坐而论道郑重向大家提出建议:设计单片机的负载电路,应该采用“灌电流负载”的电路形式,以避免无谓的电流消耗。

上拉电阻,仅仅是在 P0 口才考虑加不加的问题:当用 P0 口做为输入口的时候,需要加上、当用 P0 口输出高电平驱动 MOS 型负载的时候,也需要加上,其它的时候,P0 口也不用加入上拉电阻。

在其它接口(P1、P2 和 P3),都不应该加上拉电阻,特别是输出低电平有效的时候,外接器件就有上拉的作用。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章