作为总线的p0p2口也可以做通用io口.docx

作为总线的p0p2口也可以做通用io口.docx

  1. 1、本文档共1页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作为总线的P0 P2 口也可以做通用I/O 口 eleclike发表于 eleclike 发表于 2007-10-18 21:08:00 一般情况下,并行总线并不是把 P0, P2的每一个引脚都作了数据/地址总线来使用的,对于开发人 员来说,充分的利用每一个 I/O 口即可以达到提高系统资源的利用率,也可以避免因需要过多 I/O弓I脚而 使得系统芯片占用过多电路板面积的尴尬。 一般并行总线接口的方式下, 8根数据线是并需的,而地址总线并非总是需要 16条,特别是对于 那些外围扩展器件,比如在我的 用DS12887时钟芯片制作的时钟闹钟系统 一文中DS12887的地址就只有9 条线, 这样就就使得P2 口全部用来做地址总线就显得有些空余,这些空余的地址总线是不是可以更好的 利用起来呢?然而在很多书上“若 P0, P2 口作为数据/地址总线就不能用作通用I/O 口”的结论可能会吓 住我们进一步的思考。 用DS12887时钟芯片制作的时钟闹钟系统 文中作为地址线而未连接有的 P2.6--P2.0,以P2.0 为例,用来控制PNP型三极管驱动蜂鸣器作为警报,当 P2.0为高时,蜂鸣器不发声;为低时,则发声。设 DS12877的地址时,没有连接的线可以设为 1或0,这里可以令 DS12887的A8 (即P2.0 口)恒为“高”, 这样在写和读DS12887的指令周期中,蜂鸣器总是不发声的。若岀现需要报警的情况(比如闹钟设置的时 间到),设置一个报警标志位并置位为 1,每一次总循环处理的过程中,先处理写和读 DS12887的过程, 然后紧接着检查报警标志位是否为 1,若为1,就使P2.0为低,即蜂鸣器发声,即使在检查报警标志位之 前的过程中使得A8为“高”,但是这个过程非常短暂,而且安排在后的判断报警标志位的过程使得 P2.0 又回到了低(如果有报警的需要,当然若不需要报警,前面岀现 A8为高本身就是正常的了),所以最后岀 现的结果使得P2.0所接的蜂鸣器听起来总是在正常工作的。 所以作为数据地址总线的端口并非总不能用做通用 I/O 口的,当然在具体设计的时候还要具体考 虑的,本文讨论的是比如一些简单的人机接口,利用的是“人体器官并不是很灵敏”的道理,若在一些高 可靠性的设计中就要再三权衡了。

文档评论(0)

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

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

1亿VIP精品文档

相关文档