2.方式1:选通的输入输出方式 在方式1下,A口和B口仍作为数据的输入和输出口而同时要利用C口的某些位作为 控制和状态信号。 A组将A口作为数据口,可设定为输入或输出,并指定C口某些位为控制和状态信 号。B组将B口作为数据口,也设定为输入或输出,并以C口某些位作为控制和状态信号 工作在方式1时,数据的输入/输出均有锁存功能,这种方式常用于中断和程序査询传 ①方式1的输入操作 当A口和B口设定为输入时,各指定了C口的3根线作为8255A与外设及CPU之间的控 制信号,如图8-3所示。 A口 B口 PA PA 8位 PB PB 8位 IN TE a「NTE A STBA B PC ST TBB BFA PC IB FB PC INTRA PC RB PC2、PC IO 图8-3方式1输入时引脚定义和端口结构
2.方式1: 选通的输入/输出方式 在方式1下,A口和B口仍作为数据的输入和输出口而同时要利用C口的某些位作为 控制和状态信号。 A组将A口作为数据口,可设定为输入或输出,并指定C口某些位为控制和状态信 号。B组将B口作为数据口,也设定为输入或输出,并以C口某些位作为控制和状态信号。 工作在方式1时,数据的输入/输出均有锁存功能,这种方式常用于中断和程序查询传 送。 ①方式1的输入操作 当A口和B口设定为输入时,各指定了C口的3根线作为8255A与外设及CPU之间的控 制信号,如图8-3所示。 图8-3 方式1输入时引脚定义和端口结构 B口 8位 STB B IB FB IN TR B D 7 ~D 0 R D IN TE B PC 0 PC 2 PC 1 PB 7 ~PB 0 8位 STB A IB FA IN TR A I/O D 7 ~D 0 R D A 口 IN TE A PC 3 PC 4 PC 5 PA 7 ~PA 0 PC 7 、PC 6
(一)各控制信号的定义如下 ( Strobe):输入选通信号,低电平有效。它有效时, 表示外设的数据已准备好,同时将外设送来的数据锁存到 8255A端口的输入数据缓冲器中,等待CP通过INTR信号输入 IBF( Input Buffer Ful1):输入缓冲器满信号,高电平 有效。当它有效时,说明输入缓冲器中锁存有信息,且尚未 被CPU取走,通知外设不能再传送新数据;只有当它为低电平 时,即表示CPU已读取了数据,输入缓冲器变空,此时才允许 外设传送新的数据。 INTR:中断请求信号,高电平有效。它有效时,请求 CPU从8255A读取外设已送入的数据 INTE:中断允许信号,它既不是输入也不是输出信号, 而是一个内部控制位。通过对PC4(端口A)或者PC2(端口B) 置位/复位来开放/禁止端口输入中断请求 PC、PCs:通用输入输出信号
(一) 各控制信号的定义如下: ·(Strobe):输入选通信号,低电平有效。它有效时, 表示外设的数据已准备好,同时将外设送来的数据锁存到 8255A端口的输入数据缓冲器中,等待CPU通过INTR信号输入。 ·IBF(Input Buffer Full):输入缓冲器满信号,高电平 有效。当它有效时,说明输入缓冲器中锁存有信息,且尚未 被CPU取走,通知外设不能再传送新数据;只有当它为低电平 时,即表示CPU已读取了数据,输入缓冲器变空,此时才允许 外设传送新的数据。 ·INTR:中断请求信号,高电平有效。它有效时,请求 CPU从8255A读取外设已送入的数据。 ·INTE:中断允许信号,它既不是输入也不是输出信号, 而是一个内部控制位。通过对PC4(端口A)或者PC2 (端口B) 置位/复位来开放/禁止端口输入中断请求。 ·PC7、PC6:通用输入输出信号
(二)方式1的输入工作过程 当外设准备好数据,在送出数据的同时,送一个选通信号,使8255A的IBF 为高电平,告诉外设当前输入缓冲器已满,暂时不要送入数据。再由后沿将INTE 置“1”,它使输出的INTR有效,向CPU发出中断请求信号,待CPU响应这一中断请 求时,可以在中断服务程序中安排IN指令读取数据,然后将IBF置“0”,外设才可 以继续输入后面的数据。 ②方式1的输出 当A口与B口设定为方式1输出时,也各指定了C口的3根线为信号线,其引脚 定义和端口结构如图8-4所示。 A口 B口 PAPA>8位 PB-PB 8位 INTE INTE OBFA OBB PC ACKA PC AC B WR PC INTRA WR PC INTRB PC、PC P/O 图8-4方式1输出时引脚定义和端口结构图
图8-4 方式1输出时引脚定义和端口结构图. (二) 方式1的输入工作过程 当外设准备好数据,在送出数据的同时,送一个选通信号,使8255A的IBF 为高电平,告诉外设当前输入缓冲器已满,暂时不要送入数据。再由后沿将INTE 置“1”,它使输出的INTR有效,向CPU发出中断请求信号,待CPU响应这一中断请 求时,可以在中断服务程序中安排IN指令读取数据,然后将IBF置“0”,外设才可 以继续输入后面的数据。 ②方式1的输出 当A口与B口设定为方式1输出时,也各指定了C口的3根线为信号线,其引脚 定义和端口结构如图8-4所示
)各控制信号的定义如下: ( Output Buffer Full):输出缓冲器满信号,低电平有效 它有效时,表示CPU已将数据写到8255A的输出端口,通知外设来取数 :外设送来的响应信号,低电平有效。当它为低电平时,表示 外设已经接收到了CP送来的数据。它是对的回答信号 INTR:中断请求信号输出,高电平有效。当它有效时,请求CPU 向8255A端口写入数据。 INTE:中断允许控制位,它既不是输入也不是输出信号,而是 一个内部控制位。通过对PC6(端口A)或者PC2(端口B)置位/复位来开 放/禁止端口输入中断请求。 PC、PC4:通用输入输出信号 二)方式1的输出工作过程 当外设接受了由CPU送给8255A的数据后,对8255A发送一个响应信号“” 同时被复位为高电平,并将相应端口的INTE置成高电平,于是INTR信 号向CP发出中断请求,请求CPU再输出后面的数据。可以在中断服务 程序中安排OUT指令继续输出后续字节
(一)各控制信号的定义如下: ·(Output Buffer Full):输出缓冲器满信号,低电平有效。 它有效时,表示CPU已将数据写到8255A的输出端口,通知外设来取数。 ·:外设送来的响应信号,低电平有效。当它为低电平时,表示 外设已经接收到了CPU送来的数据。它是对的回答信号。 ·INTR:中断请求信号输出,高电平有效。当它有效时,请求CPU 向8255A端口写入数据。 ·INTE:中断允许控制位,它既不是输入也不是输出信号,而是 一个内部控制位。通过对PC6(端口A)或者PC2 (端口B)置位/复位来开 放/禁止端口输入中断请求。 ·PC5、PC4:通用输入输出信号。 (二) 方式1的输出工作过程 当外设接受了由CPU送给8255A的数据后,对8255A发送一个响应信号“” , 同时被复位为高电平,并将相应端口的INTE置成高电平,于是INTR信 号向CPU发出中断请求,请求CPU再输出后面的数据。可以在中断服务 程序中安排OUT指令继续输出后续字节