当前位置:首页 > 单片机 > 单片机
[导读]为搞清IO结构,首先看看上拉和下拉电阻的作用。一、上拉电阻上拉就是将不确定的信号通过一个电阻钳位在高电平!电阻同时起限流作用!下拉同理!上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,

为搞清IO结构,首先看看上拉和下拉电阻的作用。

一、上拉电阻

上拉就是将不确定的信号通过一个电阻钳位在高电平!电阻同时起限流作用!下拉同理!

上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流。

1、在用TTL电路驱动CMOS电路时,若TTL的高电平低于CMOS要求的高电平的门限值(1,TTL电平: 输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平 是0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是 0.4V。 2,CMOS电平: 1逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限。),此时需用上拉电阻来提升输出高电平的电压值 。

2、OC门必须外加上拉电阻,才能使用。(OC门:三极管的叫集电极开路,场效应管的叫漏极开路,简称开漏输出。具备"线与"能力,有0得0。 )

3、为加大输出管脚的驱动能力,单片机的引脚常接入上拉电阻,(AVR单片机可配置是否接上拉,51单片机P1 P2 P3均带上拉,P0口不带,所以用P0口做按键,液晶等应用时要自己加上上拉电阻,否则无法使用切记)

4、CMOS芯片上为防止静电破坏,不用的管脚不能悬空,需要接上拉电阻降低输入阻抗,提供泄荷通路。

5、提高总线的搞电磁干扰能力,悬空就容易就电磁干扰。

二、上拉电阻阻值的选择

1、为节约功耗或使灌电流足够大,阻值要大,电流小。

2、为确保足够的驱动电流,阻值要小,电流大。

3、对于高速电路,过大的上拉电阻可能导致边沿变得平缓。

基于以上三点,一般选取上拉阻值为1K-10K。

三、上拉阻值的计算

OC门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端每端口不大于100uA,设输出口驱动电流约500uA,标准工作电压是5V,输入口的高低电平门限为0.8V(低于此值为低电平);2V(高电平门限值)。
选上拉电阻时:
500uA x 8.4K= 4.2即选大于8.4K时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0.8V即可。
当输出高电平时,忽略管子的漏电流,两输入口需200uA
200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了。选10K可用。COMS门的可参考74HC系列
设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为:输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了)
在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。

四、51型单片机IO口

AVR的IO是真正双向IO结构,由于大部分网友都是从标准51转过来的,受标准51的准双向IO和布尔操作概念影响,没能掌握AVR的IO操作,所以有必要撰文说明一下

其实采用真正双向IO结构的新型MCU很多,常用的有 增强型51,PIC,AVR等,

先简单的回顾一下标准51的准双向IO结构

这种准双向IO结构的特点是

1 输出结构类似 OC门,输出低电平时,内部NMOS导通,驱动能力较强(800uA);输出高电平靠内部上拉电阻,驱动能力弱(60uA)。

2永远有内部电阻上拉(P0口除外),高电平输出电流能力很弱,所以即使IO口长时间短路到地也不会损坏IO口
(同理,IO口低电平输出能力较强,作低电平输出时不能长时间短路到VCC)

3作输出时,输出低电平可以推动LED(也是很弱的),输出高电平通常需要外接缓冲电路(所以LED多为共阳接法)

五、AVR单片机IO口(千呼万唤始出来)

端口引脚配置
DDxn PORTxn PUD (in SFIOR) I/O 上拉电阻 说明
0 0 X 输入 No 高阻态 (Hi-Z)
0 1 0 输入Yes 被外部电路拉低时将输出电流
0 1 1 输入 No 高阻态(Hi-Z)
1 0 X 输出 No 输出低电平 ( 漏电流)
1 1 X 输出 No 输出高电平 ( 源电流)

//////////////////////////////////////////

输入状态:
一、上拉输入状态:
1、在IO口线悬空时读入PINxn的值为1,状态稳定
2、在IO口线外接输入信号时读入PINxn的值随外部信号高低电平变化而变化
二、高阻输入状态:
1、在IO口线悬空时读入PINxn的值为0,且极易受到干挠,状态很不稳定
2、外接上拉电阻,在IO口线外接输入信号时读入PINxn的值随外部信号高低电平变化而变化(等同于内接上拉电阻)
输出状态:
在输出状态下,PORTxn=0则输出为低电平,PORTxn=1则输出为高电平
1、输出低电平,IO口线悬空时读入PINxn的值为0
2、输出低电平,IO口线连接VCC或强上拉(指上拉阻值很小,相当于直接连接VCC,能提供足够的上拉电流)时读入PINxn的值为1
3、输出高电平,IO口线悬空时读入PINxn的值为1
4、输出高电平,IO口线连接GND或强下拉(指下拉阻值很小,相当于直接连接GND,能吸收足够的下拉电流)时读入PINxn的值为0
由于无论如何配置DDRxn,我们都可以读取PINxn值,综上所述,我们在读取PINxn的值时,要想获得正确且稳定的值,
应该选择在内部上拉输入或高阻输入且外部上拉这两种方式中进行。当然在选择内部上拉输入且外部也上拉的方式也是
可以的,只是内部和外部都加上拉(重复上拉)没有什么意义。
还有一点就是我们在读取软件赋予的电平时,读PINxn值之前,要插入一个NOP。
也就是说在IO口输出逻辑电平之后再读入这个输出的值中间应插入一个NOP。
//////////////////////////////////////////////

