微机原理及接口技术 第09章可编程并行接口8255A f精品.pptVIP

微机原理及接口技术 第09章可编程并行接口8255A f精品.ppt

  1. 1、本文档共69页,可阅读全部内容。
  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文档。上传文档
查看更多
(1) 并行接口直接控制显示器 例如,在图9.15所示电路中,在两个数码管上显示数字“14”,可以用下面的程序段完成。 如果要将随时改变的数据显示在数码管上,可以提前将不同显示字符的字模存储在存储器中,建立一个字模表,显示数据时,根据每一位要显示的值,在字模表中查得其字模,输出到相应的并行输出端口即可。 例如,将寄存器AH中的二进制数据用十六进制格式显示在上述的两位数码管上,可以用以下程序段完成。 (2)利用8位串入/并出移位寄存器控制显示 如果一个系统中输出端口数目较少,但是需要显示较多位数据时,可以采用下面的方法扩展静态显示器,为了减少输出线的使用量,增加串行输入/并行输出移位寄存器,将串行传输来的数据转换成并行数据,提供给数码管控制其各显示段,显示数据。 如图9.16所示,串行输入/并行输出移位寄存器74LS164在时钟端Clk的驱动下,可以将数据输入 端Din送来的一位一位的数据(传输每一位数据时,Clk端必须提供一个脉冲),转换成8位数据,由输出端“HGFEDCBA”并行输出。 图9.16 串入/并出移位寄存器 图9.17 两位静态LED显示器原理 本章完 谢谢大家 INTR(Interrupt Request):中断请求信号,高电平有效。当输出设备从8255A端口中读取数据,从而发出ACK*信号后,8255A便向CPU发出中断请求信号,以便CPU响应中断,再次输出数据。所以,当ACK*变为高电平,并且OBF*也变为高电平时,INTR便成为高电平即有效电平,而当写信号WR*的下降沿来到时,INTR则变为低电平。 INTE(Interrupt Enable):中断允许。与端口A、端口B工作在方式1输入情况时INTE的含义一样,INTE为1时,使端口处于中断允许状态,而INTE为0时,使端口处于中断屏蔽状态。具体地说,将PC6置为1,则使端口A的INTE为1,PC6置为0,则使端口A的INTE为0。将PC2置为1,使端口B的INTE为l,PC2置为0,则使端口B的INTE为0。 方式2 (1) 方式2的工作特点 方式2又称为双向传输方式,这种方式只适用于端口A。在方式2下,外设可以在8位数据线上,既向CPU发送数据,又接收CPU传输来的数据。此外,和工作于方式l的情况类似,端口C在端口A工作于方式2时自动提供相应的控制信号和状态信号。 方式2有如下特点: 方式2只适用于端口A。 端口A工作于方式2时,端口C用5条线自动配合端口A,提供控制信号和状态信号。 方式2下数据传输方向由联络控制信号决定。 方式2下的输入和输出均有锁存功能。 (2) 方式2工作时的控制信号和状态信号 INTRA(Interrupt Request):中断请求信号,高电平有效。不管是输入动作还是输出动作,当一个动作完成、而要进入下一个动作时,8255A都通过这一引脚向CPU发出中断请求信号。 STB*A(Strobe):外设提供给8255A的选通信号,低电平有效。此信号将外设送到8255A的数据打入输入锁存器。 IBFA(Input Buffer Full):8255A送往CPU的状态信息,表示当前已有一个新的数据送到输入缓冲器中,等待CPU取走。IBFA可作为供CPU查询的信号。 OBF*A(Output Buffer Full):输出缓冲器满信号,实际上,它是一个由8255A送给外设的状态信号,低电平有效。当OBF*A有效时,表示CPU已经将一个数据写入8255A的端口A,通知外设将数据取走。 ACK*A(Acknowledge):外设对OBF*A信号的响应信号,低电平有效。它使8255A端口A的输出缓冲器开启,送出数据。否则,输出缓冲器处于高阻状态。 INTE1(Interrupt Enable):输出中断允许信号。INTE1为1时,允许8255A由INTR往CPU发中断请求信号,以通知CPU往8255A的端口A输出一个数据;INTE1为0时,则屏蔽了该中断请求,这时,即使8255A的数据输出缓冲器空了,也不能在INTR端产生中断请求。INTE1到底为0还是1,是由程序通过对PC6的设置来决定的,PC6为1,则INTE1为1,PC6为0,则INTE1为0。 INTE2:(Interrupt Enable);输入中断允许信号。当INTE2为1时,端口A的输入处于中断允许状态,当INTE2为0时,端口A的输入处于中断屏蔽状态。INTE2是程序通过对PC4的设置来决定为1还是为0的,将PC4置1时,使INTE2为1,PC4为0时,则使INTE2为0。 D7 D6 D5 D4 D3 D2 D1 D0 方式1输入 I/O I/O IBFA INTEA INTRA INTEB IBFB INTRB 方式1输出 OBFA

您可能关注的文档

文档评论(0)

挑战不可能 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档