第9章MCS-51扩展I╱O接口的设计.ppt_第1页
第9章MCS-51扩展I╱O接口的设计.ppt_第2页
第9章MCS-51扩展I╱O接口的设计.ppt_第3页
第9章MCS-51扩展I╱O接口的设计.ppt_第4页
第9章MCS-51扩展I╱O接口的设计.ppt_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第九章MCS-51扩展输入输出接口的设计,9.1输入输出接口扩展概述MCS-51的输入输出接口是MCS-51与外部设备交换信息的桥梁。输入/输出扩展也是系统扩展的一部分。虽然MCS-51本身是位数据总线,但只有P1端口的8位输入输出线和P3端口的一些位线可以作为输入输出线。MCS-51有四个输入输出端口,但P0端口和P2端口用作16位地址总线,8个输入输出资源有限。因此,在大多数应用系统中,MCS-51单片机需要扩展输入输出接口电路。9.1.1输入输出接口功能,MCS-51扩展输入输出接口电路应主要满足以下功能要求:1 .为了实现与不同外设的速度匹配,不同外设的工作速度相差很大,但大多数外设的

2、速度都很慢,无法与S阶单片机的速度相比。MCS-51与外设之间有三种数据传输模式:同步、异步和中断。无论采用哪种数据传输方式设计输入输出接口电路,单片机都只能在确认外设已准备好数据传输的前提下进行输入输出操作。为了知道外设是否就绪,需要在输入输出接口电路和外设之间传输状态信息,以实现单片机和外设之间的速度匹配。2.输出数据锁存由于单片机工作速度快,数据总线上的数据保留时间很短,不能满足低速外设的数据接收。因此,在扩展的输入/输出接口电路中应该有数据锁存器,以确保接收设备能够接收输出数据。由此可见,数据输出锁存器应该是输入输出接口电路的一个重要功能。3.输入数据三态缓冲器当输入设备向微控制器输入

3、数据时,它必须通过数据总线,但数据总线上可能有多个数据源。为了传输数据,没有冲突。只有在当前时间传输数据的数据源才允许使用数据总线,其余数据源应该处于隔离状态。因此,接口电路需要为数据输入提供三态缓冲功能。9.1.2输入/输出端口寻址,在介绍输入/输出端口寻址之前,我们必须先了解输入/输出接口和输入/输出端口的概念。输入输出端口简称为输入输出端口,通常指输入输出接口电路中带有端口地址的寄存器或缓冲器。输入输出接口是指单片机和外设之间的输入输出接口芯片。一个输入输出接口芯片可以有多个输入输出端口,称为数据端口、命令端口和状态端口。当然,并非所有外设都需要三个带完整端口的输入/输出接口。因此,对输

4、入/输出端口的寻址实际上是对所有输入/输出接口中的端口进行寻址,这样,中央处理器就可以通过端口地址与外围设备交换信息。有两种常用的输入输出端口寻址模式,一种是独立寻址模式,另一种是统一寻址模式。独立寻址意味着输入/输出地址空间和内存地址空间是分开寻址的。独立寻址的优点是输入输出地址空间和内存地址空间是独立和不同的。然而,有必要为读写输入/输出设置一组特殊的指令和控制信号。2统一寻址模式这种寻址模式将输入/输出端口的寄存器视为数据存储单元,并对它们进行统一寻址。统一寻址方式的优点是不需要特殊的输入输出指令,直接使用指令访问数据存储器进行输入输出操作,简单、方便、功能强大。MCS-51单片机采用输

5、入输出和外部数据存储内存的统一寻址方式。用户可以使用64k字节的外部数据存储器的一部分内存空间作为输入输出接口的地址空间。每个接口芯片中的功能寄存器(端口)的地址相当于一个随机存取存储器存储单元。中央处理器可以像访问外部存储器一样访问输入输出接口芯片,并读写其功能寄存器。9.1.3输入输出数据的几种传输模式。为了匹配不同外设的速度,输入输出接口必须根据不同的外设选择合适的输入输出数据传输模式。输入输出数据传输有几种模式:同步传输、异步传输和中断传输。1.同步传输模式同步传输也称为无条件传输。当外围设备的速度与单片机相近时,通常采用同步传输,最典型的同步传输是单片机与外部数据存储器之间的数据传输

6、。2.查询传输方法查询传输也称为条件传输和异步传输。当微控制器查询到外围设备“就绪”后,它可以传输数据。异步传输具有通用性好、硬件连接和查询过程简单等优点,但效率较低。为了提高单片机对外设的工作效率,通常采用中断传输。中断传输模式中断传输模式利用MCS-51本身的中断功能和输入输出接口的中断功能实现输入输出数据传输。只有外围设备准备就绪后,单片机才发出数据传输请求,然后中断主程序,进入中断服务程序与外围设备进行数据传输,传输数据。服务中断完成后,返回主程序继续执行。因此,采用中断方式可以大大提高单片机的工作效率。9.1.4输入/输出接口电路,以及如何扩展输入/输出接口将在下面讨论。MCS-51

