13可编程并行接口芯片8255A面向I/O设备一侧的端口有几个?其中C口的使
用有哪些特点?
8255A面向I/O设备一侧有3个8位的端口:A口、B口和C口,或者说有2个8位的端口(A口、B口)和2个4位的端口(C上、C下)。
其中,C口比较特殊,它的特点主要有:作为数据口,可分为两个独立的4位口(C上、C下)使用;1方式和2方式时,C口的部分引脚作为A、B口的固
定联络信号线;1方式和2方式时,C口作为状态口使用;C口的引脚可以用按位置/复位命令字进行按位控制。
14可编程并行接口芯片8255A的编程命令有哪两个?试分别说明它们的作用及其命令格式中每位的含义是什么?
8255A有两个编程命令:方式命令字和C口按位置/复位命令字。
方式命令字:用于对8255A进行初始化编程,设定A、B、C口的工作方式及传送方向,其命令格式及各位含义如下:
C口按位置/复位命令字:用于对8255A进行动态控制,在应用过程中,需
要对C口的某个引脚进行按位操作时使用,对已设定好的工作方式无影响,其命令字格式及各位含义如下:
15 “由于按位置/复位命令字是对C口进行操作,所以可以写到C口”,这句话
对吗?为什么?
这句话不对,因为“按位置/复位命令字”是命令字的格式,必须写入到控制口,如果写入到C口就作为一个普通的数据,完成的功能完全不同。 16如何对8255A进行初始化编程?
对8255A进行初始化编程主要是写入方式字,设置所使用的每个数据口的工作方式及传送方向。另外,如果有必要,在初始化时还要写入将PC某个引脚置1或清0的命令字(C口按位置/复位命令字)。
17可编程并行接口芯片8255A有哪几种工作方式?各自的特点何在?
8255A有3种工作方式,其中A口可工作于方式0、方式1和方式2;B口只能工作于方式0和方式1。
方式0的特点:①是基本输入/输出方式,输出有锁存功能,输入有缓冲功能,采用无条件方式或查询方式与CPU交换信息;②2个8位口和2个4位口,24根I/O信号线全部由用户控制;③无专用联络信号线;无固定时序;无确定的状态字;④单向I/O
方式1的特点:①是选通(应答)输入/输出方式,输入、输出都具有锁存功能,采用查询方式或中断方式与CPU交换信息;②A、B口作为数据口,C口部分引脚作专用联络信号线,这些信号线用户不能指定为其他用途;③有专用联络信号线;有固定时序;有确定的状态字;④单向I/O
方式2的特点:①A口为双向选通(应答)输入/输出方式,采用查询方式或中断方式与CPU交换信息;②有专用联络信号线;有固定时序;有确定的状态字;联络线定义、时序及状态字都是方式1输入和输出的组合。
18.在1方式下输入和输出时,其专用联络信号是如何定义的?联络信号线之间的工作时序关系如何?
1方式下输入时,定义了8255A与I/O之间的2根相互联络信号线,还在8255A与CPU之间设置了中断申请信号线:
:外设给8255A的“输入选通”信号,低有效,将数据送入8255A; IBF:8255A给外设的“输入缓冲器满”信号,高有效,阻止外设送新数据; INTR:8255A给CPU的“中断申请”信号,高有效,请求CPU读取数据。
② I/O设备
联络信号之间的时序关系:
1
方式下输出时,定义了8255A与I/O之间的
2根相互联络信号线,还在8255A与CPU之间设置了中断申请信号线:
:8255A给外设的“输出缓冲器满”信号,低有效,通知外设取数据; :外设给8255A的“回答”信号,低有效,通知8255A数据已取走; INTR:8255A给CPU的“中断申请”信号,高有效,请求CPU写入下
CPU
①④ INTR 设备
一个数据。联络信号之间的时序关系:
19.现有4种简单的外设:①一组8位开关;②一组8位LED指示灯;③一个按钮开关;④一个蜂鸣片。要求:
(1) 用8255A作为接口芯片,将这些外设构成一个简单的微机应用系统,画
出接口连接图;
(2) 编制5种驱动程序,每个程序必须包括至少有两种外设共同作用的操作
(例如,根据8位开关“ON”和“OFF”的状态来决定8个LED指示灯“亮”和“灭”。又如,当按下按钮开关时,才使蜂鸣片发声等)。
20现有一四相步进电机,按双八拍方式运行。要求:
(1) 设计接口电路(根据本题(2)的要求设计);
(2) 编制下列控制程序:①上电后,步进电机来回走100步,当按下SW1开
关时,停止走步;②步进电机先向一个方向连续慢走,当开关SW1按下时,
快速反走,直到按下SW2时才停机;③对步进电机进行点动控制,即每按一
次SW1开关,步进电机就走一步,按SW2停止运行;④在键盘上按S键和s
键,启动步进电机开始走步;按SW1键停止;
(3) 画出四个控制程序的流程图。
四相电机,双八拍方式各相绕组循环轮流通电的方式为:
ABABCBCBCDCDCDADADAB
计如图所示:
初始化流程图如图(a)所示,4个控制程序的流程图如图(b)、(c)、(d)、(e)所示:
MOV D X,30 3HMOV AL ,81OUT DX ,ALMOV AL ,0FOUT DX ,AL
(a)初始化 初始化程序段
PL: MOV CH,100
MOV DX,303H
MOV AL,0EH
OUT DX,AL
CON2: MOV CL,8
LEA SI,PTAB
CON1: MOV DX,301H
MOV AL,[SI]
OUT DX,AL
MOV BX,0
DLY1: DEC BX
JNZ DLY1
MOV DX,302H
IN AL,DX
AND AL,01H
JZ EXIT
INC SI
DEC CH
JZ REW
DEC CL
JNZ CON1 REW: MOV CH,100 CON4:
MOV CL,8 LEA SI,PTAB+7 CON3: MOV DX,301H MOV AL,[SI] OUT DX,AL MOV BX,0 DLY2: DEC BX JNZ DLY2 MOV DX,302H IN AL,DX AND AL,01H JZ EXIT DEC SI DEC CH JZ PL DEC CL JNZ CON3 JMP CON4 EXIT: MOV DX,303H MOV AL,0FH
OUT DX,AL
MOV AX,4C00H
INT 21H JMP CON2
①控制程序
20. 在图7.13两种方式并行传送接口电路中,甲机和乙机的8255A都使用了联
络信号线,并且在两者的程序中都查了状态位,试分析二者所使用的联络线及查的状态位在本质上有无差别?为什么?
21. 根据图7.15两级微机双向并行接口逻辑电路,试编写主机(PC微机)的接
收程序,要求PC微机通过8255A的PA口以中断方式读取从机(8031单片机)传来的状态信息。