8 思考与练习题
一、填空题
1.8237A用_硬件方式_实现_I/O外设与内存_之间的快速数据直接传输;其工作方式有_单字节传送方式、数据块传送方式、请求传送方式、级联传送方式_。P188~P189
2.进行DMA传输之前,CPU要对8237A_初始化编程_:其主要内容有_(见P196 8237A编程一般步骤)_。P195~P196
3.8237A设置了_主清除命令、清除字节指示器命令、清除屏蔽寄存器命令_3条软件命令,这些软件命令只要对_相应端口(分别是8237A端口基地址加0DH、加0CH、加0EH)写操作_就会自动执行清除命令。P195~P196 二、简答题
1.DMA控制器8237A有哪两种工作状态,其工作特点如何? 答案在P184~P184。
2.8237A的当前地址寄存器、当前字计数寄存器和基字寄存器各保存什么值? 答案在P190~P191。
3.8237A进行DMA数据传送时有几种传送方式?其特点是什么 答:单字节传送方式、字组方式、连续方式。答案在P188~P189 4.8237A有几种对其DMA通道屏蔽位操作的方法? 答案在P193~P1194。 三、设计题
1.设置PC的8237A通道2传送1KB数据,请给其字节数寄存器编程。
解:传送1KB(0400H字节)的字节数寄存器的初始值为03 FFH。通道2字节数寄存器的端口地址:8237A的基地址+09H;清除字节指示器的端口地址:8237A的基地址+0CH。当8237A通道2传送1KB数据,对字节数寄存器初始化编程如下:
DMA EQU 00H ;设8237A的基地址为00H ;输出清除字节指示器命令
OUT DMA+0CH,AL ;发清除字节指示器命令(指向16位字节数寄存器的低8位) ;字节数寄存器的初始化操作
MOV AL,0FFH ;设置字节数寄存器低8位初始值 OUT DMA+09H,AL ;写字节数寄存器低8位初始值 MOV AL,03H ;设置字节数寄存器高8位初始值 OUT DMA+09H,AL ;写字节数寄存器高8位初始值
2.若8237A的端口基地址为000H,要求通道0和通道1工作在单字节读传输,地址减1变化,无自动预置功能。通道2和通道3工作在数据块传输方式,地址加1变化,有自动预置功能。8237A的DACK为高电平有效,DREQ为低电平有效,用固定优先级方式启动8237A工作,试编写8237A的初始化程序。 DMA EQU 00H ;8237A的基地址为00H ;输出主清除命令
OUT DMA+0DH,AL ;发总清除命令
;写入方式字:通道0和通道1工作在单字节读传输,地址减1变化,无自动预置功能。 MOV AL,01101000B ;通道0方式字 OUT DMA+0BH,AL ;写入方式字 MOV AL,01101001B ;通道1方式字 OUT DMA+0BH,AL ;写入方式字
17
;写入方式字:通道2和通道3工作在数据块(读)传输方式,地址加1变化,有自动预置功能。 MOV AL,10011010B ;通道2方式字 OUT DMA+0BH,AL ;写入方式字 MOV AL,10011011B ;通道3方式字 OUT DMA+0BH,AL ;写入方式字
;写入命令字:DACK为高电乎有效,DREQ为低电平有效,用固定优先级方式,允许8237A DMA传送。 ; (不扩展写,正常时序,禁止通道0地址保持不变,禁止存储器到存储器) MOV AL,11000000B ;命令字 OUT DMA+08H,AL :写入8237A ;写主屏蔽字,通道0~3屏蔽位清0。 MOV AL,00H
OUT DMA+0FH,AL ;一次完成4个通道屏蔽位清0。
9 思考与练习题
一、填空题
1.中断是指_(P200)_;实现中断功能的控制逻辑称为_中断系统_。P200
2.中断源是指_引起中断的设备或事件_;按照CPU与中断源的位置可分为_内部中断和外部中断_。P201 3.CPU内部运算产生的中断主要有_除法出错、运算溢出和程序调试中设置断点_。P201
4.中断源的识别通常有_查询中断和矢量中断_两种方法;前者的特点是_多个中断源公用一个中断入口服务程序,通过执行一段查询程序,确定引起中断的中断源状态;然后做相应的中断处理_;后者的特点是_每个中断源对应一个中断服务入口地址,由中断向量来指示中断服务程序入口地址_。P202 5.中断向量是_中断服务程序的入口地址_;存放中断向量的存储区称为_中断向量表_。P208
6.8086中断系统可处理_256_种不同的中断,对应中断类型码为_0~255_,每个中断类型码与一个_中断_相对应,每个中断向量需占用_4_个字节单元;两个高字节单元存放_中断入口段地址_,两个低字节单元存放_中断入口偏移地址_。P206 二、简答题
1.什么是中断?什么是中断源,常见的中断源有哪几类? 答案在P200~P201(9.1 9.1.2 )
2.确定中断的优先权有哪两种方法,各有什么优缺点?IBM PC系列微机中采用的是什么方法? 答案在P204~P206(9.1.4)。 IBM PC系列微机中采用硬件优先权排队电路。
3.8086的中断分哪两大类?各自的特点是什么?什么是中断矢量,什么是中断矢量表?8086总共有多少级中断(32级 P209)?
答案在P206~P209(9.2.1 9.2.2)。
4.什么是非屏蔽中断?什么是可屏蔽中断?它们得到CPU响应的条件是什么? 答案在P207~P208(9.2.1 2. 外部中断 3. 中断处理顺序)。
5.在编写程序时,为什么通常总要用STI和CLI中断指令来设置中断允许标志?8259A的中断屏蔽寄存器IMR和中断允许标志IF有什么区别?
答:在某些程序段处理避免中断时要用CLI指令关中断,在于要嵌套中断调用的程序段的位置用STI指令开中断。8259A的中断屏蔽寄存器IMR对个别中断源的屏蔽与否处理;CPU中断允许标志IF对总所有中断允许与否的处理。
答案在P207~P208(9.2.1 2. 外部中断 3. 中断处理顺序)。IMR(P210)
6.8259A有几种结束中断处理的方式,各自应用在什么场合?在非自动中断结束方工弋中,如果没有在中断处理程序结束前发送中断结束命令,会出现什么问题? 答案在P212~P215(9.3.2)。
18
三、分析设计题
1.设8259A的操作命令字OCW2中,EOI=0,R=1,SL=1,L2L1L0=011,试指出8259A的优先权排队顺序。 答:IR4(高)、IR5、IR6、IR7、IR0、IR1、IR2、IR3(低)
2.在两片8259A级连的中断系统中,主片的IR6接从片的中断请求输出,请写出初始化主片、从片时,相应的ICW3的格式。
答: 主片ICW3:0100 0000B ;从片ICW3:0000 0110B。
3.某外部可屏蔽中断的类型码为08H,它的中断服务程序的人口地址为0020:0040H。请编程将该中断服务程序的入口地址填入中断矢量表中。 解:
CLI
MOV AX,00 MOV DS,AX MOV SI,08H*4
MOV WORD PTR[SI],0040H INC SI INC SI
MOV WORD PTR[SI],0020H STI
10 思考与练习题
一、选择题
1.CPU对8255A执行按位置位/复位操作时,写入的端口地址是( )。 A.端口A B.端口B C.端口C D.控制口 2.8255A的PB口有( )种工作方式? A.1 B.2 C.3 D.4
3.利用8255A采集100个数据,数据间采样间隔为10ms,要用循环查询方法实现,即每次循环采集一个数据,那么在循环的初始化部分应该( )。
A.①设置采样次数为100次;②设置用于存放数据的缓冲区地址指针
B.①设置采样次数为100次;②产生10ms的数据间采样间隔;③设置用于存放数据的缓冲区地址指针 C.①设置采样次数为100次;②产生10ms的数据间采样间隔;③设置用于存放数据的缓冲区地址指针;④设置8255A的工作方式控制字
4.8255A工作于方式1输出时,在由外设输入的STD信号( )的控制下将端口A或(端口B)的数据锁存。
A.上升沿 B.下降沿 C.高电平 D.低电平 二、填空题
1.微机和外设通信的并行传输是指_数据的各位同时传送_;并行接口的特点是_(P226 10.1.2)_;常用于_近距离_场合。P225~P226
2.从并行接口的电路结构来看,并行接口有_输入接口_和_输出接口_之分。P226 3.8255A有两种命令字,一种是_工作方式_命令字,另一种是_C口位操作_命令字。P229
4.8253A内部有_24_个对外输入/输出端口,有3种工作方式,方式0称为_基本I/O工作方式_,方式1称为_选通I/O工作方式_,方式2称为_选通双向总线I/O方式_。P232~P235 三、简答题
1.从8255A的PC口读出数据,试述控制信号-CS,A1,A0,-RD,-WR的状态。 答:-CS=0,A1=1,A0=0,-RD=0,-WR=1
2.可编程并行接口芯片8255A有哪几种工作方式,每种工作方式有何特点?
D C B D
19
答:8255A有3种工作方式。方式0:无条件I/O,用于主机与简单外设数据传送(只有数据线连接);方式1:选通I/O,主机通过联络与外设单向数据传送;方式2:双向I/O,主机通过联络与外设双向数据传送。 3.当8255A工作在中断方式2时,CPU如何区分输入或输出?
答:进入中断服务程序后,查询输入IBF和输出-OBF状态;若IBF=1(输入缓冲器满),输入引起中断;若-OBF=1(输出缓冲器空),输出引起中断。 四、设计题
1.某8255A端口地址范围为03F8H~03FBH,A组和B组均工作在方式0,A口作为数据输出端口,C口低4位作为状态信号输入口,其他端口未用:试画出该8255A与系统的连接图,并编写初始化程序。 解1:8255A与系统的连接图如下。
PC3~0 PC7~4
解2:初始化程序如下。
MOV AL, 10000001B ; A和B组方式0,A口输出和C口低4位输入口。 MOV DX, 03FBH OUT DX, AL
2.用8255A作为接口芯片,编写满足如下要求的3段初始化程序:
(1)将A组和B组置成方式0,A口和C口作为输入口,B口作为输出口。 (2)将A组置成方式2,B组置成方式1,B口作为输出口
(3)将A组置成方式1且A口作为输入,PC6和PC7,作为输出,B组置成方式1且作为输入口。假设控制端口的符号地址为PORTK。解答如下:
(1)MOV AL, 10011001B ; A和B组方式0,A和C口输入口,B口作为输出口 MOV DX, PORTK
OUT
DX, AL
(2)MOV
AL, 11000100B ; A组置成方式2,B组置成方式1,B口作为输出口 MOV DX, PORTK
OUT
DX, AL
(3)MOV
AL, 10110110B ; A口方式1输入,PC6和PC7输出,B口方式1输入 MOV DX, PORTK
OUT
DX, AL
11 思考与练习题
一、选择题
1.串行接口芯片825lA可实现( )。
A.同步传送 B.异步传送 C.并行传送 D.A和B均可
2.825lA工作于串行异步接收时.当检测到( )引脚为低电平时,可能是起始位。 A.RxD B.TxD C.-WE D.-RTS
3.输入控制发送器数据速率的时钟TxC频率可以是数据传送波特率的( )倍。 A.1、16或64 B.1、32或64 C.16、32或64 D.16、64或128
D
A C 20