- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机基础(第三版)——第七章节
第7章 单片机并行I/O扩展;7.1 单片机I/O扩展基础知识;3. 数据总线隔离
线上可能连接着多个数据源(输入设备)和多个数据负载(输出设备)。一对源和
负载的数据传送正在进行时,所有其他不参与的设备在电性能上必须与总线隔
开。这就是接口电路的总线隔离功能。
为了实现总线隔离,需要有接口电路提供具有三态缓冲功能的三态缓冲电路。
4. 数据转换
外部设备种类繁多,不同设备之间的性能差异很大,信号形式也多种多样。单
片机只能使用数字信号,如果外部设备所提供或需要的不是电压形式的数字信
号,就需要有接口电路进行转换,其中包括模/数转换和数/模转换等。
5. 增强驱动能力
通过接口电路为输出数据提供足够的驱动功率,以保证外部设备能正常、平稳
地工作。;7.1.2 关于接口电路的更多说明;7.1.3 I/O编址技术;7.1.4 单片机I/O控制方式;3. 中断方式
中断方式与查询方式的主要区别在于如何知道外部设备是否为I/O操作做好准备。采用中断方式进行I/O控制时,当设备做好准备之后,就向单片机发出中断请求。单片机接收到中断请求之后作出响应,暂停正在执行的原程序,而转去执行中断服务程序,通过执行中断服务程序完成一次I/O操作,然后程序返回,单片机再继续执行被中断的原程序。
中断方式效率较高,所以在单片机系统中被广泛采用。但中断请求是一种不可预知的随机事件,所以实现起来对单片机系统的硬件和软件都有较高的要求。
;7.2 可编程并行接口芯片8255; 8255是一个40引脚的双列直插式集成电路芯片,其引脚排列如下图。
8255芯片引脚图;按功能可把8255的内部结构分为3个逻辑电路部分,分别为: 口电路、总线接口电路和控制逻辑电路。如下图。;1. 口电路
8255共有3个8位口,其中A口和B口是单纯的数据口,而C口则既可以作
数据口使用,又可以作控制口使用,主要用于实现A口和B口的控制功能。
把A口和C口高位部分合在一起称为A组;把B口和C口低位部分合在一起称
为B组。
2. 总线接口电路
总线接口电路用于实现8255和单片机芯片的信号连接。其中包括:
① 数据总线缓冲器。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送的。
② 读/写控制逻辑。相关的控制信号有:
/CS片选信号(低电平有效)。
/RD读信号(低电平有效)。
/WR写信号(低电平有效)。
A0、A1低位地址信号,用于端口选择。8255共有4个可寻址的端口。
RESET复位信号(高电平有效)。芯片复位后,控制寄存器清0,各端口被置为输入方式。
;3. A组和 B组控制电路
A组控制和B组控制合在一起构成8255的控制电路,其中包括一个8位控制寄存器,用于存放编程命令和实现各口操作控制。
4. 中断控制电路
8255逻辑电路中还包含一个中断控制电路。中断控制电路中对应A、B两个口各有一个中断触发器,即触发器A和触发器B,用于对中断的允许和禁止进行控制。置位为允许,复位为禁止。对两个触发器的置位和复位控制是通过口C的有关位进行的。;1. 方式0(基本输入/输出方式)
方式0适用于无条件数据传送。两个8位口(A口和B口)和两个4位口(C口高位部分和C口低位部分)都可以分别或同时设置为方式0。
2. 方式1(选通输入/输出方式)
方式1是选通输入/输出方式。8255的“选通”是通过信号的“问”与“答”,以联络方式(或称握手方式)实现的。所以这种数据传送方式是有条件的,适用于以查询或中断方式进行控制。
在方式1下,A口和B口是数据口,C口是控制口,用于传送和保存数据口所需要的联络信号都有具体的定义。见后表。
3. 方式2(双向数据传送方式)
方式2是在方式1的基础上加上双向传送功能,只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。如果把A口置于方式2下,则B口只能工作于方式0。方式2适用于查询或中断方式的双向数据传送。在这种方式下需使用C口的5位口线作控制线。;C口联络信号定义;7.2.3 8255的编程内容;8255工作方式命令格式;2. C口位置位/复位命令
在方式1和方式2下,C口用于定义控制信号和状态信号,因此,
C口的每一位都可以进行置位或复位。对C口各位的置位或复位是
由位置位/复位命令进行的。8255的位置位/复位命令格式如下图。;3. 初始化编程
8255初始化的内容就是向控制字寄存器写入命令。
例如,若对8255各口作如下设置: A口方式0输入,B口方式1输出,C口高位部分为输出、低位部分为输入。设控制寄存器地址为0003H。按各口的设置要求,工作方式命令字即95H。则初始化程序段应为:
MOV R0, #03H
MOV A, #95H
MOVX @R0, A
文档评论(0)