单片机原理及接口技术第9章 扩展IO.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
① AT89S51单片机可以通过“MOVX @Ri,A”指令把输出数据送到B口的输出数据锁存器,82C55收到后便令输出缓冲器满引脚(PC1)变为低电平,以通知输出设备输出的数据已在PB口的PB7~PB0上。 ② 输出外设收到上低电平后,先从PB7~PB0上取走输出数据,然后使B变为低电平,以通知82C55输出外设已收到82C55输出给外设的数据。 ③ 82C55从应答输入线收到低电平后就对和中断允许控制位INTEB状态进行检测,若它们皆为高电平,则INTRB变为高电平而向AT89S51单片机请求中断。 ④ AT89S51单片机响应INTRB上中断请求后便可通过中断服务程序把下一个输出数据送到PB口的输出数据锁存器。重复上述过程,完成数据的输出。 * 3.方式2 只有PA口才能设定为方式2。图9-9所示为方式2下的工作过程示意图。方式2实质上是方式1输入和方式1输出的组合。在方式2下,PA7~PA0为双向I/O总线。当作为输入端口使用时,PA7~PA0受和IBFA控制,其工作过程和方式1输入时相同;当作为输出端口使用时,PA7~PA0受、控制,其工作过程和方式1输出时相同。 方式2特别适用于像键盘、显示器一类的外部设备,因为有时需要把键盘上输入的编码信号通过PA口送给单片机,有时又需要把单片机发出的数据通过PA口送给显示器显示。 * * 图9-9 PA口在方式2下的工作示意图 9.2.4 AT89S51单片机与82C55的接口设计 1.硬件接口电路 图9-10所示为AT89S51单片机扩展一片82C55的电路图。图中,74LS373是地址锁存器,P0.1、P0.0经74LS373与82C55的地址线A1、A0连接;P0.7经74LS373与片选端相连,其它地址线悬空;82C55的控制线、直接与AT89S51单片机的和端相连;AT89S51单片机的数据总线P0.0~P0.7与82C55的数据线D0~D7连接。 2.确定82C55端口地址 图9-10中82C55只有3条线与AT89S51单片机的地址线相接,片选端、端口地址选择端A1、A0,分别接与P0.7、P0.1、P0.0相连的8 D锁存器的输出端Q7、Q1、Q0,其他地址线全悬空。显然只要保证P0.7为低电平时,即可选中82C55;若P0.1、P0.0再为“00”,则选中82C55的PA口。同理P0.1、P0.0为“01”、“10”、“11”分别选中PB口、PC口及控制口。 * * 图9-10 AT89S51单片机扩展一片82C55的接口电路 * 若端口地址用16位表示,其他未用端全设为“1”(也可把无用端全设为“0”,但一般习惯上把未用端置“1”),则82C55的PA、PB、PC及控制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。 3.软件编程 在实际应用设计中,必须根据外部设备的类型选择82C55的工作方式,并在初始化程序中把相应控制字写入控制口。下面根据图9-10,介绍对82C55进行操作的编程。 【例9-4】要求82C55工作在方式0,且PA口作为输入,PB口、PC口作为输出,则程序如下: * 【例9-5】对端口PC的置位/复位。 82C55的PC口8位中的任意一位,均可用指令来置位或复位。例如,如果想把PC口的PC5置“1”,相应的控制字?=?0BH(关于82C55的PC口置位/复位的控制字说明见图9-4)。程序段如下: 82C55接口芯片在AT89S51单片机应用系统中广泛用于与各种外部数字设备,如打印机、键盘、显示器的接口电路,以及作为数字信息的输入、输出接口。 * 9.3 利用74LSTTL电路扩展并行I/O口 在AT89S51单片机应用系统中,有些场合需要降低成本、缩小体积,这时采用TTL、CMOS电路锁存器或三态门电路也可构成各种类型的简单输入/输出口。通常这种I/O都是通过P0口扩展。由于P0口只能分时复用,故构成输出口时,接口芯片应具有锁存功能;构成输入口时,要求接口芯片应能三态缓冲输入,而数据的输入、输出则由单片机的读/写信号控制。 图9-11所示为一个利用74LS244(缓冲输入驱动器)和74LS273(8D锁存器)芯片,将P0口扩展成简单的输入/输出口的电路。74LS244和74LS273的工作受AT89S51单片机的P2.0、、?3条控制线控制。74LS244作为扩展输入口,它的8个输入端分别接8个按钮开关。74LS273的输出端接8个LED发光二极管,以显示8个按钮开关状态。当某条输入口线的按钮开关按下时,该输入口线为低电平,读入单片机后, * 其相应位为“0”,然后再将口线的状态经74LS273输出,某位低电平

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档