51单片机IO特点.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
51单片机IO特点

51单片机I/O特点 在上一单元中小灯闪烁的实例中,I/O控制小灯闪烁51 ,只需在软件中对IO置高和置低就可以了,使用起来非常方便。但是在实际应用中如果不了解IO的特点,设计的电路存在缺陷,IO使用起来未必会得心应手,初学者不必深究IO控制原理,但至少得弄明白几个基本的概念,这对后期学习高档单片机也很有帮助。 1、弱上拉输出、推挽输出、开漏输出 51单片机(AT89和STC89系列)IO作为输出,既有开漏输出,也有弱上拉输出。其中P0口是开漏输出,P1、P2和P3是弱上拉输出。 P1、P2和P3结构基本差不多,IO输出端是一个接上拉电阻的MOS管,漏极输出,当程序写“1”,锁存器输出反相信号“0”,则MOS管截止,输出端对外呈现高电平;反之MOS饱和导通,输出低电平。因内部上拉电阻阻值较大,所以称之为弱上拉输出。 P0口比较特殊,既可以作为地址/数据总线,又可以作为输入输出口。地址/数据总线的 作 用我们不用去理会了(基本不会在51单片机上加载存储器),但地址/数据总线的输出形式 确 值得一提,从图上可以看出,MUX开关打向上边,IO作为地址/数据用,OS管T1和T2轮流导通,这种形式成为推挽输出。尽管我们不用地址数据总线,但这种双管轮流导通的形式是AVR/PIC等单片机IO输出的主要形式,输出和输入具有同样大的电流。 P0口用作普通IO时,MUX开关打向锁存器端,锁存器输出只与MOS管T2连接,MOS管T1不起作用,MOS管T2漏极开路,称之为开漏输出。所以P0口作为普通IO使用,需在外部接上拉电阻。 2、拉电流与灌电流 拉电流和灌电流是衡量数字电路输出驱动能力的参数,由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌电流”。如图所示。 灌电流越大,输出端MOS管的饱和压降就会越大,则输出低电平则会变高,数字电路的低电平是有一定限制的,它有一个最大值UOLMAX。电路工作时,不允许超过这个数值,TTL逻辑门的规范规定UOLMAX ≤0.4~0.5V。所以,灌电流有一个上限。 拉电流越大,输出端的高电平就越低。这是因为输出级三极管是有内阻的,内阻上的电压降会使输出电压下降。拉电流越大,输出端的高电平越低。数字电路的高电平有一个最小值UOHMIN。工作时,不允许超过这个数值,TTL逻辑门的规范规定UOHMIN ≥2.4V。所以,拉电流也有一个上限。 AT89S52单片机IO驱动能力,手册里是这样描述的: P1、P2、P3拉电流最大值不能超过60uA,拉电流再大,则输出电平低于2.4V 。51单片机的拉电流很弱,原因在于输出端上拉电阻阻值很大(几十K)。 每个IO口所允许的最大灌电流为10MA,整个芯片最大灌电流71mA,P0口最大灌电流26mA,P1、P2和P3口最大灌电流为15mA。 3、双向口与伪双向口 双向口是指单片机输入和输出机构分离的,使用前需先设定是输入还是输出,大部分单片机的IO是双向口。 51单片机的IO是伪双向口,指的是输入和输出并未彻底分离。从IO读数据时,需要先对IO写“1”,然后才能读取外部电平。为什么要先写“1”呢?写“1”的作用是让MOS管T截止,如果MOS管不截止(写“0”MOS管导通),则IO口被拉到低电平,无论外部电平是高还是低,读进来的信号全是低电平,如图所示。 有人可能会问,实际写程序读取外部电平时,都是直接来读的,没有写“1”的操作。这是因为51单片机上电复位后IO是高电平,既在程序运行前进行了写“1”操作,所以实际应用中省略了这一步。 P0外接上拉电阻阻值如何选取 P0开漏输出,需外接上拉电阻,才能正常使用。既然上拉电阻可以自己设定,为了增加输出电流能力,有人把上拉电阻取值较小,这样做确实提高P0口高电平输出电流的能力,但当P0置低,上拉电阻上的电流全部流入内部的MOS管,增加了无用的灌电流。所以上拉电阻取值不能太小,一般在1K-10K之间。不建议通过上拉电阻提高来增大对外输出电流,如果需要大电流,电路中需使用功率元件。 IO驱动之流水灯 LED发光二极管是电子产品中常用的元器件:在电子产品中我们经常使用一个红色或者绿色的发光二极管用来指示系统的工作状态;闪烁的发光二极管用来作为系统的报警信号;发光二极管是数码管和点阵屏的基本单位。在本节中,我们通过一个流水灯的实例,了解发光二极管的特点和51单片机IO口驱动流水灯的程序实现方

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档