微机原理及应用-ch6(精品).ppt
6.1 可编程并行接口芯片可编程并行接口芯片8255A第六章第六章 可编程接口芯片可编程接口芯片6.1 可编程并行接口芯片可编程并行接口芯片8255A一、并行通信与并行接口一、并行通信与并行接口 并行通信并行通信就是把一个字符的各数位用几条数据线同就是把一个字符的各数位用几条数据线同时进行传送,通常每次传送时进行传送,通常每次传送8位或位或16位数据。这种方式和位数据。这种方式和串行通信相比,在同样的传输率下,信息传输速度快,串行通信相比,在同样的传输率下,信息传输速度快,但是传送距离较近。但是传送距离较近。实现并行通信的接口称为实现并行通信的接口称为并行接口并行接口。并行接口能从。并行接口能从微处理机或外设接收数据,需要时发送出去,因此在信微处理机或外设接收数据,需要时发送出去,因此在信息传送过程中,并行接口起着锁存或缓冲作用。并行接息传送过程中,并行接口起着锁存或缓冲作用。并行接口分为可编程和不可编程两种类型。可编程是指接口在口分为可编程和不可编程两种类型。可编程是指接口在工作前必须由工作前必须由CPU用输出指令(用输出指令(OUT指令)对它编程,指令)对它编程,规定其工作方式,此编程过程称为初始化。规定其工作方式,此编程过程称为初始化。二、二、8255A内部结构及引脚功能内部结构及引脚功能 18255A内部结构内部结构 8255A的内部的内部结结构如构如图图所示,它由数据所示,它由数据总线缓总线缓冲冲器器,数据端口数据端口A、B、C,A组组控制和控制和B组组控制控制,读读/写写控制控制逻辑逻辑四部分四部分组组成成。(1)数据总线缓冲数据总线缓冲器器 数据总线缓冲器是一个双向三态的数据总线缓冲器是一个双向三态的8位数据缓冲位数据缓冲器,器,8255A通过它与系统总线相连。输入数据、输出通过它与系统总线相连。输入数据、输出数据、数据、CPU 发给发给8255A的控制字都是通过这个缓冲器的控制字都是通过这个缓冲器进行的。进行的。8255A芯片内部包含三个芯片内部包含三个8位数据端口位数据端口(A口、口、B口、口、C口口),共共24条条I/O线线(PA0PA7,PB0PB7,PC0PC7)。端口端口A对应一个对应一个8位数据输入锁存器和一个位数据输入锁存器和一个8位数据位数据输出锁存器输出锁存器/缓冲器。用端口缓冲器。用端口A作为输入或输出时,数作为输入或输出时,数据均受到锁存。据均受到锁存。端口端口B和和端口端口C均均对应一个对应一个8位输入缓冲器和一个位输入缓冲器和一个8位数据输出锁存器位数据输出锁存器/缓冲器。缓冲器。使用中,端口使用中,端口A和端口和端口B作为独立的输入端口和输作为独立的输入端口和输出端口,端口出端口,端口C配合端口配合端口A和和B的工作。端口的工作。端口C常通过控常通过控制命令被分成两个制命令被分成两个4位端口,分别用来为端口位端口,分别用来为端口A和和B提供提供控制信号和状态信号。控制信号和状态信号。(2)并行输入并行输入/输出端口输出端口PA、PB、PC 这两组控制电路一方面接收这两组控制电路一方面接收CPU发来的控制发来的控制字并决定字并决定8255A的工作方式;另一方面接收来自读的工作方式;另一方面接收来自读/写控制逻辑电路的读写控制逻辑电路的读/写命令,完成接口的读写命令,完成接口的读/写写操作。操作。A组控制电路控制端口组控制电路控制端口A和端口和端口C的高的高4位的工位的工作方式和读作方式和读/写操作。写操作。B组控制电路控制端口组控制电路控制端口B和端口和端口C的低的低4位的工位的工作方式和读作方式和读/写操作。写操作。(3)A组控制和组控制和B组控制组控制 读读/写控制逻辑负责管理写控制逻辑负责管理8255A的数据传输过的数据传输过程。它接收译码电路的程。它接收译码电路的CS*和来自地址总线的和来自地址总线的A1,A0信号,以及控制总线的信号,以及控制总线的RESET,RD*,WR*信信号,将这些信号进行组合后,得到对号,将这些信号进行组合后,得到对A组控制部件组控制部件和和B组控制部件的控制命令,并将命令发给这两个组控制部件的控制命令,并将命令发给这两个部件,以完成对数据信息、状态信息和控制信息部件,以完成对数据信息、状态信息和控制信息的传输。的传输。(4)读读/写控制逻辑写控制逻辑 2.8255A的芯片引脚信号的芯片引脚信号除电源和地以外,除电源和地以外,8255A的芯片引脚信号可分为的芯片引脚信号可分为两组:两组:(1)和外设一边相连的信和外设一边相连的信号号PA7PA0:A端口数据信号端口数据信号PB7PB0:B端口数据信号端口数据信号PC7PC0:C端口数据信号端口数据信号RESET:复位信号,高电平有效。当复位信号,高电平有效。当RESET信号到来,所有信号到来,所有内部寄存器都被清除,同时,内部寄存器都被清除,同时,3个数据端口被自动设为输出端个数据端口被自动设为输出端口口D7D0:8255A的数据线,和系统数据总线相连的数据线,和系统数据总线相连CS*:芯片选择信号,低电平有效。芯片选择信号,低电平有效。CS*有效时,有效时,RD*和和WR*才对才对8255A有效有效RD*:读出信号,低电平有效。有效时,读出信号,低电平有效。有效时,CPU可从可从8255A中读中读取输入数据取输入数据WR*:写入信号,低电平有效。有效时,写入信号,低电平有效。有效时,CPU可往可往8255A中中写入控制字和数据写入控制字和数据A1、A0:端口选择信号,分别与地址线端口选择信号,分别与地址线A1和和A0相连。相连。A1A0=00,选中端口,选中端口A;A1A0=01,选中端口,选中端口B;A1A0=10,选中端口,选中端口C;A1A0=11,选中控制字寄存器,选中控制字寄存器(2)和和CPU一边相连的信号一边相连的信号8255A的操作方式的操作方式A1A0操操 作作00010端口端口ACPU01010端口端口BCPU10010端口端口CCPU00100CPU端口端口A01100CPU端口端口B10100CPU端口端口C11100CPU控制寄存器控制寄存器11010非法操作非法操作110数据数据总线总线浮空浮空1未未选该选该8255A,数据,数据总线总线浮空浮空三、三、8255A工作方式工作方式 PA口可工作于方式口可工作于方式0、方式、方式1、方式、方式2;PB口可工作于方式口可工作于方式0、方式、方式1;PC口只能工作于方式口只能工作于方式0。1.方式方式0基本基本I/O方式方式 无条件传输方式。无条件传输方式。在方式在方式0下,每一个端口都作为基本的输入或输出口,下,每一个端口都作为基本的输入或输出口,端口端口C口的高口的高4位和低位和低4位以及端口位以及端口A口、端口口、端口B都可独立地都可独立地设置为输入口或输出口。设置为输入口或输出口。CPU可以随时对它们进行读或写。通过可以随时对它们进行读或写。通过IN和和OUT指令指令 2.方式方式1选通选通I/O方式方式 有条件的数据传输,条件是有关(控制)信号有效有条件的数据传输,条件是有关(控制)信号有效。方式方式1下三个端口分为下三个端口分为A、B两组,端口两组,端口A、端口、端口B仍作为输入或输出口,端口仍作为输入或输出口,端口C分成两部分,一部分分成两部分,一部分作为端口作为端口A和端口和端口B的联络信号,另一部分仍可作为的联络信号,另一部分仍可作为基本的输入输出口。基本的输入输出口。8255A外设外设握手信号握手信号应答式数据传输应答式数据传输 分输入、输出两种形式。分输入、输出两种形式。(1)方式方式1输入输入STB*=0PC4 送数据送数据PA输入锁存器输入锁存器IBF=1,STB*=1CPU识别识别IBF有效,有效,用用IN使使RD*=0,取走数据,取走数据PC5将将IBF=0,准备接收新数据准备接收新数据STB*和和IBF是用问答的方式来传输数据的是用问答的方式来传输数据的信号说明:信号说明:l STB*(Strobe):选通输入,低电平有效。该信号有选通输入,低电平有效。该信号有效时,输入数据被送入锁存端口效时,输入数据被送入锁存端口A或端口或端口B的输入锁的输入锁存器存器/缓冲器中。缓冲器中。l IBF(Input Buffer Full):输入缓冲器满。当外设把输入缓冲器满。当外设把数据写入端口,数据写入端口,IBF变为变为1。l INTR:中断请求信号,高电平有效。当中断请求信号,高电平有效。当IBF变为变为1且且INTE=1时,时,INTR变为高电平。当变为高电平。当CPU取数据,取数据,RD*的下降沿的下降沿使使INTR复位,上升沿又使复位,上升沿又使IBF复位复位。l INTE:中断允许信号。端口中断允许信号。端口A用用PC4的置位的置位/复位复位控制,端口控制,端口B用用PC2的置位的置位/复位控制。复位控制。CPU通过什么方式可知外设有数据要送入端口?通过什么方式可知外设有数据要送入端口?a.查询;查询;b.中断中断(2)方式方式1输出输出ACK*和和OBF*是用问答的方式来传输数据的是用问答的方式来传输数据的信号说明:信号说明:lOBF*(Out Buffer Full):):输出缓冲器满。当输出缓冲器满。当CPU将将数据写入到数据端口,数据写入到数据端口,/OBF变变0,通知外设可读取。,通知外设可读取。lACK*(Acknowledge):外外设设的的响响应应信信号号。由由外外设设发发给给8255A,有有效效时时,表表示示外外设设已已取取走走8255A的的端端口口数数据据。8255A收到收到/ACK后后/OBF变为变为1,且,且“可能可能”产生中断。产生中断。lINTR:中中断断请请求求信信号号,高高电电平平有有效效。当当收收到到ACK*,中中断断允允许许INTE=1时时,INTR变变为为高高电电平平。INTR信信号号可可作作为为CPU的的查查询询信信号号,或或作作为为向向CPU发发出出中中断断请请求求的的信号。信号。/WR的下降沿使的下降沿使INTR复位。复位。lINTE:中中断断允允许许信信号号。端端口口A用用PC6的的置置位位/复复位位控控制制,端口端口B用用PC2的置位的置位/复位控制。复位控制。3.方式方式2双向双向I/O工作方式工作方式 l 8255A的方式的方式2可使可使8255A与外设进行双向通与外设进行双向通信,既能发送数据,又能接收数据。可采用查信,既能发送数据,又能接收数据。可采用查询方式和中断方式进行传输。询方式和中断方式进行传输。l 方式方式2只适用于端口只适用于端口A,端口端口C的的PC7PC3配合端口配合端口A的传输,其联络信号如图所示。的传输,其联络信号如图所示。8255A方式方式2的控制信号和时序的控制信号和时序:四、四、8255A控制字控制字 1.工作方式控制字工作方式控制字 2.置位置位/复位控制字复位控制字 例例1:设某:设某8086系统中有两片系统中有两片8255A芯片,由芯片,由74LS138译译码器产生两个芯片的片选信号,如图所示。要求:第码器产生两个芯片的片选信号,如图所示。要求:第1片片(J1)8255A的的A口工作在方式口工作在方式1输入,输入,B口工作在方式口工作在方式1输入,输入,C口高口高4位输出,位输出,C口低口低4位输入;第位输入;第2片片(J2)8255A的的A口工作为方式口工作为方式0输出,输出,B口为方式口为方式1输入,输入,C口高口高4位输入,位输入,C口低口低4位输出。位输出。(1)试分别指出两片)试分别指出两片8255A芯片的端口地址;芯片的端口地址;(2)试分别写出两片)试分别写出两片8255A芯片的方式控制字;芯片的方式控制字;(3)试分别写出两片)试分别写出两片8255A芯片的初始化程序。芯片的初始化程序。A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 1 0 0(90H、92H、94H、96H)1 0 0 0 1 0(88H、8AH、8CH、8EH)J2:MOV AL,8EH OUT 8EH,ALJ1:MOV AL,0B7H OUT 96H,AL例例2:在机床计算机数控系统中,机床开关量的:在机床计算机数控系统中,机床开关量的输入输入/输出电路是系统硬件的重要组成部分。下输出电路是系统硬件的重要组成部分。下图为使用图为使用8255A作为机床开关量输入作为机床开关量输入/输出接口输出接口的示意图。的示意图。由图中连接关系可见,若设图中未标出的地址由图中连接关系可见,若设图中未标出的地址信号均为信号均为“0”,则,则8255A的各端口地址分别为:的各端口地址分别为:100H、102H、104H和和106H。在对机床开关量的。在对机床开关量的输入和输出过程中,多采用无条件传送方式,即输入和输出过程中,多采用无条件传送方式,即图中所示的图中所示的8255A工作在方式工作在方式0。若设端口。若设端口A输入,输入,端口端口B和端口和端口C输出,则其方式选择控制字为输出,则其方式选择控制字为90H,其初始化程序为:,其初始化程序为:MOV DX,106HMOV AL,90HOUT DX,AL例例3:如图所示,:如图所示,8255 A的的PA0 PA7端口接有开端口接有开关关K,端口,端口PB0 PB7接有接有8支支LED发光管。已知发光管。已知端口端口A和和B均在方式均在方式0下工作,根据取入开关状态,下工作,根据取入开关状态,控制控制LED灯的显示。要求确定灯的显示。要求确定8255A的各端口地的各端口地址,写出控制字,编制根据开关址,写出控制字,编制根据开关K状态控制灯亮状态控制灯亮灭的程序(灭的程序(K全闭合,全闭合,8支灯亮;而有支灯亮;而有1个或个或1个以个以上上K断开时,断开时,8支灯灭)。支灯灭)。根据要求可确定端口根据要求可确定端口A为方式为方式0下输入,端口下输入,端口B为为方式方式0下输出,端口下输出,端口C未用可定义为方式未用可定义为方式0输出。输出。则工作方式控制字:则工作方式控制字:1 0 0 1 0 0 0 0 90H根据电路连接,可确定根据电路连接,可确定8255 A的端口地址分别为的端口地址分别为84H、85H、86H和和87H。由图可见,开关由图可见,开关K断开时,断开时,PA0PA7取入信号为高取入信号为高电平;开关电平;开关K闭合时,闭合时,PA0PA7取入信号为低电平。取入信号为低电平。为使为使8支支LED灯亮,需从端口灯亮,需从端口B送出高电平信号,送出高电平信号,否则需送出低电平信号。否则需送出低电平信号。START:MOV AL,90H OUT 87H,AL IN AL,84H ;由端口由端口A取出开关状态取出开关状态 AND AL,0FFH;判断判断K的状态的状态 JZ HIGH ;K全闭合,转移全闭合,转移 MOV AL,00H OUT 85H,AL;K断开,灯灭断开,灯灭 JMP DONE HIGH:MOV AL,0FFH OUT 85H,AL ;灯亮灯亮DONE:HLT 作业作业6-1