单片机io口输出电流范围及问题详解
一、51单片机IO端口的四种输入输出模式
1、准双向口输出
准双向口输出类型可用作输出和输入功能而不需重新配置口线输出状态。这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强,可吸收相当大的电流。(准双向口有3个上拉晶体管适应不同的需要)准双向口读外部状态前,要先锁存为 „1‟,才可读到外部正确的状态。
小结:
灌电流能力强,拉电流能力弱
读外部状态前要先锁存“1”(断开下拉晶体管)
读IO口状态的原则是非高即低,只能准确识别外部的低电平信号,无法区分悬空和真正的高电平
作为输入时,输入阻抗不为高阻,可能出现将外部低电平误读为高电平的情况(例上拉电阻10K,外部电阻100K,IO=5*100/110=4.54V)
准双向口(弱上拉)输出
其应用方式参考:
准双向口用作输入时,可对地接按键,如图1,当然也可以去掉R1直接接按键,当按键闭合时,端口被拉至低电平,当按键松开时,端口被内部“极弱上拉”晶体管拉至高电平。
当端口作为输出时,不应对地外接LED如图2控制,这样端口的驱动能力很弱(拉电流能力弱),LED只能发很微弱的光,如果要驱动LED,要采用图3的方法,这样准双向口在输出为低时,可吸收20mA的电流(灌电流能力强),故能驱动LED。图4的方法也可以,不过LED不发光时,端口要吸收很大电流。
2、强推挽输出
推挽输出配置的下拉结构与开漏输出以及准双向口的下拉结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于需要更大驱动电流的情况。
如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。这也是为什么推挽输出不能实现“ 线与”的原因。
3、仅为输入(高阻)
输入口带有一个施密特触发输入以及一个干扰抑制电路。
小结:
通过外部上拉电阻输出高电平
若有外部上拉,可作为输入IO读取外部状态(同准双向IO,先锁存“1”)
通过外部上拉电源进行电平转换与外部器件兼容
4、开漏输出配置(若外加上拉电阻,也可读)
小结:
电路无法流入流出,只能作为输入数据使用
二、单片机的io口输出最大电流
传统单片机一般为10ma左右,现在的单片机一般20-25ma,但多个IO口加起来总电流有限制,根据厂家和封装不同而变化,有的不能超200ma,有的不能超400ma
如果外设要求的驱动电流较大,少量IO口扩流可采用三极管,IO 口数量较多时,常用7406 TDG2003等驱动芯片。
三、单片机的I/O口输出电流问题
问:单片机除P0口外,其他输出都是5V吧?那么用来驱动数码管为什么还需要加三极管驱动?比方说加100欧的电阻,那么电流就高达5V/100欧=50mA,而数码管才20mA?再者三极管怎么都没标明电流放大倍数?
答:这个类似于电源的内阻。输出电流越大,消耗在内部的电压压降就越大。输出电压=5V-内部压降。
51单片机的上拉管典型阻值20k,若外部开路,在内部的压降=0,输出就是5V,如果IO接个5k电阻到GND,那么外部电阻的电压=5V÷(5+20)×5=1V,而外部5K电阻上的电流才1V/5k=200uA。
所以你接100欧的电阻,IO的输出电压更本就很小了,根本达不到5V÷100欧=50mA的水平,
一般来说高电平输出能力也就100-200uA,低电平输出能力8mA-10mA (AT89C2051等IO已强化,可吸入20mA电流)。这么小的电流驱动数码管,你就自己看吧,所以才加三极管驱动。数码管20mA的电流一般是偏大的,静态显示时,一般选5-15mA即可。动态显示可适当加大至20mA左右,不然亮度偏低。
一般三级管的静态放大值取100就可以估算。比如驱动一个5V(额定电压)线圈继电器。线圈内阻是120欧,估算驱动电流有5V/120欧=40mA,单片机一般只能输出10mA,驱动不了。那么靠三极管驱动,基极驱动电流=40mA/100=400uA》200uA,
若使用PNP型三极管,则使用低电平驱动,基极电阻=(5-0.7)V÷0.4mA=10k,
若使用NPN型三极管,则使用高电平驱动,如上面所说,输出能力最多200uA,达不到400uA,要使用上拉电阻产生至少200uA电流,上拉电阻=(5-0.7)V/0.2mA=21.5k这些计算值都是临界值,要保险点就在这个值的基础上稍微选小一点就好。
单片机io口输出电流范围及问题详解相关推荐
- 52单片机IO口输出-蜂鸣器(硬核)
52单片机IO口输出-蜂鸣器 什么是蜂鸣器 三极管的工作原理 蜂鸣器驱动电路分析 参考代码 欢迎你的到来!这里是我的单片机学习笔记,希望我的笔记可以在你学习的道路上对你有所帮助! 什么是蜂鸣器 蜂鸣器 ...
- 单片机推挽输出c语言,单片机IO口科普:推挽输出、开漏输出详解
原标题:单片机IO口科普:推挽输出.开漏输出详解 在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻. 是不是有时候感觉一头雾水? 今天就详解一下 ...
- 推挽输出和开漏输出_关于51单片机IO口的输出模式结构
单片机种类繁多今天主要谈谈51单片机,在stm32单片机中IO(GPIO)输出模式有很多种.如 模拟输入 .浮空输入.下拉输入.上拉输入.开漏输出.推挽输出等很多种,不同的输入输出有不同的功能,实现不 ...
- 单片机程序配置成开漏输出_改变单片机IO口默认电平
c51单片机上电后io口默认的电平默认都是高电平,因为只不过P0没有内部上拉电阻,是弱上拉,不加外部上拉电阻的话只能驱动外部的门电路.P1到P3都有上拉电阻,是强上拉,可以直接驱动外部的接口电路. 改 ...
- 测量ATMEGA8单片机IO口的输入输出内阻
➤ 01背景 在 电子小帮手电路中电源开关电路分析 中介绍测量模块电路实验原理的时候,对于ATmega系列的 单片机的输出端口进行了内部描述 .特别是对于端口做为IO输出口的时候,它可以等效为通过电阻 ...
- 如何利用单片机IO口产生两倍的电源电压
简介 在很多情况下,电子系统中需要获得比工作电源高的电压电源,或者负电源.比如在一些功率器件(MOS)的基极驱动信号.扩展运算放大器的动态范围.一些通信信号(UART232). 现在有很多专门的芯片, ...
- 51单片机有几个通用io口_51单片机IO口的四种使用方法
原标题:51单片机IO口的四种使用方法 传统51单片机IO接口只可以作为标准双向IO接口,如果用其来驱动LED只能用灌电流的方式或是用三极管外扩驱动电路. 灌电流方式 LED正极接VCC,负极接IO口 ...
- STC12C5A60S2单片机IO口工作模式设定
STC12C5A60S2单片机IO口工作模式设定 STC12C5A60S2 系列单片机其所有I/O口均可由软件配置成4种工作类型之一.4种类型分别为:准双向口(标准8051 输出模式).推挽输出.仅为 ...
- 关于单片机IO口输入输出的理解!
解释一: 单片机的 IO 口 (输入/输出 口),是相对单片机 本身 而言的, 就是单片机IO口往外输出信号1或者0( 1 的输出电圧 = VCC , 0 的电圧 = 0 V ) 或者 单片机从 IO ...
最新文章
- javascript调用父窗口(父页面)的方法
- Facebook图片存储系统Haystack——存小文件,本质上是将多个小文件合并为一个大文件来降低io次数,meta data里存偏移量...
- EOS 共识机制 (4)出块流程
- exchange online 连接筛选器 添加/删除 IP
- 让《弹射世界》告诉你,二次元游戏该如何打造社交系统?
- Kafka 对比 ActiveMQ
- 解决git push 中remote: Permission to xxxxx.git denied to xxx. fatal: unable to access xxxx 403(转)
- python库文件安装_python安装库包出现问题
- SQL Server如何保证可空字段中非空值唯一
- 一个前端博客(9)——浏览器检测和加载
- 统计表中有无数据并发送邮件
- 我的世界启动器java_我的世界最新启动器 无需安装JAVA
- 百度日语输入法快捷键(baidu type)
- 微星B550M迫击炮,设备管理器 声卡不显示Realtek解决办法
- ERP系统更改颜色操作步骤
- latex 大于小于大于等于小于等于
- Python实现抓取微信公众号文章
- [统计]_怎样用数据炒菜:统计建模的两种文化
- 第8天:鼠标控制与32位模式切换
- JAVA生成带图片带名称的二维码