内容发布更新时间 : 2025/3/18 15:14:57星期一 下面是文章的全部内容请认真阅读。
共享知识 分享快乐
习题9 并行接口
主要内容:8255的外部特性、内部结构,初始化编程,应用。
9.1 8255A的3个端口在使用时有什么差别?
【答】 (1) 端口A对应1个8位数据输入锁存器和1个8位数据输出锁存器/缓冲器。所以,
用端口A作为输入或输出时,数据均受到锁存(与工作方式有关)。(2) 端口B对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。(3) 端口C对应1个8位数据输入缓冲器和1个8位数据输出锁存器/缓冲器。这样,当端口C作为输入端口时,对数据不做锁存,而作为输出端口是,对数据进行锁存。在使用中,端口A和端口B常常作为独立的输入端口或输出端口,端口C则配合端口A和端口B的工作。具体的讲,端口C常常通过控制命令被分成2个4位端口,每个4位端口包含1个4位的输入缓冲器和1个4位的输出锁存器/缓冲器,它们分别用来为端口A和端口B提供控制信号和状态信号。 9.2 8255A的方式0一般使用在什么场合?在方式0时,如要使用应答信号进行联络,应该怎
么办?
【答】方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式0情况下,没
有规定固定的应答信号,所以,这时,将端口A端口B作为数据端口,把端口C的4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。就是这样,利用端口C来配合端口A和端口B的输入/输出操作。
9.3当数据从8255A的端口C往数据总线上读出时,8255A的几个控制信号CS、A1、A0、RD、WR
分别是什么?
【答】 CS0、A11、A00、RD1 、WR0。
9.4 8255A的方式选择控制字和置1/置0控制字都是写入控制端口的,那么,它们是由什么来
区分的?
【答]】当8255A接收到写入控制口的控制字时,就会对最高位即标志位进行测试。如为1,则
将此字节作为方式选择控制字写入控制寄存器;如为0,则此字节作为对端口C的置1/置0控制来处理。
9.5 对8255A设置工作方式,8255A的控制口地址为00C6H。要求端口A工作在方式1,输入;
端口B工作在方式0,输出;端口C的高4位配合端口A工作;低4位为输入。(口地址为80H~83H)
【答】 控制字:10110001=B1H
MOV OUT
AL ,B1H 83H ,AL
9.6 设8255A的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置0/置1方式对PC6
置1,对PC4置0。 【答】 MOV
MOV OUT MOV
OUT
AL,00001101H DX,AL DX,AL
;对PC6置1的控制字
DX,00C6H ;控制地址DX
;对PC6置1操作
;对PC4置0的控制字
AL,00001000H
9.7 编一初始化程序,使8255A的PC5端输出一个负跳变。如果要求PC5端输出一个负脉冲则
初始化程序又是什么情况? 【答】 初始化程序:
MOV
AL,0000 1011 H
;PC5置“1”控制字→AL
共享知识 分享快乐
MOV OUT MOV OUT MOV OUT
DX,046H DX,AL DX , AL
;控制口地址→DL
;置“1”控制字→控制寄存器 ;PC5置“0”控制字→AL
;置“0”控制字→控制寄存器