单片机原理及应用(胡乾斌)第八章_第1页
单片机原理及应用(胡乾斌)第八章_第2页
单片机原理及应用(胡乾斌)第八章_第3页
单片机原理及应用(胡乾斌)第八章_第4页
单片机原理及应用(胡乾斌)第八章_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章第八章 输入和输出输入和输出一、一、I/OI/O接口扩展概述接口扩展概述 MCS-51的I/O (输入/输出)接口是MCS-51与外部设备(简称外设)交换信息的桥梁。其主要功能如下:地址译码和设备选择 数据缓冲和锁存信息转换 通信联络1 1、I/OI/O接口电路的功能接口电路的功能2 2、I/OI/O接口的构成接口的构成传送的信息数据信息状态信息控制信息3 3、I/OI/O端口的地址分配端口的地址分配统一编址:统一编址:把把I/OI/O端口的寄存器与存储器单元同等对待,统端口的寄存器与存储器单元同等对待,统一进行编址。直接使用访问数据存储器的指令进行一进行编址。直接使用访问数据存储器的指

2、令进行I/OI/O操作,操作, MCSMCS5151采用这种编址。采用这种编址。 指令:指令:MOVX A,Ri; MOVX Ri ,A; MOVX DPTR, A; MOVX A,DPTR;二、二、CPUCPU与外设之间的数据传送方式与外设之间的数据传送方式微机与外设之间的数据传送方式:微机与外设之间的数据传送方式: 程序传送、中断传送、程序传送、中断传送、DMADMA传送传送1 1 程序传送程序传送 程序传送方式以程序传送方式以CPUCPU为中心,数据传送的控制来自为中心,数据传送的控制来自CPUCPU,通过执行预先编制的输入通过执行预先编制的输入/ /输出程序实现数据传输。输出程序实现数

3、据传输。程序传送方式可分为无条件传送和查询传送方式。程序传送方式可分为无条件传送和查询传送方式。(1 1)无条件传送)无条件传送 在传送信息时,不需要查询在传送信息时,不需要查询外部设备的状态。直接给出输入外部设备的状态。直接给出输入或输出指令即可。或输出指令即可。 输入用三态缓冲器与数据线相连;输出时用锁存器输入用三态缓冲器与数据线相连;输出时用锁存器来锁存来锁存CPUCPU送出的数据。送出的数据。(2 2)条件传送)条件传送条件传送又称查询传送条件传送又称查询传送查询方式的数据传送过程如下:查询方式的数据传送过程如下:(1 1)CPUCPU从状态端口读取状态字。从状态端口读取状态字。(2

4、2)CPUCPU判断状态位是否判断状态位是否“准备准备就绪就绪”,如果没准备好,就返回,如果没准备好,就返回上一步,继续读取状态字。上一步,继续读取状态字。(3 3)如果准备好,则执行数据)如果准备好,则执行数据传送操作。传送操作。2 2、中断传送、中断传送 中断传送方式是利用中断传送方式是利用MCS-51MCS-51本身的中断功能和本身的中断功能和I/OI/O接接口的中断功能来实现口的中断功能来实现I/OI/O数据的传送。数据的传送。单片机只有在外设单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与准备好后,发出数据传送请求,才中断主程序,而进入与外设数据传送的中断服务程序,

5、进行数据的传送。外设数据传送的中断服务程序,进行数据的传送。中断服中断服务完成后又返回主程序继续执行。因此,采用中断方式可务完成后又返回主程序继续执行。因此,采用中断方式可以大大提高单片机的工作效率。以大大提高单片机的工作效率。3 3、直接存储器存取传送、直接存储器存取传送 在存储器和外设之间建立起直接的数据传送通路,在存储器和外设之间建立起直接的数据传送通路,即即不经由不经由CPUCPU,而由专门的而由专门的DMADMA控制器实现存储器和外设之间控制器实现存储器和外设之间的操作。于是,传送就不必进行保护现场等一系列额外操的操作。于是,传送就不必进行保护现场等一系列额外操作,从而减轻了作,从而

