51系列单片机教程(共15章) 第9章

上传人:woxinch****an2018 文档编号:44679265 上传时间:2018-06-14 格式:PPT 页数:56 大小:5.23MB
返回 下载 相关 举报
51系列单片机教程(共15章) 第9章_第1页
第1页 / 共56页
51系列单片机教程(共15章) 第9章_第2页
第2页 / 共56页
51系列单片机教程(共15章) 第9章_第3页
第3页 / 共56页
51系列单片机教程(共15章) 第9章_第4页
第4页 / 共56页
51系列单片机教程(共15章) 第9章_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《51系列单片机教程(共15章) 第9章》由会员分享,可在线阅读,更多相关《51系列单片机教程(共15章) 第9章(56页珍藏版)》请在金锄头文库上搜索。

1、从下一页开始 从下一页开始第9章 MCS-51扩展I/O接口的设计9.1 I/O接口扩展概述I/O (输入/输出)接口是MCS-51与外设交换数字信息的桥梁。I/O扩展也属于系统扩展的一部分。真正用作I/O口线的只有P1口的8位I/O线和P3口的某些位线。在多数应用系统中,MCS-51单片机都需要外扩I/O接口电路。9.1.1 I/O接口的功能I/O接口电路应满足以下要求:1.实现和不同外设的速度匹配大多数的外设的速度很慢,无法和s量级的单片机 速度相比。单片机只有在确认外设已为数据传送做好准备的前提 下才能进行I/O操作。想知道外设是否准备好,需I/O接口电路与外设之 间传送状态信息。2.

2、输出数据锁存由于单片机工作速度快,数据在数据总线上保留的时 间十分短暂,无法满足慢速外设的数据接收。I/O电路 应具有数据锁存器,以保证接收设备接收。3. 输入数据三态缓冲输入设备向单片机输入数据时,但数据总线上面可能“挂”有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。9.1.2 I/O端口的编址首先清楚I/O接口(Interface)和I/O端口(Port )的概念。I/O端口:简称I/O口,指具有端口地址的寄存器或缓冲器。I/O接口:是指单片机与外设间的I/O接口芯片。一个I/O接口芯片可以有多个I/O端口,(1)数据口(2)命令口(3)

3、状态口I/O端口编址是给所有I/O接口中的寄存器编址。I/O端口编址两种方式:独立编址与统一编址。1独立编址方式I/O寄存器地址空间和存储器地址空间分开编址,但需专门读写I/O的指令和控制信号。2统一编址方式I/O寄存器与数据存储器单元同等对待,统一编址。不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强。MCS-51使用统一编址的方式每一接口芯片中的一个功能寄存器(端口)的地址 就相当于一个RAM单元。9.1.3 I/O数据的几种传送方式为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。I/O数据传送的几种传送方式是:(

4、1)同步传送(2)异步传送(3)中断传送。1.同步传送方式(无条件传送)当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。2.查询传送方式(条件传送,异步式传送)查询外设“准备好”后,再进行数据传送。优点:通用性好,硬件连线和查询程序十分简单,缺点:效率不高。为提高效率,通常采用中断传送方式。3.中断传送方式.外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。9.1.4 I/O接口电路如何实现I/O接口的扩展。Intel公司的配套可编程I/O接口芯片的种

5、类齐全,为扩展I/O接口提供了很大的方便。常用的外围I/O接口芯片有:(1)8255A:可编程的通用并行接口电路(3个8位I/O口)。(2)8155H:可编程的IO/RAM扩展接口电路(2个8 位I/O口,1个6位I/O口, 256个RAM字节单元,1个14 位的减法定时器/计数器)。可与MCS-51单片机直接连接,接口逻辑十分简单此外,74LS系列的TTL电路也可以作为MCS-51的扩展 I/O口,如74LS244、 74LS273等。最后介绍利用串行口来扩展并行I/O口。9.2 MCS-51与可编程并行I/O芯片8255A的接口9.2.1 8255A芯片介绍8255A是Intel公司生产的