AVR的真正双向IO结构就复杂多了,单是控制端口的寄存器也有4个 PORTx.DDRx,PINx,SFIOR(PUD位),不过功能也强劲多了

作为通用数字I/O 使用时,所有AVR I/O 端口都具有真正的读- 修改- 写功能。
这意味着用SBI 或CBI 指令改变某些管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻) 时不会无意地改变其他管脚的方向( 或者是端口电平、禁止/ 使能上拉电阻)。
输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动LED。
所有的端口引脚都具有与电压无关的上拉电阻。
并有保护二极管与VCC 和地相连。
* (很多数字器件都有保护二极管,在低功耗应用时要考虑保护二极管的电流倒灌的影响)

每个端口都有三个I/O 存储器地址:
数据寄存器 –PORTx
数据方向寄存器–DDRx
端口输入引脚 –PINx。
数据寄存器PORTx和数据方向寄存器DDRx为读/ 写寄存器,而端口输入引脚PINx为只读寄存器。
但是需要特别注意的是,对PINx 寄存器某一位写入逻辑"1“ 将造成数据寄存器相应位的数据发生"0“ 与“1“ 的交替变化。
当寄存器MCUCR 的上拉禁止位PUD置位时所有端口引脚的上拉电阻都被禁止。

在( 高阻态) 三态({DDxn, PORTxn} = 0b00) 输出高电平({DDxn, PORTxn} = 0b11) 两种状态之间进行切换时,
上拉电阻使能({DDxn, PORTxn} = 0b01) 或输出低电平({DDxn,PORTxn} = 0b10) 这两种模式必然会有一个发生。
通常,上拉电阻使能是完全可以接受的,因为高阻环境不在意是强高电平输出还是上拉输出。
如果使用情况不是这样子,可以通过置位SFIOR 寄存器的PUD 来禁止所有端口的上拉电阻。
在上拉输入和输出低电平之间切换也有同样的问题。
用户必须选择高阻态({DDxn,PORTxn} = 0b00) 或输出高电平({DDxn, PORTxn} = 0b10) 作为中间步骤。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

电解电容和普通电容是两种不同类型的电容器,它们在结构、工作原理和使用场合等方面存在明显的差异。本文将详细介绍电解电容和普通电容的区别,帮助读者更好地了解这两种电容器。

关键字: 电解电容 普通电容 结构

整流变压器整流变压器是整流设备的电源变压器。整流设备的特点是原方输入电流,而副方通过整流原件后输出直流。整流变压器和普通变压器的原理相同。变压器是根据电磁感应原理制成的一种变换交流电压的设备。变压器一般有初线和次级两个互...

关键字: 整流变压器 电流 结构

变压器是一种能量转换装置,是一种相对可靠的电气设备,但其一旦发生故障影响十分巨大,它牵涉到用户停电和花费较大的修理费用且修理时间也较长。了解变压器的结构,对于分析变压器的故障有很大的帮助作用。电力变压器是根据电磁感应原理...

关键字: 变压器 结构 电能

变配电运行中,变压器必不可少,熟悉和掌握变压器的基本常识是非常有必要的,变压器的基本知识储备是每一个电力人必备的技能!在交流电路中,将电压升高或降低的设备叫变压器,变压器能把任一数值的电压转变成频率相同的我们所需的电压值...

关键字: 变压器 交流电压 结构

直流电机(direct current machine)是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。

关键字: 直流 电机 结构

摘要:由于智能制造行业的发展需求,无人机的用途在无限扩大,同时也对无人机自主导航提出了极高的要求,以减少人为操作的干预。实现无人机姿态追踪功能是无人机自主导航的重要途径,而实现良好的无人机姿态追踪,不仅仅需要建立出色的姿...

关键字: 无人机 姿态追踪 结构

摘要:介绍了160km/h快运货车转向架的主要技术参数、主要结构、主要零部件试验情况及技术特点,为其他形式的快运货车转向架研究提供了借鉴。

关键字: 结构 试验 技术参数

近年来,传统的基于结构(structure-based)的设计方法已经逐渐达到其极限,使得用于药物研究和发现的资本开支呈指数级增长。因而,对于药物设计领域来说,基于运动( motion-based)的药物设计方案,即分子...

关键字: 雪湖科技 结构 药物设计

电机的分类及永磁同步电机的控制技术介绍

关键字: 电机 结构

本文中,小编将对可调电感器以及常用电感器结构和特性予以介绍。

关键字: 可调电感器 电感器 结构
关闭
关闭