6、减轻了CPUCPU的负担,因此特别适合于高速度大批的负担,因此特别适合于高速度大批量数据传送的场合。但是,这种方式要量数据传送的场合。但是,这种方式要增设增设DMADMA控制器控制器,硬件电路比前两种方式更为复杂。硬件电路比前两种方式更为复杂。 利用TTL芯片、COMS锁存器、三态门等接口芯片把P0接口扩展,常用的TTL芯片有74LS273、74LS373、74LS244等芯片。 按下任一键对应的LED发亮。273:上升沿锁存数据, 273:CLK=P2.0+/WR,输出数据约束条件: P2.0=0, /WR=0244: /G=P2.0+/RD,读入按键约束条件: P2.0=0, /RD=0端

7、口地址:FEFFH=1111 1110 1111 1111BLOOP:MOV DPTR,#0FEFFH MOVX A,DPTR ;读端口,按键的状态 MOVX DPTR ,A ;写端口,控制LED SJMP LOOP 一、一、82558255内部结构及引脚功能内部结构及引脚功能 数据总线缓冲器B组控制A组端口A(8)A组端口C上半部(4)B组端口C下半部(4)B组端口B(8)A组控制读写控制逻辑RDWRA0A1RESETCSD7D0I/OPA7PA0I/OPC7PC4I/OPC3PC0I/OPB7PB0 8255A8255A具有具有3 3个个8 8位的并行位的并行I/OI/O口,三种工作方式,

8、可通过编程改变其口,三种工作方式,可通过编程改变其功能,因而使用灵活方便,通用性强,可作为单片机与多种外围设备连功能,因而使用灵活方便,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。接时的中间接口电路。8255A8255A的引脚及内部的结构如图所示。的引脚及内部的结构如图所示。1 1、引脚说明、引脚说明 8255A8255A共有共有4040只引脚,采用双列直插式封装,各引脚功能如下:只引脚,采用双列直插式封装,各引脚功能如下:nD7-D0D7-D0:三态双向数据线,与单片机数据总线连接,用来传送数据信息。:三态双向数据线,与单片机数据总线连接,用来传送数据信息。n/CS /CS :

9、片选信号线,低电平有效,表示本芯片被选中。:片选信号线,低电平有效,表示本芯片被选中。n/RD/RD:读出信号线,低电平有效,控制:读出信号线,低电平有效,控制8255A8255A中数据的读出。中数据的读出。n/WR /WR :写入信号线,低电平有效,控制向:写入信号线,低电平有效,控制向8255A8255A数据的写入。数据的写入。nVccVcc:+5V+5V电源。电源。nPA7-PA0PA7-PA0:A A口输入口输入/ /输出线。输出线。nPB7-PB0PB7-PB0:B B口输入口输入/ /输出线。输出线。nPC7-PC0PC7-PC0:C C口输入口输入/ /输出线。输出线。 nA1-

10、A0A1-A0:地址线,用来选择:地址线,用来选择8255A8255A内部的内部的4 4个端口。个端口。2、内部结构、内部结构 8255A 8255A内部结构包括三个并行数据输入内部结构包括三个并行数据输入/ /输出端口,两个输出端口,两个工作方式的控制电路,一个读工作方式的控制电路,一个读/ /写控制逻辑电路和写控制逻辑电路和8 8位数据总位数据总线缓冲器。各部件的功能如下:线缓冲器。各部件的功能如下:(1 1)端口)端口A A、B B、C C 8255A 8255A有三个有三个8 8位并行口,位并行口,PAPA、PBPB和和PCPC。都可以选择作为。都可以选择作为输入输出工作模式,但在功能

11、和结构上有些差异。输入输出工作模式,但在功能和结构上有些差异。 PAPA口:一个口:一个8 8位数据输出锁存器和缓冲器;一个位数据输出锁存器和缓冲器;一个8 8位数据输入锁位数据输入锁存器。存器。PBPB口:一个口:一个8 8位数据输出锁存器和缓冲器;一个位数据输出锁存器和缓冲器;一个8 8位数据输入缓位数据输入缓冲器。冲器。PCPC口:一个口:一个8 8位的输出锁存器;一个位的输出锁存器;一个8 8位数据输入缓冲器。位数据输入缓冲器。通常通常PAPA口、口、PBPB口作为输入输出口,口作为输入输出口,PCPC口可作为输入输出口,也口可作为输入输出口,也可在软件的控制下,分为两个可在软件的控制

