IO接口的扩展方法

上传人:woxinch****an2018 文档编号:56880306 上传时间:2018-10-16 格式:PPT 页数:56 大小:1.63MB
返回 下载 相关 举报
IO接口的扩展方法_第1页
第1页 / 共56页
IO接口的扩展方法_第2页
第2页 / 共56页
IO接口的扩展方法_第3页
第3页 / 共56页
IO接口的扩展方法_第4页
第4页 / 共56页
IO接口的扩展方法_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《IO接口的扩展方法》由会员分享,可在线阅读,更多相关《IO接口的扩展方法(56页珍藏版)》请在金锄头文库上搜索。

1、9.1 概述,重点内容: 1、I/O芯片与单片机的连接 2、I/O芯片的地址空间分配 3、I/O芯片工作方式的设置以及读写方法,第9章 扩展I/O接口,9.5 其他总线的扩展,9.2 普通并行I/O口扩展,9.3 利用8255A芯片的扩展I/O口,9.4 利用8155芯片的扩展I/O口,一、 I/O接口的功能 二、I/O接口的数据传送方式 三、I/O接口的编址 四、I/O接口扩展方法:并口扩展常用三种方法 (1)并行总线扩展的方法(2)串行口扩展方法(3)I/O端口模拟串行方法,9.1 概述,并行I/O口扩展的目的:为外围设备提供一个输入输出通道。,主要内容: 1、利用TTL、CMOS集成电路

2、来扩展2、利用可编程并行接口芯片来扩展,一、I/O接口的功能,1、速度协调 由于CPU与外设速度上的差异,使得数据的I/O传送只能在确认外设已为数据传送作好准备的前提下才能进行I/O操作。 2、数据锁存单片机的工作速度快,数据在数据总线上保留的时间短,无法满足慢速外设的数据接收。因此数据锁存就成为接口电路的一项重要功能。 3、输入数据三态缓冲只允许当前时刻正在进行数据传送的数据源使用数据总线,其它数据源都必须与数据总线处于隔离状态。为此要求接口电路能为数据输入提供三态缓冲功能。 4、数据转换需要使用接口电路进行数据信号的转换。其中包括:D/A 转换、A/D转换、串 / 并转换和并/ 串转换等。

3、,二、I/O数据传送方式,1、无条件传送方式在进行I/O操作时,不需要测试外部设备的状态,可以根据需要随时进行数据传送操作。一般用于具有常驻的或变化缓慢的数据信号的外部设备如机械开关、指示灯、发光二极管、数码管等,以及工作速度非常快,足以和CPU同步工作 的外部设备如外部数据存储器,数/模转换器。 2、程序查询方式为了实现查询方式的数据输入输出传送,需要由接口电路提供外设状态,并以软件方法进行状态测试。 3 、程序中断方式采用中断方式进行数据传送时,当外设为数据传送作好准备之后,就向CPU发出中断请求。CPU响应中断后,再继续执行被中断的原程序。,三、I/O端口的编址,1、在计算机中,凡需进行

4、读写操作的设备都存在着编址的问题。 2、有两种需要编址的部件(1)存储器:存储单元进行编址(2)接口电路:接口电路则是对其中的端口进行编址。 3、I/O编址方式 独立编址方式优点是I/O地址空间和存储器地址空间相互独立,但需要专门设置一套I/O指令和控制信号,从而增加了系统的开销。(2) 统一编址方式统一编址就是把系统中的I/O和存储器统一进行编址。在这种编址方式中,把接口中的寄存器(端口)与存储器中的存储单元同等对待。为此也把这种编址称之为存储器映像编址。,接口与端口的概念,接口:特指计算机与外设之间在数据传送方面的联系。其功能主要是通过电路实现的。因此称之为接口电路。端口:一个接口电路中可

