- 1、本文档共99页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 10 章 并行接口芯片8255 当CPU要从外设输入信号或者输出信息给外设,可以采用程序查询方式、中断方式和DMA方式。但是,不论采用哪一种方式,CPU总是通过接口电路(Interface)才能与外设连接。所以,接口电路一边与CPU连接,另一边与外设连接。 在接口电路中,要有输入输出数据的锁存器和缓冲器,要有状态(如Ready,Busy等)和控制命令的寄存器,以便于CPU与接口电路之间采用应答方式(程序查询式)来交换信息,也便于接口电路与外设之间传送信息。接口电路中还要有端口的译码和控制电路,以及为了与CPU用中断方式交换信息所需要的中断请求触发器、中断屏蔽触发器、中断优先权排队电路和能向CPU发出中断矢量的电路等。 这样,才能解决CPU的驱动能力问题、时序的配合问题以及实现各种控制,保证CPU能正确可靠地与外设交换信息。 随着大规模集成电路技术的发展,生产了许多通用的可编程序的接口芯片。这些接口芯片按数据传送的方式可以分为并行接口和串行接口两大类。本章只讨论并行接口芯片,串行接口芯片放在第11章中介绍。 通常并行接口芯片应该具有以下功能: (1) 两个或两个以上的具有锁存器或缓冲器的数据端口; (2) 每个数据端口都有与CPU用应答方式交换信号所必需的控制和状态信息,也有与外设交换信息所必需的控制和状态信息; (3) 通常每个数据端口还具有能用中断方式与CPU交换信息所必需的电路; (4) 选片和控制电路; (5) 通常这类接口芯片可用程序选择数据端口,选择端口的传送方向(输入或输出或双向),选择与CPU交换信息的方法(查询或中断)等,故片中要有能实现这些选择的控制字寄存器,它可由CPU用输出指令来写入。 所以,接口芯片在工作前必须要由CPU用输出指令对它编程——初始化,以规定它的工作方式。 10.1 可编程的并行输入输出接口芯 片8255A-5的结构 Intel 8255A-5是一个为8080、8085和8086/8088微型计算机系统设计的通用I/O接口芯片。它可以用程序来改变功能,通用性强,使用灵活。通过它可以将CPU的总线直接接向外设。 8255A的方框图如图10-1所示。 8255A由以下几个部分组成: 1. 数据端口A、B、C 它有三个输入输出端口: Port A、Port B和Port C。每一个端口都是8位,都可以选择作为输入或输出,但功能上有着不同的特点。 (1) 端口A: 一个8位数据输出锁存和缓冲器;一个8位数据输入锁存器。 (2) 端口B: 一个8位数据输入/输出、锁存/缓冲器;一个8位数据输入缓冲器。 (3) 端口C: 一个8位数据输出锁存/缓冲器;一个8位数据输入缓冲器(输入没有锁存)。 通常端口A或B作为输入输出的数据端口,而端口C作为控制或状态信息的端口,它在方式字的控制下,可以分成两个4位的端口,每个端口包含一个4位锁存器,它们分别与端口 A和B配合使用,可以作为控制信号输出,或者作为状态信号输入。 2. A组和B组控制电路 这是两组根据CPU的命令字控制8255A工作方式的电路。它们有控制寄存器,接受CPU输出的命令字,然后分别决定两组的工作方式,也可根据CPU的命令字对端口C的每一位实现按位“复位”或“置位”。 A组控制电路控制端口A和端口C的上半部(PC7~PC4)。 B组控制电路控制端口B和端口C的下半部(PC3~PC0)。 3. 数据总线缓冲器 这是一个三态双向8位缓冲器,它是8255A芯片与系统数据总线的接口。输入输出的数据,输出的指令以及CPU发出的控制字和外设的状态信息,也都是通过这个缓冲器传送的。 4. 读/写和控制逻辑 它与CPU的地址总线中的A1、A0以及有关的控制信号(RD#,WR#,RESET,IO/M#)相连,由它控制把CPU的控制命令或输出数据送至相应的端口,也由它控制把外设的状态信息或输入数据通过相应的端口,送至CPU。 5. 一些控制命令 (1) CS#(Chip Select)——选片信号,低电平有效,由它启动CPU与8255A芯片之间的通信(Communication)。 (2) RD#——读信号,低电平有效。它控制8255A送出数据或状态信息至CPU。 (3) WR#——写信号,低电平有效。它控制把CPU输出的数据或命令信号写到8255A。 (4) RESET——复位信号,高电平有效。它清除控制寄存器,并且置所有端口(A、B、C)为输入方
文档评论(0)