6、可编程并行I/O接口芯片 ,具有3个8位的并行I/O口,3种工作方式,可通过编 程改变其功能,因而使用灵活方便,通用性强。1.引脚说明40只引脚,双列直插式封装,引脚功能如下:D7D0:三态双向数据线,与单片机数据总线连接CS*:片选信号线,低电平有效,表示本芯片被选中RD*:读出信号线,控制8255A中数据的读出高WR*:写入信号线,控制向8255A数据的写入。Vcc:+5V电源。PA7PA0:A口输入/输出线。 PB7PB0:B口输入/输出线。 PC7PC0:C口输入/输出线。A1、A0:地址线,用来选择8255A内部的4个端口。2.内部结构(1)端口A、B、C功能和结构上有些差异PA口:

7、输出锁存和缓冲;输入锁存PB口:输出锁存和缓冲;输入缓冲PC口:输出锁存;数据输入缓冲PC口可在软件的控制下,分为两个4位端口,作为 PA口、PB口选通方式操作时的状态控制信号。(2)A组和B组控制电路A组:PA口和PC口的上半部(PC7PC4);B组:PB口和PC口的下半部(PC3PC0),可根据“命令字”对PC口按位“置1”或“清0”。 (3)数据总线缓冲器线线三态双向,作为8255A与单片机数据线之间接口, 传送数据、指令、控制命令及外部状态信息。(4)读/写控制逻辑电路线该电路接收CPU发来的控制信号、RESET、地址信 号A1、A0等。对端口进行读写。各端口的工作状态与控制信号的关系

8、如表9-1所示。表9-1 8255A端口工作状态选择A1A0RD*WR*CS*工作状态00010读端口A:A口数据数据总线 读端口B:B口数据数据总线 读端口C:C口数据数据总线01010 10010 00100写端口A:总线数据A口 写端口B:总线数据B口 写端口C:总线数据C口 写控制字:总线数据控制字寄 存器01100 10100 111001数据总线为三态 11010非法状态 110数据总线为三态9.2.2 工作方式选择控制字及C口置位/复位控制字8255A有三种工作方式:(1) 方式0:基本输入输出; (2) 方式1:选通输入输出;(3) 方式2:双向传送(仅A口有)。1.工作方式选

9、择控制字三种工作方式由方式控制字来决定。控制字格式如下。C口上半部分(PC7PC4)随A口称为A组,C口下半部分(PC3PC0)随B口称为B组。其中A口可工作于方式0、1、和2,而B口只能工作在 方式0和1。例如:写入工作方式控制字95H可将8255A编程为:A口方式0输入,B口方式1输出,C口的上半部分(PC7 PC4)输出,C口的下半部分(PC3PC0)输入。2. C口按位置位/复位控制字可对C口8位中的任一位置“1”或清“0”。用于位控。例如:控制字07H写入控制口,置“1” PC3;08H写入控制口,清“0” PC4。9.2.3 8255A的三种工作方式1.方式0基本的输入/输出方式。

10、外设的I/O数据可在8255A的各端口得到锁存和缓冲MCS-51可对8255A进行数据的无条件传送例如:从口线读入一组开关状态,向端口输出数字量,控制一组指示灯的亮、灭。不需要联络信号,基本功能为: (1)具有两个8位端口(A、B)和两个4位端口(C 的上半部分和下半部分)。(2)任一个端口都可以设定为输入或输出,各端口 的输入、输出可构成16种组合。(3)数据输出锁存,输入不锁存。例 假设8255A的控制字寄存器地址为FF7FH,则令A口 和C口的高4位工作在方式0输出, B口和C口的低4位 工作于方式0输入,初始化程序:MOV DPTR,#0FF7FH ;控制字寄存器地址送DPTR MOV

