1 / 38

一、复习

第 9 章 MCS-51 扩展 I/O 接口的设计. 一、复习. 二、 I/O 接口扩展概述. 三、 MCS-51 与可编程并行 I/O 芯片 8255A 的接口. 8255A 芯片介绍. 工作方式选择控制字及 C 口置位 / 复位控制字. 8255A 的三种工作方式. MCS-51 单片机和 8255A 的接口. 第 8 章 思考题. 1 .在 MCS-51 单片机系统中,外接程序存储器和数存储器 共 16 位地址线和 8 位数据线,为何不会发生冲突? 2 .区分 MCS-51 单片机片外程序存储器和片外数据存储器 的最可靠的方法是:

yakov
Download Presentation

一、复习

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第9章 MCS-51扩展I/O接口的设计 一、复习 二、I/O接口扩展概述 三、 MCS-51与可编程并行I/O芯片8255A的接口 8255A芯片介绍 工作方式选择控制字及C口置位/复位控制字 8255A的三种工作方式 MCS-51单片机和8255A的接口

  2. 第8章 思考题 1.在MCS-51单片机系统中,外接程序存储器和数存储器 共16位地址线和8位数据线,为何不会发生冲突? 2.区分MCS-51单片机片外程序存储器和片外数据存储器 的最可靠的方法是: (1)看其位于地址范围的低端还是高端 (2)看其离MCS-51芯片的远近 (3)看其芯片的型号时ROM还是RAM (4)看其是与 3.在存储器扩展中,无论是线选法还是译码法,最终都 是为扩展芯片的( )端提供信号。 4.起止范围为0000H~3FFFH的存储器的容量是( )KB。 信号连接还是与 信号连接

  3. 5.在MCS-51中,PC和DPTR都用于提供地址,但PC是为访5.在MCS-51中,PC和DPTR都用于提供地址,但PC是为访 问( )存储器提供地址,而DPTR是为访问( )存储器提 供地址。 6.11根地址线可选( )个存储单元,16KB存储单元需要 ( )根地址线。 7.32KB RAM存储器的首地址若为2000H,则末地址为( )H。 8.现有8031单片机、74LS373锁存器、1片2764 EPROM 和两片6116 RAM,请使用它们组成一个单片机应用系统, 要求: (1)画出硬件电路连线图,并标注主要引脚; (2)指出该应用系统程序存储器空间和数据存储器空间各 自的地址范围。

  4. 编程练习: ABC: MOV A,#00H MOV DPTR,#0000H MOV R0,#00HLOOP: ADD A,#1 DA A ANL A,#0FH ;总在0到9之间MOVX @DPTR,A INC DPTR DJNZ R0,LOOP ;载入256个RET • 向6264中写入256个字节,分别是0~9,然后0~9… …直到写满256个字节,从0000H写起。

  5. 9.1 I/O接口扩展概述 I/O扩展也属于系统扩展的一部分。I/O (输入/输出)接口是MCS-51与外设交换数字信息的桥梁。 MCS-51真正用作I/O口线的只有P1口的8位I/O线和P3口的某些位线。在多数应用系统中,MCS-51单片机都需要外扩I/O接口电路。 I/O接口电路应满足以下要求: 1.实现和不同外设的速度匹配 2. 输出数据锁存 3. 输入数据三态缓冲

  6. 9.1.1 I/O接口的功能 1.实现和不同外设的速度匹配 大多数的外设的速度很慢,无法和µs量级的单片机速度相比。单片机只有在确认外设已为数据传送做好准备的前提下才能进行I/O操作。 想知道外设是否准备好,需I/O接口电路与外设之间传送状态信息。

  7. 2. 输出数据锁存 由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电路应具有数据输出锁存器,以保证接收设备接收。 3. 输入数据三态缓冲 输入设备向单片机输入数据时,但数据总线上面可能“挂”有多个数据源,为不发生冲突,只允许当前正 在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。

  8. 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)状态口 I/O端口编址是给I/O接口中的所有寄存器编址。

  9. I/O端口编址两种方式:独立编址与统一编址。 1.独立编址方式 I/O寄存器地址空间和存储器地址空间分开编址,但 需专门读写I/O的指令和控制信号。 2.统一编址方式 I/O寄存器与数据存储器单元同等对待,统一编址。 不需要专门的I/O指令,直接使用访问数据存储器 的指令进行I/O操作,简单、方便且功能强。 MCS-51使用统一编址的方式 每一接口芯片中的一个功能寄存器(端口)的地址就 相当于一个RAM单元。

  10. 9.1.3 I/O数据的几种传送方式 I/O数据传送的几种传送方式是: (1)同步传送(2)异步传送(3)中断传送。 为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。 (1)同步传送方式(无条件传送) 当外设速度和单片机的速度相比拟时,常采用同步传 送方式,最典型的同步传送就是单片机和外部数据 存储器之间的数据传送。

  11. (2)查询传送方式(条件传送,异步式传送)(2)查询传送方式(条件传送,异步式传送) 查询外设“准备好”后,再进行数据传送。 优点:通用性好,硬件连线和查询程序十分简单, 缺点:效率不高。 (3)中断传送方式 外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。 中断服务完成后又返回主程序继续执行。工作效率高。.

  12. 常用的外围I/O接口芯片有: (1)8255A:可编程的通用并行接口电路(3个8位I/O口)。 (2)8155H:可编程的IO/RAM扩展接口电路(2个8位I/O口,1个6位I/O口, 256个RAM字节单元,1个14位的减法定时器/计数器)。 此外,74LS系列的TTL电路也可以作为MCS-51的扩展I/O口,如74LS244、 74LS273等。

  13. 9.2 MCS-51与可编程并行I/O芯片8255A的接口 9.2.1 8255A芯片介绍 8255A是Intel公司生产的可编程并行I/O接口芯片, 具有3个8位的并行I/O口,3种工作方式,可通过 编程改变其功能,因而使用灵活方便,通用性强。 根据上述功能描述,构想芯片的内部框图,构想引脚分配。

  14. 1.内部结构

  15. 2.引脚说明 40只引脚,双列直插式封装,引脚功能如下: 留意GND、Vcc的位置!

  16. D7~D0:三态双向数据线,与单片机数据总线连接D7~D0:三态双向数据线,与单片机数据总线连接 CS*:片选信号线,低电平有效,表示本芯片被选中 RD*:读出信号线,控制8255A中数据的读出高 WR*:写入信号线,控制向8255A数据的写入。 Vcc:+5V电源。 PA7~PA0:A口输入/输出线。 PB7~PB0:B口输入/输出线。 PC7~PC0:C口输入/输出线。 A1、A0:地址线,用来选择8255A内部的4个端口。

  17. 3.8255A内部资源的详细解读 (1)端口A、B、C 功能和结构上有些差异: PA口、PB口、 PC口均有输出锁存器和缓冲; PA口有输入锁存,而PB口、 PC口没有; 而PB口、 PC口有输入缓冲器 PC口可在软件的控制下,分为两个4位端口,作为 PA口、PB口选通方式操作时的状态控制信号。

  18. (2)A组和B组控制电路 A组:PA口和PC口的上半部(PC7~PC4); B组:PB口和PC口的下半部(PC3~PC0),可根据“命 令字”对PC口按位“置1”或“清0”。 (3)数据总线缓冲器 三态双向,作为8255A与单片机数据线之间接口, 传送数据、指令、控制命令及外部状态信息。 (4)读/写控制逻辑电路线 该电路接收CPU发来的控制信号、RESET、地址信号A1、A0等。对端口进行读写。 各端口的工作状态与控制信号的关系如表9-1所示。

  19. 表9-1 8255A端口工作状态选择

  20. 9.2.2 工作方式选择控制字及C口置位/复位控制字 8255A有三种工作方式: (1) 方式0:基本输入输出; (2) 方式1:选通输入输出; 只有对8255A写入了控制字以后,8255A的各功能才有效。 (3) 方式2:双向传送(仅A口有)。 1.工作方式选择控制字 2.C口按位置位/复位控制字 三种工作方式由方式控制字来决定。 控制字格式如下。

  21. 例如:PA口作基本输入、PB口作基本输出,方式字如何?例如:PA口作基本输入、PB口作基本输出,方式字如何? 10010000B

  22. 其中A口可工作于方式0、1、和2,而B口只能工作在其中A口可工作于方式0、1、和2,而B口只能工作在 方式0和1。工作方式分别选取。 C口上半部分(PC7~PC4)随A口称为A组, C口下半部分(PC3~PC0)随B口称为B组。 例如:写入工作方式控制字 可将8255A编程为:A口方式0输入,B口方式1输出, C口的上半部分(PC7~ PC4)输出,C口的下半部分 (PC3~PC0)输入。 10010101B(95H)

  23. 控制字07H写入控制口:置“1” PC3 08H写入控制口,清“0” PC4 2. C口按位置位/复位控制字 可对C口8位中的任一位置“1”或清“0”。用于位控。 8255A只有一个控制字寄存器,但可以写两种控制字,用D7区分。

  24. 9.2.3 8255A的三种工作方式 1.方式0:基本的输入/输出方式。 MCS-51可对8255A进行数据的无条件传送 基本功能为: (1)具有两个8位端口(A、B)和两个4位端口(C的上半部分和下半部分)。 (2)任一个端口都可以设定为输入或输出,各端口的输入、输出可构成16种组合。 (3)数据输出锁存,输入不锁存。

  25. 例如:从口线读入一组开关状态,向端口输出数字量,控制一组指示灯的亮、灭。不需要联络信号。例如:从口线读入一组开关状态,向端口输出数字量,控制一组指示灯的亮、灭。不需要联络信号。 举例: 假设8255A的控制字寄存器地址为FF7FH,则令A口 和C口的高4位工作在方式0输出, B口和C口的低4位 工作于方式0输入,初始化程序: 10000011B MOV DPTR,#0FF7FH ;控制字寄存器地址送DPTR MOV A,#83H ;方式控制字83H送A MOVX @DPTR,A ;83H送控制字寄存器

  26. 2. 方式1: 选通输入/输出工作方式。 A口和B口通常用于I/O数据传送,C口用作A口和B口的联络线,以中断方式传送数据。 (1) 方式1输入 控制联络信号如图9-5所示,STB*与IBF构成了一对应答联络信号,联络信号的功能如下图:

  27. 注意信号的流向

  28. STB*:选通输入,是由输入外设送来的输入信号。STB*:选通输入,是由输入外设送来的输入信号。 IBF:输入缓冲器满,输出高电平有效,表示数据已送入 8255A的输入锁存器; 外设收到IBF置高信号后,置高STB*,使8255A在PC3上产生中断申请,请求单片机从8255A上读取数据。 从8255A上读取数据后会撤销INTR的中断申请,并使IBF变低,通知外设准备下一个数据。 INTR:中断请求信号,高电平有效。由8255A输出,向单片机发中断请求。 INTE A:A口中断允许,由PC4控制, INTE B:B口中断允许,由PC2控制。

  29. A口的方式1输入工作方式见图9-6。 PA7~PA0

  30. 谁先有动静? (2)方式1输出 如图9-7所示。OBF*与ACK*构成了一对应答联络信号,各信号的功能如下:

  31. 主动用MOVX送数据到8255 B口的方式1输出如图9-8所示: 收到呼叫然后收数据,并告知对方 响应中断以发送下一个数据

  32. OBF*:输出缓冲器满信号,8255A给外设的联络信号,外设可以将数据取走。OBF*:输出缓冲器满信号,8255A给外设的联络信号,外设可以将数据取走。 ACK*:外设的响应信号,外设已将数据取走。 INTR*:中断请求信号。表示该数据已被外设取走, 请求单片机继续输出下一个数据。 INTE A:中断允许,由PC6控制。 INTE B:中断允许,由PC2控制。

  33. 3.方式2 只有A口才能设定为方式2。图9-9为方式2工作示意图。 在方式2下,PA7~PA0为双向I/O总线。 当输入时,PA7~PA0受STBA*和IBFA控制,其工作 过程和方式1输入时相同; 当输出时,PA7~PA0受OBFA*、ACKA*控制,其工作 过程和方式1输出时相同。

  34. 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口:FF7CH B口:FF7DH C口:FF7EH 控制寄存器:FF7FH

  35. RESET的处理

  36. 3.软件编程 例9-1要求8255A工作在方式0,且A口作为输入,B口、 C口作为输出,程序如下: MOV A,#90H ;A口方式0输入,B口、 ;C口输出的控制字送A MOV DPTR,#0FF7FH ;控制寄存器地址→DPTR MOVX @DPTR,A ;方式控制字→控制寄存器 10010000B MOV DPTR, #0FF7CH ;A口地址→DPTR MOVX A, @DPTR ;从A口读数据 MOV DPTR,#0FF7DH ;B口地址→DPTR MOV A,#DATA1 ;要输出的数据DATA1→A MOVX @DPTR,A ;将DATA1送B口输出 MOV DPTR,#0FF7EH ;C口地址→DPTR MOV A,#DATA2 ;DATA2→A MOVX @DPTR,A ;将数据DATA2送C口输出

  37. 控制字? 例9-2对端口C的置位/复位。 把PC5置位,控制字为0BH MOV R1,#7FH ;控制口地址→R1 MOV A,#0BH ;控制字→A MOVX @R1,A ;控制字→控制口,PC5=1 把PC5复位,控制字为0AH MOV R1,#7FH ;控制口地址→R1 MOV A,#0AH ;控制字→A MOVX @R1,A ;控制字→控制口,PC5=0

More Related