并行接口技术

上传人:yx****d 文档编号:242983371 上传时间:2024-09-13 格式:PPT 页数:62 大小:866KB
返回 下载 相关 举报
并行接口技术_第1页
第1页 / 共62页
并行接口技术_第2页
第2页 / 共62页
并行接口技术_第3页
第3页 / 共62页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,并行接口技术,可编程并行接口芯片8255A及其应用,1,并行数据传输方式,以计算机的字长,通常是8位、16位或32位为传输单位,一次传送一个字长的数据,适合于外部设备与微机之间进行近距离、大量和快速的信息交换,例如:微机与并行接口打印机、磁盘驱动器,微机系统中最基本的信息交换方法,例如:系统板上个部件之间,接口电路板上各部件之间,2,典型的并行接口和外设连接的示意图,*,输入准备好,*,并行接口:,连接CPU与并行外设,实现两者间,的并行通信,在信息传送过程中,起到输出锁存,或输入缓冲的作用,。,3,并行接口电路8255A,具有多种功能的可编程并行接口电路芯片,最基本的接口电路:三态缓冲器和锁存器,与CPU间、与外设间的接口电路:状态寄存器和控制寄存器,还有端口的译码和控制电路、中断控制电路,分3个端口(,每个端口8条线),,共24个外设引脚(,也可分为2组工作,每组12条线),共三种输入输出工作方式(可编程设置),4,(1) PA7PA0、PB7PB0及PC7PC0 A口、B口及C口的输入/输出线。,(2) D7D0 三态双向数据线,数据总线连接,用来传送数据信息。,(3) 片选信号线,低电平有效。,(4) 读出信号线,低电平有效,控制数据的读出。,(5) 写入信号线,低电平有效,控制数据的写入。,(6) A1、A0 端口选择信号,用来寻址控制端口和I/O端口。,(7) RESET 复位信号线,高电平有效。有效时,所有寄存器的内容都被清零,三个I/O端口都被置成方式0输入。,8255A,PA3,PA2,PA1,PA0,RD,CS,GND,A1,A0,PC7,PC6,PC5,PC4,PC3,PC2,PC1,PC0,PB0,PB1,PB2,PA4,PA5,PA6,PA7,WR,RESET,D0,D1,D2,D3,D4,D5,D6,D7,Vcc,PB7,PB6,PB5,PB4,PB3,8255A引脚图,8255A是40条引脚的双列直插式芯片,引脚排列如图所示:,5,一、8255A的内部结构和引脚,数据,总线,缓冲器,内部控制线,内部数据线,D,0,D,7,A组,控制,A组,端口A,A组,端口C,上部,B组,控制,B组,端口B,B组,端口C,下部,读写,控制,逻辑,PC,0,PC,3,PB,0,PB,7,PC,4,PC,7,PA,0,PA,7,RD,WR,A,0,A,1,CS,RESET,6,7,1. 外设数据端口,端口A:,PA,0,PA,7,A组,支持工作方式0、1、2,端口B:,PB,0,PB,7,B组,支持工作方式0、1,端口C:,PC,0,PC,7,仅支持工作方式0,A组控制高4位PC,4,PC,7,B组控制低4位PC,0,PC,3,端口,A,:,PA,0,PA,7,常作数据端口,功能最强大,端口,B,:,PB,0,PB,7,常作数据端口,端口,C,:,PC,0,PC,7,可作数据、状态和控制端口,分两个,4,位,每位可独立操作,控制最灵活,最难掌握,8,2. 与处理器接口,CS* A1 A0,I/O地址,读操作RD*,写操作WR*,0 0 0,0 0 1,0 1 0,0 1 1,60H,61H,62H,63H,读端口A,读端口B,读端口C,非法,写端口A,写端口B,写端口C,写控制字,D,0, D,7,数据线,A,0, A,1,地址线,RD*,读信号,WR*,写信号,CS*,片选信号,RESET,复位信号,9,二、 8255A的工作方式,方式0:,基本输入输出方式,适用于无条件传送和查询方式的接口电路,方式1:,选通输入输出方式,适用于查询和中断方式的接口电路,方式2:,双向选通传送方式,适用于与双向传送数据的外设,适用于查询和中断方式的接口电路,10,1. 方式0,(基本输入输出方式),工作在方式,0,的端口,为,单向传送端口,输入或输出,作为输入口相当于普通的三态门 作为输出口相当于普通的锁存器,CPU,可利用工作在方式,0,的端口,直接对端口进行读写操作,实现,CPU,与外设间的数据传送。,11,方式0输入时序,data,data,输入端口,D,0,D,7,RD,CS,A,1,A,0,请体会这里8255A的数据缓冲作用,12,方式0输出时序,WR,data,data,输出端口,D,0,D,7,CS,A,1,A,0,8255A对CPU通过它输出给外设的数据进行锁存,13,方式0基本输入输出方式,各个端口的输入、输出可以有16种不同的组合,最适用于无条件传送方式;,也可用于查询方式把A、B口作为8位数据的输入或输出口,C口的高/低4位分别定义为A、B口的控制位和状态位。(需用户指定C口相关位,然后通过软件查询来实现数据传送,相对麻烦),14,2. 方式1,(选通输入输出方式),A,口工作在方式,1,时,,C,口的,某,3,根引脚,作为,A,口的联络信号,。,B,口工作在方式,1,时,,C,口的,某,3,根引脚,作为,B,口的联络信号,。,工作在方式,1,的端口,为单向传送端口。,在方式,1,下,,C,口作为,A,口、,B,口联络信号的引脚,,其动作关系在芯片设计和制造时已固定,,不由用户自己安排,也不能编程改变。,15,方式1 输入引脚:A端口,数据选通信号,表示外设已经准备好数据,输入缓冲器满信号,表示,A口已经接收数据,中断请求信号,请求,CPU接收数据,PC,4,PC,5,PC,3,PA,7,PA,0,INTE,A,IBF,A,INTR,A,STB,A,中断允许触发器,INTE没有外部引出端,通过编程设置。,16,方式1 输入引脚:B端口,PC,2,PC,1,PC,0,PB,7,PB,0,INTE,B,IBF,B,INTR,B,STB,B,数据选通信号,表示外设已经准备好数据,输入缓冲器满信号,表示,A口已经接收数据,中断请求信号,请求,CPU接收数据,中断允许触发器,方式1需借用端口C用做联络信号,同时还具有中断请求和屏蔽功能,17,方式1 输入联络信号,STB*选通信号,低电平有效,由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至,8255A,的输入锁存器,IBF,输入缓冲器满信号,高电平有效,8255A,输出的联络信号。当其有效时,表示数据已锁存在输入锁存器,INTR,中断请求信号,高电平有效,8255A,输出的信号,可用于向,CPU,提出中断请求,要求,CPU,读取外设数据,18,方式1 输入时序,外设送来数据,PB7PB0,PA7PA0,STB,IBF,INTR,RD,当,INTE=1时,19,当外设准备好数据,,将数据送至端口线PA7PA0或PB7PB0,外设发出选通信号STB*:,(,1) 将数据锁存在输入端口内。 (2) 使IBF变高,表示输入端口满,可用于阻止外设输入新数据。(3) 如果INTE=1, IBF的高电平和STB*的上升沿使INTR变高,发出中断请求。,转,中断处理程序,执行,IN,指令,,CPU 读取数据,发出RD信号,: (1) RD* 的下降沿清除INTR,(2) RD*的上升沿清除IBF,(3) 端口内的数据进入CPU,STB*和IBF是外设和8255A间,的一对应答联络信号,,为的是可靠地输入数据,20,方式1,中断控制,8255A的中断由中断允许触发器,INTE,控制,置位允许中断,复位禁止中断,对,INTE,的操作通过写入端口,C,的对应位实现,,,INTE,触发器对应端口,C,的位是作应答联络信号的输入信号的哪一位,只要对那一位置位,/,复位就可以控制,INTE,触发器,选通输入方式下,端口,A,的,INTEA,对应,PC,4,端口,B,的,INTEB,对应,PC,2,端口C,置位/复位控制字,21,方式1 输出引脚:A端口,外设响应信号,表示外设已经接收到数据,输出缓冲器满信号,表示,CPU已经输出了数据,中断请求信号,请求,CPU再次输出数据,PC,6,PC,7,PC,3,PA,7,PA,0,INTE,A,OBF,A,INTR,A,ACK,A,中断允许触发器,22,方式1输出引脚:B端口,PC,2,PC,1,PC,0,PB,7,PB,0,INTE,B,OBF,B,INTR,B,ACK,B,外设响应信号,表示外设已经接收到数据,输出缓冲器满信号,表示,CPU已经输出了数据,中断请求信号,请求,CPU再次输出数据,中断允许触发器,23,方式1输出联络信号,OBF*,输出缓冲器满信号,低有效,8255A,输出给外设的一个控制信号,当其有效时,表示,CPU,已把数据输出给指定的端口,外设可以取走,ACK*,响应信号,低有效,外设的响应信号,指示,8255A,的端口数据已由外设接受,INTR,中断请求信号,高有效,当输出设备已接受数据后,,8255A,输出此信号向,CPU,提出中断请求,要求,CPU,继续提供数据,端口A的INTEA对应PC,6,端口B的INTEB对应PC,2,24,方式1 输出时序,25,CPU执行OUT指令,输出数据,CPU发出WR*,(1),数据写到 8255A的端口,(2) 使OBF*有效(OBF*=0) ,表示输出端口满,可作为外设的选通信号,通知外设取数据。,(3) 清除中断请求信号INTR(,前一次的,),外设接受到数据后,发出ACK*信号,(1) ACK*的下降沿使OBF*变高,,(2) 当INTE=1, OBF* 的高电平与ACK*的上升沿使INTR变高,发出中断请求,请求CPU输出新的数据。,OBF*和ACK*是外设和8255A间,的一对应答联络信号,,为的是可靠地输出数据,26,方式2 双向方式,方式2将方式,1,的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据,只有端口A可以工作于方式2,,需要利用端口C的5个信号线,其作用与方式1相同,方式2的数据输入过程与方式1的输入方式一样,方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据,27,方式2 双向引脚,PC,6,PC,7,PC,3,PA,7,PA,0,INTE,1,OBF,A,INTR,A,ACK,A,PC,4,PC,5,IBF,A,STB,A,INTE,2,用PC,6,设置,INTE,1,(输出),用PC,4,设置,INTE,2,(输入),输入和输出中断通过,或门输出,INTR,A,信号,28,方式2双向时序,data-out,INTR,data-out,data-in,data-in,PA,0,PA,7,D,0,D,7,IBF,WR,OBF,ACK,STB,RD,29,三、 8255A的编程,初始化编程:一个方式控制字,采用控制,I/O,地址:,A,1,A,0,11,工作过程中:通过数据端口对外设数据进行读写,数据读写利用端口,A,、,B,和,C,的,I/O,地址,,A,1,A,0,依次等于,00、01、10,IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H,30,1. 写入方式控制字:控制字格式,31,1. 写入方式控制字:示例,要求:,A端口:方式1输入,C端口上半部:输出,C口下半部:输入,B端口:方式0输出,方式控制字:10110001B或B1H,初始化的程序段:,mov dx,0fffeh,;假设控制端口为FFFEH,mov al,0b1h,;方式控制字,out dx,al,;送到控制端口,32,A端口:方式1输入,C端口上半部:输出,C口下半部:输入,B端口:方式0输出,1,0,1,1,0,0,0,1,D7,D6,D5,D4,D3,D2,D1,D0,特征位,A口,方式 1,A口,输入,PC7PC4,I/O,B口,方式 0,B口,输出,PC3PC0,I/O,33,1,0,0,0,1/0,0,1,1/0,D7,D6,D5,D4,D3,D2,D1,D0,特征位,A口,方式 0,A口,输出,PC7PC4,I/O,B口,方式 0,B口,输入,PC3PC0,I/O,所以, 方式控制字为,1,00,0,0,0,1,0,B, 即,82,H,由于对,C口无要求,,控制C口的相应位D4, D0可为任意值,假设取0,例,假设8255A 控制端口的地址为203h,编程设置控制字,使,A口,方式0,输出,;,B口,方式0,输入,设置控制字的程序段如下:,MOV DX,203h,;,置DX为控制口地址,MOV AL,82h,;,置控制字于AL中,OUT DX, AL,;,将控制字写入控制口,34,2. 读写数据端口,初始化编程后:,当数据端口作为输入接口时,执行输入IN指令将从输入设备得到外设数据,当数据端口作为输出接口时,执行输出OUT指令将把CPU的数据送给输出设备,8255A具有锁存输出数据的能力,对输出方式的端口同样可以输入,不是读取外设数据,读取的是上次CPU给外设的数据,35,2. 读写数据端口:示例,利用8255A的输出锁存能力,可实现按位输出控制,对输出端口B的PB7位置位的程序段:,mov dx,0fffah,;B端口假设为FFFAH,in al,dx,;读出B端口原输出内容,or al,80h,;使PB,7,1,out dx,al,;输出新的内容,36,3. 读写端口C:归纳1,C,端口被分成,两个,4,位端口,,两个端口只能以方式,0,工作,可分别选择输入或输出,在控制上,,C,端口上半部和,A,端口编为,A,组,,C,端口下半部和,B,端口编为,B,组,37,3. 读写端口C:归纳2,当A和B端口工作在方式1或方式2时,C端口的部分或全部引脚将,被征用,其余引脚仍可设定工作在方式,0,38,3. 读写端口C:归纳3,对端口C的数据输出有两种办法,通过端口C的I/O地址:,向C端口直接,写入字节数据,。这一数据被写进C端口的输出锁存器,并从输出引脚输出,但对设置为输入的引脚无效,通过控制端口:,向C端口,写入位控字,,使C端口的某个引脚输出1或0,或置位复位内部的中断允许触发器,39,端口C的位控制字,位控制字写入控制端口,特别便于置位复位内部中断允许触发器INTE,40,例,假设8255A的控制口地址为203h,通过控制口置 PC2 为 0,置 PC4 为 1,MOV DX,,203H,;置DX为控制口地址,MOV AL,,0,000,010,0,B,;置PC2为0,OUT DX, AL,MOV AL,,0,000,100,1,B,;置PC4为1,OUT DX, AL,41,42,例,某系统要求使用8255的A口工作于方式1作输入,B口工作于方式0作输出,C口上半部输入,下半部输出。8255端口地址为60H-63H。,控制字为:,1,0111000B=0B8H,初始化程序为:,MOVAL,0B8H,OUT63H,AL,例,如上例,若A口工作于方式1作输入,要使用中断传送方式,则应当写PC4的按位置位字:,MOVAL,,0,000,1001,B,OUT63H,AL,42,43,方式1下8255状态字中INTE位的置位和复位, 若禁止PA口输入中断请求,MOV DX,303H ;8255命令口,MOV AL,0000,100,0,B ;置,PC,4,=0,禁止中断请求,OUT DX,AL, 若允许PA口输入中断请求,MOV DX,303H ;8255命令口,MOV AL,0000,100,1B ;置,PC,4,=1,允许中断请求,OUT DX,AL, 若允许PA口输出中断请求,MOV DX,303H ;8255命令口,MOV AL,0000,110,1B ;置,PC,6,=1,允许中断请求,OUT DX,AL,43,44, 若允许PB口输入中断请求,MOV DX,303H ;8255命令口,MOV AL,0000,010,1B ;置,PC,2,=1,,允许中断请求,OUT DX,AL, 若禁止PB口输入中断请求,MOV DX,303H ;8255命令口,MOV AL,0000,010,0,B ;置,PC,2,=0,,禁止中断请求,OUT DX,AL, 若允许PB口输出中断请求,MOV DX,303H ;8255命令口,MOV AL,0000,010,1B ;置,PC,2,=1,,允许中断请求,OUT DX,AL,44,3. 读写端口C:归纳4,读取C端口数据有两种情况,未被A和B端口征用的引脚,:将从定义为输入的端口读到引脚输入信息;将从定义为输出的端口读到输出锁存器中的信息,被A和B端口征用作为联络线的引脚,:将读到反映8255A状态的,状态字,45,D,7,D,6,D,5,D,4,D,3,D,2,D,1,D,0,方式1输入,I/O,I/O,IBFA,INTEA,INTRA,INTEB,IBFB,INTRB,方式1输出,OBFA,INTEA,I/O,I/O,INTRA,INTEB,OBFB,INTRB,方式2双向,OBFA,INTE1,IBFA,INTE2,INTRA,端口C的状态字,A口,B口,46,四、 8255A的应用,作为通用的并行接口电路芯片,8255A具有广泛的应用,应用在IBM PC/XT微机上,应用于打印机接口电路,连接简易键盘,驱动LED数码管,47,8255A,与系统的连接,8255A在IBM PC/XT上的应用,48,8255A在IBM PC/XT上的应用,工作在基本输入/输出方式0,端口A为方式0输入,用来读取键盘扫描码,端口B工作于方式0输出,例如,控制扬声器,等,端口C为方式0输入,读取系统状态和配置,系统的初始化编程:,mov al,10011001b,;方式控制字99H,out 63h,al,49,50,例,某应用系统以8255A作为接口,采集一组开关S,7,S,0,的状态,然后通过一组发光二极管LED,7,LED,0,显示开关状态,(Si闭合,则对应LEDi亮,Si断开,则对应的LEDi灭)电路连接如下图,已知8255A、B两组均工作在方式0。,写出,8255,四个端口的地址。,写出,8255,工作方式控制字。,写出实现给定功能的汇编语言程序。,50,LED,7,LED,0,S,7,S,0,PB,7,PB,0,PA,7,PA,0,8255A,D,7,D,0,D,7,D,0,WR#,RD#,IOW#,IOR#,Y,0,*,G,1,G,2,A*,G,2,B*,C,B,A,74LS138,CS*,A,9,AEN,&,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,A,0,A,1,A,0,51,52,答:,A,口、,B,口、,C,口和控制口的地址分别是,320H,、,321H,、,322H,和,323H,。,A,口工作在方式,0,输出,,B,口工作在方式,0,输入,,C,口空闲,所以其控制字是,10000010b,82H,程序如下:,MOVAL, 82H;置方式字,MOVDX, 323H;置控制端口地址,OUTDX, AL,L1:MOVDX, 321H;置B口地址,INAL, DX;读开关状态(1断,0通),NOTAL;状态取反,MOVDX, 320H;置A口地址,OUTDX, AL;输出(1亮,0灭),JMPL1,52,打印机接口的信号与时序,BUSY,DATA,07,ACK,STROBE,主机把数据送给引脚,DATA,0,DATA,7,同时送出数据选通信号,STROBE*,打印机在,BUSY,信号线上发出忙信号,打印机处理好输入的数据时,撤消忙信号,同时又送出一个响应信号,ACK*,53,用8255A,方式0,与打印机接口,6,2,2,1,3,0,字符,8255A工作于方式0 的例子,11010,54,8255A的4个口地址分别为:,00D0H,00D2H,00D4H,00D6H,A、B、C三个端口工作于方式0,A端口为输出,PC7PC4为输出,PC3PC0为输入,55,DADA SEGMENT,BUFF DB This is a print program!,$,DATA ENDS,CODE SEGMENT,ASSUME CS:CODE, DS:DATA,START:MOV AX, DATA,MOV DS, AX,MOV SI,OFFSET BUFF,MOV AL, 81H,;初始化方式控制字,OUT 0D6H, AL,MOV AL, 0DH,;通过位控字置PC6=1,OUT 0D6H,AL,56,WAIT: IN AL, 0D4H,TEST AL, 04H,JNZ WAIT,MOV AL,SI,CMP AL,$,JZ DONE,OUT 0D0H,AL,MOV AL,0CH,OUT 0D6H, AL,INC AL,OUT 0D6H,AL,INC SI,JMP WAIT,DONE:MOV AL,0DH,OUT 0D0H,AL,MOV AL, 0CH,OUT 0D6H,AL,INC AL,OUT 0D6H,AL,WAIT1: IN AL, 0D4H,TEST AL, 04H,JNZ WAIT1,57,MOV AL,0AH,OUT 0D0H,AL,MOV AL, 0CH,OUT 0D6H,AL,INC AL,OUT 0D6H,AL,MOV AH,4CH,INT 21H,CODE ENDS,END START,58,8255A工作于方式1 的例子,59,主程序:,MAIN:,MOV AL,0A0H ;方式选择控制字,OUT 0C6H,AL,MOV AL,01H ;,OUT 0C6H,AL,CLI ;替换中断向量前关中断,MOV AH,25H ;替换中断向量的典型方式,MOV AL,0BH ;IR3的类型码为0BH,MOV DX,OFFSET ROUTINTR,PUSH DS,MOV AX,SEG ROUTINTR,MOV DS,AX,INT 21H,POP DS,MOV AL,0DH ;PA方式1输出,“置PC6=1的操作”,OUT 0C6H,AL ;使8255允许中断(INTEA=1),STI ;CPU开中断,假设:,A口地址 0C0H,B口地址 0C2H,C口地址 0C4H,控制口 0C6H,60,中断处理程序,ROUTINTR:,MOV AL,DI ;DI为打印字符缓冲区地址,OUT 0C0H,AL,MOV AL,00H ;置PC0=0,OUT 0C6H,AL,INC AL ;置PC0=1,OUT 0C6H,AL,IRET,61,8255A的键盘和扬声器控制示意,8255A,PB,1,PB,0,驱动,电路,扬声器,GATE,2,CLK,2,时钟信号,与门,8253的计数器2,PA,7,PA,0,PB,7,PB,6,键盘扫描码,键盘控制信号,62,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!