(2)读写数据端口 初始化编程后: ■当数据端口作为输入接口时,执行输入IN指 令将从输入设备得到外设数据 当数据端口作为输出接口时,执行输出oUT 指令将把cPU的数据送给输出设备 8255A具有锁存输出数据的能力 ■对输出方式的端口同样可以输入 n不是读取外设数据 读取的是上次cPU给外设的数据
(2)读写数据端口 ◼ 初始化编程后: ◼ 当数据端口作为输入接口时,执行输入IN指 令将从输入设备得到外设数据 ◼ 当数据端口作为输出接口时,执行输出OUT 指令将把CPU的数据送给输出设备 ◼ 8255A具有锁存输出数据的能力 ◼ 对输出方式的端口同样可以输入 ◼ 不是读取外设数据 ◼ 读取的是上次CPU给外设的数据
读写数据端口:示例 利用8255A的输出锁存能力,可实现按位 输出控制 对输出端口B的PB7位置位的程序段: MOV DX301H:B端口假设为301H IN ALDX ;读出B端口原输出内容 OR AL80H 使PB7=1 OUT DXAL 输出新的内容
读写数据端口:示例 ◼ 利用8255A的输出锁存能力,可实现按位 输出控制 ◼ 对输出端口B的PB7位置位的程序段: MOV DX,301H ;B端口假设为301H IN AL,DX ;读出B端口原输出内容 OR AL,80H ;使PB7=1 OUT DX,AL ;输出新的内容
(3)读写端口C:归纳1 ■C端口被分成两个4位端口,两个端口只 能以方式O工作,可分别选择输入或输出 在控制上,C端口上半部和A端口编为A 组,C端口下半部和B端口编为B组
(3)读写端口C:归纳1 ◼ C端口被分成两个4位端口,两个端口只 能以方式0工作,可分别选择输入或输出 ◼ 在控制上,C端口上半部和A端口编为A 组,C端口下半部和B端口编为B组
(3)读写端口C:归纳2 当A和B端口工作在方式1或方式2时,C 端口的部分或全部引脚将被征用 ■其余引脚仍可设定工作在方式0
(3)读写端口C:归纳2 ◼ 当A和B端口工作在方式1或方式2时,C 端口的部分或全部引脚将被征用 ◼ 其余引脚仍可设定工作在方式0
(3)读写端口C:归纳3 ■对端口C的数据输出有两种办法 ■通过端口C的IO地址:向C端口直接写入 字节数据。这一数据被写进C端口的输出 锁存器,并从输出引脚输出,但对设置为 输入的引脚无效 ■通过控制端口:向C端口写入位控字,使 C端口的某个引脚输出1或0,或置位复位 内部的中断允许触发器
(3) 读写端口C:归纳3 ◼ 对端口C的数据输出有两种办法 ◼ 通过端口C的I/O地址:向C端口直接写入 字节数据。这一数据被写进C端口的输出 锁存器,并从输出引脚输出,但对设置为 输入的引脚无效 ◼ 通过控制端口:向C端口写入位控字,使 C端口的某个引脚输出1或0,或置位复位 内部的中断允许触发器