11、 A,#83H ;方式控制字83H送AMOVX DPTR,A ;83H送控制字寄存器2. 方式1选通输入/输出工作方式。A口和B口通常用于I/O数据传送,C口用作A口和B口的联络线,以中断方式传送数据。(1) 方式1输入控制联络信号如图9-5所示,STB*与IBF构成了一对应答联络信号,联络信号的功能如下图:STB*:选通输入,是由输入外设送来的输入信号。IBF:输入缓冲器满,高电平有效。表示数据已送入8255A的输入锁存器,它由STB*信号的下降沿置位,由信号的上升沿使其复位INTR:中断请求信号,高电平有效。由8255A输出,向单片机发中断请求。INTE A:A口中断允许,由PC4控制,

12、INTE B:B口中断允许,由PC2控制。A口的方式1输入工作方式见图9-6。(2)方式1输出如图9-7所示。OBF*与ACK*构成了一对应答联络信 号,各信号的功能如下:OBF*:输出缓冲器满信号,8255A给外设的联络信号 ,外设可以将数据取走。ACK*:外设的响应信号,外设已将数据取走。INTR*:中断请求信号。表示该数据已被外设取走,请求单片机继续输出下一个数据。INTE A:中断允许,由PC6控制。INTE B:中断允许,由PC2控制。B口的方式1输出如图9-8所示:3.方式2只有A口才能设定为方式2。图9-9为方式2工作示意图。在方式2下,PA7PA0为双向I/O总线。当输入时,P

13、A7PA0受STBA*和IBFA控制,其工作 过程和方式1输入时相同;当输出时,PA7PA0受OBFA*、ACKA*控制,其工作 过程和方式1输出时相同。9.2.4 MCS-51单片机和8255A的接口1.硬件接口电路如图9-10是8031扩展1片8255A的电路图。74LS373是地 址锁存器,P0.1、P0.0经74LS373与8255A的地址线A1、A0 连接; P0.7经74LS373与片选端相连,其他地址线悬空。2.端口地址确定图9-10中8255A各端口寄存器的地址为:A口: FF7CHB口: FF7DHC口: FF7EH控制寄存器: FF7FH3.软件编程例9-1 要求8255A

14、工作在方式0,且A口作为输入,B口、C口作为输出,程序如下:MOV A,#90H ;A口方式0输入,B口、;C口输出的控制字送AMOVDPTR,#0FF7FH ;控制寄存器地址DPTRMOVX DPTR,A ;方式控制字控制寄存器 MOVDPTR,#0FF7CH ;A口地址DPTRMOVX A,DPTR ;从A口读数据MOV DPTR,#0FF7DH ;B口地址DPTR MOV A,#DATA1 ;要输出的数据DATA1AMOVX DPTR,A ;将DATA1送B口输出MOV DPTR,#0FF7EH ;C口地址DPTRMOV A,#DATA2 ;DATA2AMOVX DPTR,A ;将数据D

15、ATA2送C口输出例9-2 对端口C的置位/复位。把PC5置位,控制字为0BH MOV R1,#7FH ;控制口地址R1 MOV A,#0BH ;控制字AMOVX R1,A ;控制字控制口,PC5=1把PC5复位,控制字为0AH MOV R1,#7FH ;控制口地址R1 MOV A,#0AH ;控制字AMOVX R1,A ;控制字控制口,PC5=09.3 MCS-51单片机与8155H的接口9.3 .1 8155H芯片介绍1.8155H的逻辑结构如图9-11所示。2.8155H的引脚功能8155H的引脚功能(1)AD7AD0(8条)(2)I/O总线(22条)(3)控制总线(8条)RESET:复位输入线CE*和IO/M*RD*和WR*ALE:地址锁存允许TIMERIN和TIMEROUT*:(4)电源线(2条)Vcc:+5V电源Vss:地CE*IO/M*A7A6A5A4A3A2A1A0所选的端口01000命令/状态寄存器01001A口01010B口01011C口01100计数器低8位01101计数器高6位00RAM单元3.CPU对8155H I/O端口的控制(1) 8155H各端口地址分配(2)8155H的命令字(3)8155H的状态字9.3.2 8155H的工作方式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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

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