12、下,分为两个4 4位的端口,作为端口位的端口,作为端口A A、B B选选通方式操作时的状态控制信号。通方式操作时的状态控制信号。(2 2) A A组和组和B B组控制电路组控制电路( (控制口控制口) ) 这是两组根据这是两组根据CPUCPU写入的写入的“命令字命令字”控制控制8255A8255A工作方工作方式的控制电路式的控制电路, ,也称为也称为控制口控制口。A A组控制组控制PAPA口和口和PCPC口的上半口的上半部(部(PC7-PC4PC7-PC4););B B组控制组控制PBPB口和口和PCPC口的下半部(口的下半部(PC3-PC3-PC0PC0), ,并可根据并可根据“命令字命令字

13、”对端口的每一位实现按位对端口的每一位实现按位“置置位位”或或“复位复位”。(3 3)数据总线缓冲器)数据总线缓冲器 数据总线缓冲器是一个三态双向数据总线缓冲器是一个三态双向8 8位缓冲器,作为位缓冲器,作为8255A8255A与系统总线之间的接口,用来传送数据、指令、控与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。制命令以及外部状态信息。(4 4)读)读/ /写控制逻辑电路写控制逻辑电路 读读/ /写控制逻辑电路接收写控制逻辑电路接收CPUCPU发来的控制信号、发来的控制信号、RESETRESET、地址信号地址信号A1-A0A1-A0等,然后根据控制信号的要求,将端口数

14、等,然后根据控制信号的要求,将端口数据读出,送往据读出,送往CPUCPU或者将或者将CPUCPU送来的数据写入端口。送来的数据写入端口。 各端口的工作状态与控制信号的关系如表所示。各端口的工作状态与控制信号的关系如表所示。 8255芯片上共有芯片上共有4个操作地址。引脚图中个操作地址。引脚图中A0、A1为地址编为地址编码线,通过译码产生码线,通过译码产生4个地址,具体安排为:个地址,具体安排为:A口B口C口控制口A1 A00 00 11 01 1 8255A 8255A端口工作状态选择表端口工作状态选择表A1A1A0A0/RD/RD/WR/WR工作状态工作状态0 00 00 01 1A A口数