7、单片机是英特尔公司的产品,英特尔公司支持的可编程输入输出接口芯片种类齐全,为MCS-51单片机扩展输入输出接口提供了极大的便利。英特尔公司常用的外设输入输出接口芯片如下:(1)8255A:可编程通用并行接口电路(三个8位输入输出端口)。(2)8155H:可编程输入输出/随机存取存储器扩展接口电路(两个8位输入输出端口、一个6位输入输出端口、256个随机存取存储器字节单元和一个14位减法定时器/计数器)。它们都可以直接与MCS-51单片机连接,接口逻辑非常简单。另外,74LS系列的TTL电路也可以作为MCS-51的扩展输入输出端口,如74LS244和74LS273。9.2 MCS-51与可编程并

8、行输入输出芯片8255A的接口设计。9.2.1 8255A芯片简介8255A是由英特尔公司生产的可编程并行输入/输出接口芯片。它有三个8位并行输入输出端口和三种工作模式,其功能可以通过编程改变。因此,使用灵活方便,通用性强。它可以作为单片机与各种外围设备连接。8255A的引脚和内部结构如图9-1和图9-2所示。1.引脚描述如图9-1所示,8255A有40个引脚,采用双列直插式封装。每个引脚的功能如下:图9-1 8255A、D7D0的引脚:三态双向数据线,与单片机数据总线相连,用于传输数据信息。CS:芯片选择信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制8255A的数据读

9、出。WR:写信号线,低电平有效,控制数据写入8255A。Vcc: 5V电源。Pa7pa0:端口a的I/o线.Pb7pb0:端口b的I/o线,Pc7pc0:端口c的输入/输出线。A1A0:地址线,用于选择8255A内部的4个端口。8255A的内部结构如图9-2所示,包括三个并行数据输入/输出端口,两种工作模式,图9-2中8255a的内部结构,其控制电路,一个读/写控制逻辑电路和一个8位数据总线缓冲器。每个组件的功能如下:1 .端口a、b和C 8255A有三个8位并行端口pa、PB和PC。它们可以被选择作为输入和输出模式,但是在功能和结构上有一些不同。端口:一个8位数据输出锁存器和缓冲器;一个8位

10、数据输入锁存器。PB端口:一个8位数据输出锁存器和缓冲器;一个8位数据输入缓冲器。电脑端口:一个8位输出锁存器;一个8位数据输入缓冲器。一般来说,扩音端口和扩音端口用作输入/输出端口,电脑端口可以用作输入/输出端口。在软件的控制下,当端口a和b在选通模式下工作时,它可以被分成两个4位端口作为状态控制信号。a组和b组控制电路这两组控制电路根据中央处理器写的“命令字”控制8255A的工作模式。a组控制功放端口和电脑端口的上半部分(pc7pc 4);b组控制p b端口和PC端口(PC3PC0)的下半部分,并可根据“命令字”对端口的每一位进行“设置”或“复位”。3.数据总线缓冲器数据总线缓冲器是一个三

11、态双向8位缓冲器,用作8255A和系统总线之间的接口,用于传输数据、指令、控制命令和外部状态信息。读/写控制逻辑电路读/写控制逻辑电路接收控制信号、复位、地址信号A1A0等。由中央处理器发送,然后根据控制信号的要求读出端口数据并发送给中央处理器或将中央处理器发送的数据写入端口。各端口工作状态与控制信号的关系见表9-1。表9-1 8255A端口工作状态选择表、9.2.2工作模式选择控制字和c端口设置/复位控制字,8255A有三种基本工作模式:(1)模式0:基本输入输出;(2)模式1:门控输入和输出;(3)模式2:双向传输(只有端口A具有这种工作模式)。1.工作模式选择控制字三种工作模式由写入控制

12、字寄存器的模式控制字决定。模式控制字的格式如图9-3所示。图9-3 8255A模式控制字,在这三个端口中,端口c分为两部分,上面部分用端口a称为a组,下面部分用端口B称为B组.其中,端口A可以在模式0、1和2下工作,而端口B只能在模式0和1下工作。例如,通过写入工作模式控制字95H,8255A可编程为:端口A的模式0输入、端口B的模式1输出、端口C上半部分的输出(PC7PC4)和端口C下半部分的输入(PC3PC0)。C端口按下C端口位置位/复位控制字的8位中的任意一位,写入控制端口的置位/复位控制字可以根据位对C端口置位“1”或清零“0”。该功能主要用于位控制。端口c的逐位/复位控制字格式如图

