微机原理与接口耿恒山答案_微机原理与接口技术项目教程(第2版)杨居义第5章同步练习题答案...

本文详细介绍了8255A的工作方式,包括方式0、1、2的特点及其应用,并针对不同场景提供了初始化程序示例。内容涉及8255A端口配置、控制字设置以及中断和双向传输功能的使用。
摘要由CSDN通过智能技术生成

07698a9f3cc9c680b2ef8d903417df96.png

1、8255A有哪几种工作方式?有何差别?

  • 方式0:基本输入输出方式,适用于无条件传送和查询方式,端口A、B、C均可使用;
  • 方式1:选通输入输出方式,适用于查询和中断方式,端口A、B可以使用;
  • 方式2:双向选通传送方式,适用于与双向传送数据的外设,适用于查询和中断方式,只有端口A可以使用。

2、8255A有哪些编程命令字?其命令格式及每位的含义是什么?请举例说明。

(1)工作方式选择控制字:可使8255A的3个数据端口工作在不同的方式。

201d96d5ebfac2ae16cd505439f3807e.png

d688fb4800c2f447a5711200cf672ce4.png

(2)C端口按位置1/置0控制字:可使C端口中的任何一位进行置位或复位。

1d378647035fc6d44178716dbe9c597b.png

dd8c3b29b18fbef198eefaf5ee81c413.png

3、假定8255A的端口地址分别为208H~20FH,编写下列情况的初始化程序:

(1)将A口、B口设置成方式0,端口A和C口作为输入口,B口作为输出口。

因为端口地址为208 H~20F H,对于8086系统,CPU在进行数据传送时,总是将低8位数据送往偶地址端口,将高8位数据送往奇地址端口,所以8255A的A0端口应该连地址总线的A1,8255A的A1端口应该连地址总线的A2,而地址总线的A0永远是0来保证偶地址

所以208 H = 0000 0010 0000 1000 B,20F H = 0000 0010 0000 1111 B,所以根据下表推测,写控制字的地址应该是 0000 0010 0000 1110 B = 20E H。

4402cf86ed5abf31b16e9fc7a184931b.png
MOV DX, 20EH
MOV AL, 99H    ; 1001 1001 B
OUT DX, AL

(2)将A口设置成方式1输入口,PC6、PC7作为输出端;B口设置成方式1,输入口。

MOV DX, 20EH
MOV AL, 0B6H    ; 1011 011X B
OUT DX, AL

4、8255A能实现双向传输功能的工作方式为 方式2

5、在Intel 8255A中可以进行按位置位/复位的端口是 端口C

6、8255A内部包括两组控制电路,其中A组控制 端口A和端口C的高4位(PC7~PC4),B组控制 端口B和端口C的低4位(PC3~PC0)

7、若8255A的端口A定义为方式0、输入,端口B定义为方式1、输出,端口C的上半部分定义为方式0、输出,试编写初始化程序(端口地址为200H~203H)。

MOV DX, 203H
MOV AL, 94H    ; 1001 010X B
OUT DX, AL

8、端口A工作于方式2、输出,要求两个中断允许,即PC4和PC6均需置位,端口B工作于方式1、输入,要求使PC2置位来开放中断,试编写初始化程序(端口地址为200H~203H)。

MOV DX, 203H    ; 8255A控制口
MOV AL, 0C6H    ; 11X0 0110 B
OUT DX, AL

MOV AL, 09H     ; 0000 1001 B,PC4置位
OUT DX, AL

MOV AL, 0DH     ; 0000 1101 B,PC6置位
OUT DX, AL

MOV AL, 05H     ; 0000 0101 B,PC2置位
OUT DX, AL
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值