5、能包括有多个寄存器例如:保存数据的数据口保存状态的状态口保存命令的命令口 因此一个接口电路就对应着多个端口地址。注意: 端口是供用户使用的,用户在编写有关数据输入/输出程序时,要用到接口电路中的各个端口。因此要知道它们的设置和编址情况。, 访问扩展I/O口的方法与访问数据存储器完全相同,使用相同的指令,所有扩展的I/O口与片外数据存储器统一编址。 利用串行口扩展法扩展的外部并行I/O口不占用外部RAM地址空间。 利用并行总线扩展的方法扩展外部并行I/O口时,必须注意P0, P2, P3口的负载问题,若负载能力不够,必须进行总线驱动能力扩展。 扩展外部并行I/O口对外设的硬件具有依赖性(驱动功率

6、、电平匹配、干扰抑制、隔离等)。,四、MCS-51单片机扩展并行I/O口的注意事项,普通并行I/O口在扩展时,它们的选通端或时钟信号端要与地址线和控制线的逻辑组合输出端相连。,9.2 普通并行I/O口扩展,一、扩展并行输出口,例1:用锁存器74LS377扩展并行输出口,程序如下:MOV DPTR, #7FFFHMOV A, 60HMOVX DPTR, A,P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0/WR,OE D7 Q7 D6 Q6 D5 Q5 D4 Q4 D3 Q3 D2 Q2 D1 Q1 D0 Q0 G,D7 D6 D5 D4 D3 D2 D1 D0,8051

7、,74LS373,输出设备,例2:用锁存器74LS373扩展并行输出口,程序如下:MOV DPTR, #7FFFHMOV A, 60HMOVX DPTR, A,例3:用74LS374扩展并行输出口 74LS374是具有三态输出的8D边沿触发器,与单片机接口电路如下图所示,74LS374的地址为7FFFH。,程序如下:MOV DPTR, #7FFFHMOV A, 60H MOVX DPTR, A,程序如下: MOV DPTR, #7FFFH MOVX A, DPTR MOV 61H, A,二、扩展并行输入口,用单向总线缓冲器74LS244扩展并行输入口 ,硬件电路如下图所示。74LS244的地址

8、为7FFFH。,时序,三、扩展简单的八位输入输出口,输出: MOV A,#70H MOV DPTR,#0FEFFH MOVX DPTR,A,输入: MOV DPTR, #0FEFFH MOVX A,DPTR,9.3 利用8255A芯片的扩展I/O口,8255A是可编程并行I/O接口芯片, 具有3个8位并行I/O口, 称为PA口、 PB口和PC口。通过控制字设定可以 选择三种工作方式: 基本输入/输出; 选通输入/输出; PA口为双向总线。 ,8255的三个端口具体工作在什么方式下,是通过CPU对控制口的写入控制字来决定的。,8255,一、8255A的内部结构和引脚,方式选择控制字,二、8255

9、A的控制字(2个),C口置位/复位控制字,思考:如何把这两个控制字写入8255A?8255A如何区分这两个控制字?,MOV DPTR,#7F03HMOV A,#83HMOVX DPTR, A,例: 设8255控制字寄存器的地址为7F03H,试编程使A口为方式0输出,B口为方式0输入,PC4PC7为输出,PC0PC3为输入。,例:设8255控制字寄存器地址为7F03H,将PC1置1,PC3清0。,MOV DPTR,#7F03H MOV A,#03H MOVX DPTR, A MOV A,#06H MOVX DPTR, A,方式0:基本输入/输出方式。不需要任何选通信号,适合于无条件传输数据的设备

10、,数据输出有锁存功能,数据输入有缓冲(无锁存)功能。,三、8255A的工作方式(3个),方式 1: 选通输入/输出方式。共有3口, 被分为两组。A组包括A口和PC7-PC4, A口可由 编程设定为输入或输出, PC7-PC4作为输入/输出操作的选通信 号和应答信号。B组包括B口和PC3-PC0, 这时C口作为 8255A和 外设或CPU之间传送某些状态信息及中断请求信号。,方式 2: 双向传送方式。 只有A口有方式 2, 此时, A口为8位双向传送数据口, C 口的高5位PC7-PC3用来作为指定A口输入/输出的控制联络线。,8255A的C口联络控制信号线,A口的方式1选通输入方式,PA7PA