15、据口数据数据总线(读端口数据总线(读端口A A) B B口数据口数据数据总线(读端口数据总线(读端口B B)C C口数据口数据数据总线(读端口数据总线(读端口C C)0 01 10 01 11 10 00 01 10 00 01 10 0总线数据总线数据A A口(写端口口(写端口A A)总线数据总线数据B B口(写端口口(写端口B B)总线数据总线数据C C口(写端口口(写端口C C)总线数据总线数据控制寄存器(写控制字)控制寄存器(写控制字)0 01 11 10 01 10 01 10 01 11 11 10 0数据总线为高阻态数据总线为高阻态1 11 10 01 1非法状态非法状态1 11

16、 1数据总线为高阻态数据总线为高阻态9.2.2 9.2.2 工作方式选择控制字及工作方式选择控制字及C C口置位口置位/ /复复位控制字位控制字8255A8255A有三种基本工作方式:有三种基本工作方式:(1) (1) 方式方式0 0:基本输入输出;:基本输入输出;(2) (2) 方式方式1 1:选通输入输出;:选通输入输出;(3) (3) 方式方式2 2:双向传送(仅:双向传送(仅A A口有此工作方式)。口有此工作方式)。1.1.工作方式选择控制字工作方式选择控制字 三种工作方式由写入控制字寄存器的方式控制字来决三种工作方式由写入控制字寄存器的方式控制字来决定。方式控制字的格式如图所示。定。

17、方式控制字的格式如图所示。 8255A 8255A的方式控制字的方式控制字 控制寄存器控制寄存器 A1 A0 = 1 1 B A1 A0 = 1 1 B 说明:三个端口中C口被分为两个部分,上半部分随A口称为A组,下半部分随B口称为B组。其中A口可工作于方式0、1、和2,而B口只能工作在方式0和1。 例如,写入工作方式控制字95H,可将8255A编程为:A口方式0输入,B口方式1输出,C口的上半部分(PC7-PC4)输出,C口的下半部分(PC3-PC0)输入。例:将8255A的PA、PB、PC口设定为基本输出方式。 MOV DPTR,#XXX3H;设定控制口地址指针 MOV A,#80H MO

18、V DPTR, C C口按位置位口按位置位/ /复位控制字复位控制字 C C口口8 8位中的任一位,可用一个写入控制口的置位位中的任一位,可用一个写入控制口的置位/ /复位控制复位控制字来对字来对C C口按位来置口按位来置“1”1”或是清或是清“0”0”。这个功能主要用于位。这个功能主要用于位控。控。C C口按位置位口按位置位/ /复位控制字的格式如图复位控制字的格式如图例如,例如,07H07H写入控制口,置写入控制口,置“1”PC31”PC3;08H08H写入控制口,写入控制口,PC4PC4清零。清零。C C口按位置位口按位置位/ /复位控制字格式复位控制字格式 控制寄存器控制寄存器 A1

19、A0 = 1 1 B A1 A0 = 1 1 B9.2.3 8255A9.2.3 8255A的三种工作方式的三种工作方式 方式方式0 0 方式方式0 0是一种基本的输入是一种基本的输入/ /输出方式。输出方式。在方式在方式0 0下,下,MCS-51MCS-51可对可对8255A8255A进行进行I/OI/O数据的无条件传送,例如,读入数据的无条件传送,例如,读入一组开关状态,控制一组指示灯的亮、灭。实现这些操作,一组开关状态,控制一组指示灯的亮、灭。实现这些操作,并不需要联络信号,外设的并不需要联络信号,外设的I/OI/O数据可在数据可在8255A8255A的各端口得的各端口得到锁存和缓冲。因

20、此,到锁存和缓冲。因此,8255A8255A的方式的方式0 0称为基本输入称为基本输入/ /输出输出方式。方式。 方式方式0 0下,三个端口都可以由程序设置为输入或输出,下,三个端口都可以由程序设置为输入或输出,不需要应答联络信号。方式不需要应答联络信号。方式0 0的基本功能为:的基本功能为:(1 1)具有两个)具有两个8 8位端口(位端口(A A、B B)和两个)和两个4 4位端口(位端口(C C的上半部的上半部分和下半部分)。分和下半部分)。(2 2)任一个端口都可以设定为输入或输出。)任一个端口都可以设定为输入或输出。(3 3)数据输出时锁存,输入时不锁存。)数据输出时锁存,输入时不锁存

21、。例如:假设例如:假设8255A8255A的控制字寄存器地址为的控制字寄存器地址为FF7FHFF7FH,则令,则令A A口和口和C C口的高口的高4 4位工作在方式位工作在方式0 0输出,输出, B B口和口和C C口的低口的低4 4位工作于方位工作于方式式0 0输入,这时,初始化程序为:输入,这时,初始化程序为:MOV DPTRMOV DPTR,#0FF7FH#0FF7FH;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H#83H;方式控制字;方式控制字83H83H送送A AMOVX DPTRMOVX DPTR,A A;83H83H送控制字寄存器送控制

22、字寄存器方式方式1 1 方式方式1 1是一种选通输入是一种选通输入/ /输出工作方式。输出工作方式。A A口和口和B B口皆可独口皆可独立地设置成这种工作方式。在方式立地设置成这种工作方式。在方式1 1下,下,8255A8255A的的A A口和口和B B口口通常用于通常用于I/OI/O数据的的传送,数据的的传送,C C口用作口用作A A口和口和B B口的联络线,口的联络线,以实现中断方式传送以实现中断方式传送I/OI/O数据。数据。 方式方式1 1输入输入 当任一端口工作于方式当任一端口工作于方式1 1输入时,控制联络信号如图所输入时,控制联络信号如图所示,与示,与IBFIBF构成了一对应答联

23、络信号,各个控制联络信号构成了一对应答联络信号,各个控制联络信号的功能如下:的功能如下: 方式方式1 1输入联络信号输入联络信号n/STB/STB:选通输入,低电平有效。是由输入:选通输入,低电平有效。是由输入外设送来的输入外设送来的输入信号。信号。nIBFIBF:输入缓冲器满,高电平有效。表示数据已送入:输入缓冲器满,高电平有效。表示数据已送入8255A8255A的输入锁存器,它由的输入锁存器,它由STBSTB信号的下降沿置位,上升沿复信号的下降沿置位,上升沿复位。位。nINTRINTR:中断请求信号,高电平有效。由:中断请求信号,高电平有效。由8255A8255A输出,向输出,向CPUCP

24、U发中断请求。发中断请求。nINTE AINTE A:A A口中断允许信号,由口中断允许信号,由PC4PC4的置位的置位/ /复位来控制,复位来控制, nINTE BINTE B:B B口中断允许信号,由口中断允许信号,由PC2PC2的置位的置位/ /复位来控制。复位来控制。 工作示意图见图。工作示意图见图。 A A口方式口方式1 1输入的工作示意图输入的工作示意图方式方式1 1输出输出 当任何一个端口按照工作方式当任何一个端口按照工作方式1 1输出时,控制联络信号输出时,控制联络信号如图所示。如图所示。/OBF/OBF与与/ACK/ACK构成了一对应答联络信号,各控制构成了一对应答联络信号,

25、各控制联络信号的功能如下:联络信号的功能如下:/OBF/OBF:输出缓冲器满信号,输出缓冲器满信号,低电平有效,是低电平有效,是8255A8255A给外设的给外设的联络信号联络信号,表示,表示CPUCPU已经把数据输出给指定的端口,外设已经把数据输出给指定的端口,外设可以将数据取走。它由可以将数据取走。它由/WR/WR信号的上升沿置信号的上升沿置 “ “0”0”(有(有效),由效),由/ACK/ACK信号的下降沿置信号的下降沿置“1”1”(无效)。(无效)。/ACK/ACK:外设的响应信号外设的响应信号,低电平有效。指示,低电平有效。指示CPUCPU输出给输出给8255A8255A的的数据已经

26、由外设取走数据已经由外设取走。/INTR/INTR:中断请求信号,高电平有效。表示该数据已被外设中断请求信号,高电平有效。表示该数据已被外设取走,请求取走,请求CPUCPU继续输出下一个数据。继续输出下一个数据。中断请求的条件是中断请求的条件是/ACK/ACK、/OBF/OBF和和INTEINTE(中断允许)为高电平,中断请求信号(中断允许)为高电平,中断请求信号由由/WR/WR的下降沿复位。的下降沿复位。INTE AINTE A:由:由PC6PC6的置位的置位/ /复位来控制。复位来控制。INTE BINTE B:由:由PC2PC2的置位的置位/ /复位来控制。复位来控制。 方式方式1 1输

27、出联络信号输出联络信号方式方式2 2 只有只有A A口才能设定为方式口才能设定为方式2 2。在方式。在方式2 2下,下,PA7PA7PA0PA0为双向为双向I/OI/O总线。总线。当作为输入总线使用时,当作为输入总线使用时,PA7PA7PA0PA0受受/STBA/STBA和和IBFAIBFA控制,其工作过程和控制,其工作过程和方式方式1 1输入时相同;当作为输出总线使用时,输入时相同;当作为输出总线使用时,PA7PA7PA0PA0受受/OBFA/OBFA、/ACKA/ACKA控制,其工作过程和方式控制,其工作过程和方式1 1输出时相同。输出时相同。 A A口在方式口在方式2 2下的工作示意图下

28、的工作示意图1 1、硬件接口电路、硬件接口电路 如图所示是如图所示是80318031单片机扩展一片单片机扩展一片8255A8255A的电路图。图中,的电路图。图中,74LS37374LS373是地址锁存器。图中是地址锁存器。图中 80318031扩展一片扩展一片8255A8255A的电路的电路 P0.1 P0.1、P0.0P0.0经经74LS37374LS373与与8255A8255A的地址线的地址线A1A1、A0A0连接;连接; P2.7P2.7与片选端相连,其他地址线悬空;与片选端相连,其他地址线悬空;8255A8255A的控制线的控制线/RD/RD、/WR/WR直接接于直接接于80318031的的/RD/RD和和/WR/WR端;数据总线端;数据总线P0.0-P0.7P0.0-P0.7与与 8255A8255A的数据线的数据线 D0-D7D0-D7连接。连接。2 2、8255A8255A端口地址的确定端口地址的确定 图中图中8255A8255A只有只有3 3根线与地址线相接。片选端根线与地址线相接。片选端/CS/CS、

温馨提示

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

评论

0/150

提交评论