《并行接口芯》PPT课件.ppt
第8章 并行接口芯片,并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI)目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似,8.1 可编程的输入输出接口芯片8255,8255可编程外部设备接口是Intel的PPI产品。该芯片可以和8086、8088等微处理器直接连接,也适用于MCS-48、MCS-51系列单片机,8255的引线及结构,8255的工作方式,8255有三种基本工作方式:方式0基本输入输出方式方式1选通输入输出方式方式2双向传送方式三种工作方式均可由用户编程来选定,即由编程送入控制口内的不同控制字来选择,8255的控制字,8255工作方式0,方式0:基本的输入或输出工作方式此方式适用于无条件地传送数据,如读一组开关状态,控制一组指示灯,CPU可随时读入开关状态,随时可把一组数据送到指示灯显示,而无需“选通”和“状态”信号,不必等待中断请求信号,在这种方式下,每一个端口都可由程序规定为输入或输出方式0的基本功能:具有两个8位口(A口和B口),两个4位口(C口的上半部和下半部)任一端口都可作为输入或输出 输出是锁存的,输入是不锁存的 由于方式选择控制字中D4D3D1D0四位均可规定各口的输入或输出,所以在方式0时,所有端口的输入、输出可以有16种不同的组合 此方式无中断功能,在作查询方式工作时,可将C口的某些位作为传送控制和状态信息,A口和B口作为数据口,8255工作方式1,方式1:选通的输入输出方式在这种方式下,A口或B口仍作为数据的输入/输出口,同时规定C口的某些位作为控制或状态信息,起应答联络和中断请求的作用,C口剩下的线作为I/O线使用方式1的主要功能:一个或二个选通的8位数据端口。每一个端口含有三条控制线(是固定指定的,不能用程序改变),提供中断逻辑。任一个端口都可作为输入或输出。若只有一个端口工作于方式1,余下的13位可以工作在方式0。若两个端口都工作于方式1,端口C还剩下两位。这两位可以由程序指定作输入或输出,也具有置位/复位功能。,8255工作方式1 输入,当A口或B口处于方式1输入时,每个端口指定C口中的三位作控制信号。对A口指定的是PC4、PC5、PC3三位,对B口指定的是PC2、PC1、PC0三位PC4和PC2指定为STB信号,这是设备的选通输入信号,低电平有效。由外设提供该信号。STB的下降沿将端口数据线上的信息打入端口锁存器PC5和PC1指定为IBF信号,这是输入缓冲器满信号,高电平有效,它是由8255输出的状态信息,通常和外设相连,IBF为高电平表示外设已将数据打入端口锁存器,但CPU还未读取,当CPU读取端口数据时,IBF变为低电平。所以,IBF信号是由STB的下降沿置位,由RD的上升沿复位PC3和PC0指定为INTR信号,这是中断请求信号,高电平有效。当STB=1,IBF=1,INTE=1时,中断请求有效,INTR=1。该信号由RD信号下降沿清除INTEA由PC4控制,INTEB由PC2控制,8255工作方式1 输出,当A口或B口处于方式1的输出方式时,每个端口指定C口中的三位作控制信号。对A口指定是PC7、PC6、PC3三位,对B口指定的是PC1、PC2、PC0三位PC7和PC1指定为OBF信号,这是输出缓冲器满信号,低电平有效。这是由8255输出给外设的一个控制信号。当它为低电平时,表示CPU已将数据输出给指定的端口,外设可以来取一个有效的数据。外设从端口取走数据后,产生的响应信号ACK使OBF变高电平。该信号由WR信号的上升沿置为低电平PC6和PC2指定为ACK信号,这是外设的响应信号,输入,低电平有效。ACK上出现外设送来的负脉冲,表示外设已取走了端口的数据,并已准备好接收下一个数据PC3和PC0指定为INTR信号,这是中断请求信号,高电平有效。当ACK=1,OBF=1,INTE=1时,中断请求有效,INTR=1,该信号由WR信号的下降沿清除INTEA和INTEB是8255内部A口和B口的中断允许触发器。INTE=1时,允许端口中断请求;INTE=0时,禁止端口中断请求。A口的中断允许信号INTEA可由用户通过PC6的置位/复位控制(PC6=1允许中断)。B口的INTEB可由对PC2的置位/复位控制,8255方式1工作时序,8255工作方式2,方式2使A口为外部设备和CPU之间提供一条8位的双向数据通道(既能发送,又能接收)。工作时可用程序查询方式,也可用中断方式方式2的主要功能:方式2只用于A口 一个8位的双向总线端口A(用于数据传送),一个5位的控制端口C(用于A口的控制和状态)输入和输出是锁存的当A口处于方式2时,C口的PC3PC7五位用作双向工作控制及中断控制,其控制信号含义与方式1中相应控制信号意义相同,故不再详细叙述。值得注意的是,由于A口的输入锁存器和输出锁存器是互相独立的,因此,当CPU向A口输出数据时,外部设备也可以同时向A口输入数据。反之,当CPU从A口读取数据时,外部设备也可以同时从A口读取数据,8255方式2时序,具有2个8255的系统,8255与8088连接示意图,8255与8088系统总线连接方法,8255与打印机连接,8255与键盘连接,8255应用(1),利用8255A在方式0下工作,令其在PB1,PB2引脚产生如图所示波形,试编写相应程序。电路连接设定8255A各端口地址分别为90H、91H、92H和93H,波形延时时间可调用延时1毫秒(D1ms)子程序实现,解:根据要求可确定端口B应工作在方式0下输出,其余端口无具体要求,也都定为方式0输出,那么方式选择控制字为80H。程序如下:MOV AL,80H;8255A的初始化 OUT 93H,AL START:MOV AL,02H OUT 91H,AL CALL D1ms MOV AL,06H OUT 91H,AL CALL D1ms MOV AL,00H OUT 91H,AL CALL D1ms MOV AL,04H OUT 91H,AL CALL D1ms JMP START,8255应用(2),如图所示,由8255A的B口,以方式0控制8个发光二极管,从LED0LED1LED2LED3LED4LED5LED6LED7循环点亮,每个发光二极管亮1S。试编制8255A的初始化程序和控制程序。设8255A的端口地址:A口、B口、C口和控制口分别为80H、82H、84H和86H,1S延时可调用D1S子程序实现。,解:MOV AL,80H OUT 86H,AL MOV AL,01HX1:OUT 82H,AL CALL D1S ROL AL,1 JMP X1 HLT,8255应用(3),如图所示,通过8255A的B口与打印机连接。B口工作在方式0,以查询方式输出从DATA单元开始的10个字节的字符数据。试编制8255A的初始化程序和控制程序。设8255A的端口地址:A口、B口、C口和控制口分别为80H、82H、84H和86H。,解:MOV AL,81H INC SI OUT 86H,AL OUT 82H,ALMOV SI,OFFSET DATA MOV AL,0CHMOV CX,10 OUT 86H,ALMOV AL,0DH MOV AL,0DHOUT 86H,AL OUT 86H,ALX1:IN AL,84H LOOP X1TEST AL,04H HLT JNZ X1MOV AL,SI,8.2 IBM PC/XT中8255的使用,请同学们按教材后的习题及时复习,第8章 结束,吉林大学远程教育学院,