13、9-4所示。9.2.3 8255A中的端口c有三种工作模式。模式0是基本输入/输出模式。在模式0下,MCS-51可以无条件地将输入/输出数据传输到8255A,例如,读取一组开关状态并控制一组指示灯打开和关闭。为了实现这些操作,不需要接触信号,并且可以在8255A的每个端口锁存和缓冲外围输入/输出数据。因此,8255A的模式0称为基本输入/输出模式。在模式0下,所有三个端口都可以通过程序设置为输入或输出,无需应答接触信号。模式0的基本功能如下:(1)它有两个8位端口(A、B)和两个4位端口(C的上半部分和下半部分)。(2)任何端口都可以设置为输入或输出,每个端口的输入和输出可以形成16种组合。(

14、3)数据输出时锁存,但输入时不锁存。例如,假设8255A的控制字寄存器的地址是FF7FH,端口A和端口C的高4位工作在模式0输出,端口B和端口C的低4位工作在模式0输入。这时,初始化程序是:MOV DPTR,# 0FF7FH控制字寄存器的地址发送到DPTR MOV A,# 83h模式控制字83H被发送到DPTR;83H被发送到控制字寄存器。2.模式1模式1是门控输入/输出操作模式。在这种工作模式下,a端口和b端口可以独立设置。在模式1中,8255A的端口A和端口B通常用于I/O数据传输,端口C作为端口A和端口B之间的连接线,实现中断模式下的I/O数据传输。1模式1输入当任一端口工作在模式1输入

15、时,控制触点信号与IBF形成一对响应触点信号,如图9-5所示。每个控制触点信号的功能如下:STB*:门控输入,低电平有效。是输入外设发送的输入信号。输入缓冲区已满,高电平有效。表示数据已发送到8255A的输入锁存器,该锁存器由STB*信号的下降沿设置,并由信号的上升沿复位。INTR:中断请求信号,高电平有效。由8255A输出,向中央处理器发送中断请求。INT a:a端口中断使能信号由PC4的设置/复位控制,INT b:b端口中断使能信号由PC2的设置/复位控制。以端口A的模式1输入为例。工作原理图见图9-6。下面描述模式1输入的工作过程和每个控制触点信号的功能。图9-6是a. 2端口模式1输入

16、的工作原理图。模式1输出当任一端口根据工作模式1输出时,控制触点信号如图9-7所示。OBF*和确认*构成一对响应接触信号,每个控制接触信号的功能如下:OBF*:输出缓冲器满信号,低电平有效,是8255A到外设的接触信号,表示中央处理器已经向指定端口输出数据,外设可以将数据带走。它由WR*信号的上升沿设置为“0”(有效),由确认*信号的下降沿设置为“1”(无效)。确认*:外设的响应信号,在低电平有效。表示中央处理器输出到8255A的数据已被外设取走。INTR*:中断请求信号,高电平有效。指示数据已被外设取走,并请求中央处理器继续输出下一个数据。中断请求条件是确认*、OBF*和中断许可(INT)处

17、于高电平,中断请求信号由WR*的下降沿复位。通过设置/重置PC6来控制。英达乙:由设置/复位PC2控制。3.模式2只能将端口A设置为模式2。图9-9是模式2的工作过程示意图。在模式2中,PA7PA0是双向输入/输出总线。PA7PA0作为输入总线时,由STBA*和IBFA控制,其工作过程与模式1输入相同。PA7PA0作为输出总线时由OBFA*和ACKA*控制,其工作过程与模式1输出时相同。图9-9是模式2中端口a的操作示意图。1.图9-10所示的硬件接口电路是8031单片机扩展一块8255A的电路图。在图中,74LS373是地址锁存器,P0.1和P0.0通过74LS373与8255A的地址线A1

18、和A0连接;P0.7通过74LS373连接到芯片选择端,其它地址线暂停;8255A的控制线RD*和WR*直接连接到8031的RD*和WR*端子;数据总线P0.0P0.7与8255A的数据线D0D7相连。二.8255A端口地址的确定在图9-10中,只有三条8255A线与地址线相连。芯片选择端子CS*,地址选择端子A1和A0。它们分别连接到P0.7、P0.1和P0.0,并且其他地址线都被挂起。显然,只要P0.7处于低水平,选择8255A。如果P0.1和P0.0为“00”,选择端口8255A。同样,当P0.1和P0.0为“01”、“10”和“11”时,分别选择端口B、端口C和控制端口。9 . 2 . 4 MCS-51单片机与8255A的接口,图9-10 8031扩展了8255A电路,3。软件编程实例9-1要求8255A工作在模式0,A口为输入,B口和C口为输出,则程序如下:MOV A,# 90ha端口模式为0输入,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论