11、0,B口的方式1选通输出方式,四、8255A与MCS-51的接口设计,8255A 接口工作状态选择表,PA, PB, PC及控制寄存器的地址分别是: PA:7FFCH PB:7FFDH PC:7FFEH 控制寄存器:7FFFH,例:如图上页所示,假设8255A芯片的PA接一组8只状态指示灯,PB接一组8个开关,现须将开关闭合的状态输入到片内60H单元保存,将70H单元的内容送状态指示灯显示,并置位PC7引脚,编写相应程序。 解:根据题意,设置8255A的A口方式0输出,B口方式0输入,C口高四位输出,则8255A的方式字为82H(10000010B),C口置位/复位字为0FH(00001111

12、B),8255A的方式字及置位/复位控制字地址为7FFFH。初始化过程及输入/输出的程序如下: ORG 1000H DSP8255: MOV DPTR, #7FFFH ; 数据指针指向8255A控制口MOV A, #82H MOVX DPTR, A ; 工作方式字送8255A控制口MOV A, #0FH MOVX DPTR, A ; C口置位/复位字送8255A控制口MOV DPTR, #7FFDH ; 数据指针指向8255A 的B口MOVX A, DPTR MOV 60H, A ; 将B口开关状态送入60H单元MOV DPTR, #7FFCH ; 数据指针指向8255A 的A口MOV A,

13、70H MOVX DPTR, A ; 70H单元内容A口指示灯显示RET END,例:分析下列接法中8255A的地址,例:如果在8255的B口接有8个按键,A口接有8个发光二极管,完成按下某一按键,相应的发光二极管发光的功能。MOV DPTR,#0003H ;指向8255的控制口MOV A,#83H MOVX DPTR, A ;向控制口写控制字,A口输出,B口输入 LOOP: MOV DPTR,#0001H ;指向8255的B口MOVX A, DPTR ;检测按键,将按键状态读入A MOV DPTR,#0000H ;指向8255的A口MOVX DPTR, A ;驱动LED发光SJMP LOOP

14、,9.4 利用8155芯片扩展I/O口,8155芯片内具有: 256B的静态RAM; 2个8位可编程并行I/O口PA、PB; 1个6位可编程并行I/O口PC; 1个14位计数器。,一、8155的内部结构和引脚,8155芯片的RAM和I/O地址编码8155的I/O端口及RAM地址在单片机应用系统中与外部数据存储器是统一编址的,其控制操作如左下表所示,对应I/O口寄存器的地址编码如右下表所示。,8155 端口地址表,TM2 TM1 IEB IEA PC2 PC1 PB PA,0:A口为输入方式;1:A口为输出方式,0 方式1:A、B口为基本输入输出,C口为输入方式 11 方式2:A、B口为基本输入

15、输出,C口为输出方式 1 方式3:A口选通输入输出,B口为基本输入输出PC0:AINTR,PC1:ABF,PC2:ASTBPC35:输出 0 方式4:A口、B口选通输入输出PC0:AINTR,PC1:ABF,PC2:ASTBPC2:BINTR,PC4:BBF,PC5:BSTB,0:禁止A口中断 1:允许A口中断,0:B口为输入方式;1:B口为输出方式,0:禁止B口中断 1:允许B口中断,二、8155的命令字/状态字寄存器,8155芯片的命令/状态寄存器物理上只有一个端口地址,对该端口写操作,命令字被写入命令寄存器;对该端口读操作,则从状态寄存器读出状态字。,8155的命令字格式:,状态寄存器格式,基本I/O:基本I/O为无条件传送, 不需任何联络信号, 8155 的A口、 B口、 C口都可以工作于该方式。 选通I/O:选通I/O为条件传送, 传送的方式可用查询方式, 也可用中断方式。8155的A 口、B口均可工作于此方式, 这时需由C口提供联络控制信号线。,三、8155I/O的工作方式,三、定时器/计数器,8155芯片内有一个14位的减法计数器,可对输入脉冲进行 减法计数,它可以在0002H3FFFH之间选择计数器初值; TIMER IN为定时器时钟输入引脚, TIMER OUT为定时器输出引脚,可输出方波、脉冲等信号。 定时器的计数单元和工作方式由8155内部两个寄存器确定。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号