51单片机IO端口的四种输入输出模式.doc

51单片机IO端口的四种输入输出模式.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机IO端口的四种输入输出模式

?51单片机IO端口的四种输入输出模式 (by wuleisly) 单片机IO口的使用对所有单片机玩家来说都是“家常便饭”,但是你真的了解IO口吗?你真的能按你的需要配置IO口吗? ???一、准双向口输出 ????????准双向口输出类型可用作输出和输入功能而不需重新配置口线输出状态。这是因为当口线 输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为低时,它的驱动能力很强, 可吸收相当大的电流。(准双向口有3个上拉晶体管适应不同的需要) ?????准双向口读外部状态前,要先锁存为 ‘1’,才可读到外部正确的状态. ? ?二、强推挽输出 ????????推挽输出配置的下拉结构与开漏输出以及准双向口的下拉结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于需要更大驱动电流的情况。 ? 三、仅为输入(高阻) ???? 输入口带有一个施密特触发输入以及一个干扰抑制电路。 ? 四、开漏输出配置(若外加上拉电阻,也可读) ?? 当口线锁存器为0时,开漏输出关闭所有上拉晶体管。当作为一个逻辑输出时,这种配置方式必须有外部上拉,一般通过电阻外接到Vcc。如果外部有上拉电阻, 开漏的I/O口还可读外部状态,即此时被配置为开漏模式的I/O口还可作为输入I/O口。这种方式的下拉与准双向口相同。 ?? 开漏端口带有一个施密特触发输入以及一个干扰抑制电路。 关于I/O口应用注意事项: ???? 1.有些是I/O口由低变高读外部状态时,读不对,实际没有损坏,软件处理一下即可。 ?????? 因为1T的8051单片机速度太快了,软件执行由低变高指令后立即读外部状态,此时由于实际输出还没有变高,就有可能读不对,正确的方法是在软件设置由低变高后加1到2个空操作指令延时,再读就对了. ??? 有些实际没有损坏,加上拉电阻就OK了 有些是外围接的是NPN三极管,没有加上拉电阻,其实基极串多大电阻,I/O口就应该上拉多大的电阻,或者将该I/O口设置为强推挽输出. ? 2.驱动LED发光二极管没有加限流电阻,建议加1K以上的限流电阻,至少也要加470欧姆以上 ???? 做行列矩阵按键扫描电路时,实际工作时没有加限流电阻,实际工作时可能出现2个I/O口均输出为低,并且在按键按下时,短接在一起,我们知道一个CMOS 电路的2个输出脚不应该直接短接在一起,按键扫描电路中,此时一个口为了读另外一个口的状态,必须先置高才能读另外一个口的状态,而8051单?片机的弱 上拉口在由0变为1时,会有2时 钟的强推挽高输出电流输出到另外一个输出为低的I/O口,就有可能造成I/O口损坏.建议在其中的一侧加1K限流电阻,或者在软件处理上,不要出现按键两端的I/O口同时为低. 一种典型三极管控制电路: 如果用弱上拉控制,建议加上拉电阻R1(3.3K~10K),如果不加上拉电阻R1(3.3K~10K), 建议R2的值在15K以上,或用强推挽输出。 ? 典型发光二极管控制电路: ???????推挽/强上拉口,用拉电流驱动发光二极管 ????弱上拉/准双向口,用灌电流驱动发光二极管限流电阻尽量大于1K,最小不要小于470Ω ? 混合电压供电系统3V/5V器件I/O口互连 ? ????????? 5V单片机连接3.3V器件时,为防止3.3V器件承受不了5V,可将相应的5V单片机I/O口先串一个330Ω的限流电阻到3.3V器件I/O口,程序 初始化时将5V器件的I/O口设置成开漏配置,断开内部上拉电阻,相应的3.3V器件I/O口外部加10K上拉电阻到3.3V器件的Vcc,这样高电平是 3.3V,低电平是0V,输入输出一切正常。 ? ? ? ???????? 3V单片机连接5V器件时,为防3V器件承受不了5V,如果相应的I/O口是输入,可在该I/O口上串接一个隔离二极管,隔离高压部分。外部信号电压高于单片机工作电压时截止,I/O口因内部上拉到高电平,所以读I/O口状态是高电平;外部信号电压为低时导通,I/O口被钳位在0.7V,小于0.8V时单片机读I/O口状态是低电平。 ? ? ?3V单片机连接5V器件时,为防止3V器件承受不了5V,如果相应的I/O口是输出,可用一个NPN三极管隔离 ? ? ? 如何让I/O口上电复位时为低电平 ??普通8051单片机上电复位时普通I/O口为弱上拉高电平输出,而很多实际应用要求上电时某 些I/O口为低电平输出,否则所控制的系统(如马达)就会误动作,现STC12系列单片机由于既有弱 上拉输出又有强推挽输出,就可以很轻松的解决此问题。 ?? 现可在STC12系列单片机I/O口上加一个下拉电阻(1K/2K/3K),这样上电复位时,虽然单片 机内部I/O口是弱上拉/高电平输出,但由于内部上拉能力有限,而外部下拉电阻又较小,无法 将其拉高,所以该I/O口上电复位时外

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档