微机原理与接口技术(第四版)课后习题答案 (1) 下载本文

.

① 无条件传送方式,常用于简单设备,处理器认为它们总是处于就绪状态,随时进行数据传送。

② 程序查询方式:处理器首先查询外设工作状态,在外设就绪时进行数据传送。

③ 中断方式:外设在准备就绪的条件下通过请求引脚信号,主动向处理器提出交换数据的请求。处理器无其他更紧迫任务,则执行中断服务程序完成一次数据传送。

④ DMA传送: DMA控制器可接管总线,作为总线的主控设备,通过系统总线来控制存储器和外设直接进行数据交换。此种方式适用于需要大量数据高速传送的场合。

〔习题7.8〕现有一个输入设备,其数据端口地址为FFE0H,状态端口地址为FFE2H。当状态标志D0=1时,表明一个字节的输入数据就绪。请编写利用查询方式进行数据传送的程序段,要求从该设备读取100个字节保存到BUFFER缓冲区。

〔解答〕 mov bx, offset buffer mov cx,100 again: mov dx,0ffe2h status: in al,dx ; 查询一次 test al,01h jz status mov dx,0ffe0h in al,dx ; 输入一个字节 mov [bx],al inc bx loop again ; 循环,输入100个字节 〔习题7.9〕

某个字符输出设备,其数据端口和状态端口的地址均为80H。在读取状态时,当标志位D7=0时,表明该设备闲,可以接收一个字符。请编写利用查询方式进行数据传送的程序段,要求将存放于缓冲区ADDR处的一串字符(以0为结束标志)输出给该设备。 〔解答〕 mov bx,offset addr again: cmp byte ptr [bx],0 jz done status: in al,80h ; 查询 test al,80h

.

.

done:

jnz status mov al,[bx] out 80h,al inc bx jmp again

; 输出一个字节 ; 循环

〔习题7.10〕以可屏蔽中断为例,说明一次完整的中断过程主要包括哪些环节? 〔解答〕

中断请求:外设通过硬件信号的形式、向处理器引脚发送有效请求信号。 中断响应:在满足一定条件时,处理器进入中断响应总线周期。 关中断:处理器在响应中断后会自动关闭中断。

断点保护:处理器在响应中断后将自动保护断点地址。

中断源识别:处理器识别出当前究竟是哪个中断源提出了请求,并明确与之相应的中断服务程序所在主存位置。

现场保护:对处理器执行程序有影响的工作环境(主要是寄存器)进行保护。 中断服务:处理器执行相应的中断服务程序,进行数据传送等处理工作。 恢复现场:完成中断服务后,恢复处理器原来的工作环境。 开中断:处理器允许新的可屏蔽中断。

中断返回:处理器执行中断返回指令,程序返回断点继续执行原来的程序。

〔习题7.11〕什么是中断源?为什么要安排中断优先级?什么是中断嵌套?什么情况下程序会发生中断嵌套?

〔解答〕

计算机系统中,凡是能引起中断的事件或原因,被称为中断源。

处理器随时可能会收到多个中断源提出的中断请求,因此,为每个中断源分配一级中断优先权,根据它们的高低顺序决定响应的先后。

一个中断处理过程中又有一个中断请求、并被响应处理,被称为中断嵌套。 必须在中断服务程序中打开中断,程序才会发生中断嵌套。

〔习题7.12〕明确如下中断有关的概念:中断源、中断请求、中断响应、关中断、开中断、中断返回、中断识别、中断优先权、中断嵌套、中断处理、中断服务。

〔解答〕

中断源:能引起中断的事件或原因。

中断请求:是外设通过硬件信号的形式、向处理器引脚发送有效请求信号。 中断响应:中断响应是在满足一定条件时,处理器进入中断响应总线周期。

.

.

关中断:禁止处理器响应可屏蔽中断。 开中断:允许处理器响应可屏蔽中断。

中断返回:处理器执行中断返回指令,将断点地址从堆栈中弹出,程序返回断点继续执行原来的程序。

中断识别:处理器识别出当前究竟是哪个中断源提出了请求,并明确与之相应的中断服务程序所在主存位置。

中断优先权:为每个中断源分配一级中断优先权,即系统设计者事先为每个中断源确定处理器响应他们的先后顺序。

中断嵌套:在一个中断处理过程中又有一个中断请求被响应处理,称为中断嵌套。

中断处理:接到中断请求信号后,随之产生的整个工作过程,称中断处理。 中断服务:指处理器执行相应的中断服务程序,进行数据传送等处理工作。

〔习题7.19〕中断控制器8259A中IRR,IMR和ISR三个寄存器的作用是什么? 〔解答〕

中断请求寄存器IRR:保存8条外界中断请求信号IR0~IR7的请求状态。Di位为1表示IRi引脚有中断请求;为0表示该引脚无请求。

中断屏蔽寄存器IMR:保存对中断请求信号IR的屏蔽状态。Di位为1表示IRi中断被屏蔽(禁止);为0表示允许该中断。

中断服务寄存器ISR:保存正在被8259A服务着的中断状态。Di位为1表示IRi中断正在服务中;为0表示没有被服务。

第8章 常用接口技术 〔习题8.1〕简答题

(1)为什么称8253/8254的工作方式1为可编程单稳脉冲工作方式? (2)为什么写入8253/8254的计数初值为0却代表最大的计数值?

(3)处理器通过8255的控制端口可以写入方式控制字和位控制字,8255如何区别这两个控制字呢?

(4)“8255具有锁存输出数据的能力”是什么意思?

① 方式1可以通过编程产生一个确定宽度的单稳脉冲,故称工作方式1为可编程单稳脉冲工作方式。

② 因为计数器是先减1,再判断是否为0,所以写入0实际代表最大计数值。 ③ 通过控制字的D7位来区别:D7=1,该控制字为方式控制字;否则为位控制字。

④ 8255的三种工作方式均可实现输出数据锁存,即数据输出后被保存在8255内部,可以读取出来,只有当8255再输出新一组数据时才改变。

.

.

〔习题8.3〕填空题

(1)8253芯片上有__________个__________位计数器通道,每个计数器有__________种工作方式可供选择。若设定某通道为方式0后,其输出引脚OUT为__________电平;当__________后通道开始计数,__________信号端每来一个脉冲__________就减1;当__________,则输出引脚输出__________电平,表示计数结束。

(3)8255具有__________个外设数据引脚,分成3个端口,引脚分别是__________,__________和__________。

(4)8255的A和B端口都定义为方式1输入,端口C上半部分定义为输出,则方式控制字是__________,其中D0位已经没有作用、可为0或1。

(5)对8255的控制寄存器写入A0H,则其端口C的PC7引脚被用作__________信号线。 〔解答〕

① 3,16,6,低,写入计数初值(并进入减1计数器),脉冲输入CLK,减法计数器,计数器的计数值减为0,高

③ 24,PA0~PA7,PB0~PB7,PC0~PC7 ④ 10110110(=B6H,B7H) ⑤

〔习题8.4〕8253芯片每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?

〔解答〕

CLK时钟输入信号:在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1。

GATE门控输入信号:控制计数器工作,可分成电平控制和上升沿控制两种类型。

OUT计数器输出信号:当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号。

〔习题8.5〕8253芯片需要几个I/O地址,各用于何种目的? 〔解答〕

4个,读写计数器0,1和2,及控制字。

〔习题8.6〕试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字I/O地址依次为204H~207H。

① 使计数器1工作在方式0,仅用8位二进制计数,计数初值为128。

.