单片机原理及接口技术课后习题答案(五) 下载本文

第 5 章

1.简述中断、中断源、中断优先级及中断嵌套的含义。 答:

① 中断:中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 

(采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机处理故障与应变的能力。)

② 中断源:中断源是指在计算机系统中向CPU发出中断请求的来源。

( 中断可以人为设定, 也可以是为响应突发性随机事件而设置。通常有I/O设备、实时控制系统中的随机参数和信息故障源等。)

③ 中断优先级:中断优先级越高, 则响应优先权就越高。当CPU正在执行中断服务程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂停当前的中断服务转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为中断嵌套。

2. MCS-51单片机提供几个中断源?几个中断优先级? 答:

提供5个中断源,分两个优先级。

3.简述TCON、SCON、IE、IP 4个特殊功能寄存器各位的定义及功能。 答:

① TCON:

TFi:内部定时器i溢出标志位,硬件置位,进入中断后硬件自动清除。 TRi:内部定时器i运行控制位,软件置位或清除。

IEi:外部中断i请求标志位,硬件置位,进入中断后硬件自动清除。 ITi:外部中断i类型控制位,由软件设置或清除。

ITi=1时是下降沿触 发;ITi=0时是低电平触发。 (i=0、1) ② SCON:

TI:串行口发送中断标志位。发送完一帧数据后,硬件置位TI,CPU响 应中断后,应由软件清除TI。

RI:串行口接收中断标志位。接收完一帧数据后,硬件置位RI,CPU响 应中断后,应由软件清除RI。

③ IE:

EA:中断总允许位。 EA=0,禁止一且中断,EA=1,是否允许中断由下各位定。 ES:串行口中断允许位。 ES=0,禁止串行口中断。ES=1允许串行口中断。 ET1:内部定时器1中断允许位。 ET1 =0,禁止T1中断, ET1 =1允许中断。 ET0:内部定时器0中断允许位。 ET0 =0,禁止T0中断, ET0 =1允许中断。 EX1:外部中断1允许位。 EX1 =0,禁止外部1中断,EX1 =1允许中断。 EX0:外部中断0允许位。 EX0 =0,禁止外部0中断,EX0 =1允许中断。

④ IP:

PS:串行口中断优先级设定位。

PT1:内部定时器1中断优先级设定位。 PX1:外部中断1中断优先级设定位。 PT0:内部定时器0中断优先级设定位。

PX0:外部中断0中断优先级设定位。

以上各位均是:置1定为高优先级;清零定为低优先级。 中断规则:(1)低优先级能被高优先级中断,反之不能。 (2)同级中断不能中断同级的中断程序。

4. 简述MCS-51单片机的中断响应过程。 答:

单片机一旦响应中断请求, 就由硬件完成以下功能: 

(1) 根据响应的中断源的中断优先级, 使相应的优先级状态触发器置 1;  (2) 执行硬件中断服务子程序调用, 并把当前程序计数器PC的内容压入堆栈;  (3) 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);  (4) 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC, 从而

转入相应的中断服务程序。

5. 说明MCS-51单片机响应中断后,中断服务程序的入口地址。 答:

① 外部中断0的入口地址: 0003H ② 定时器、计数器0中断的入口地址: 000BH ③ 外部中断1的入口地址: 0013H ④ 定时器、计数器1中断的入口地址: 001BH ⑤ 串行通信口中断的入口地址: 0023H

6.指出哪几个中断申请标志位在CPU响应该中断申请后能够被硬件自动清零? 答:

IE0、TF0、IE1、TF1

7.在MCS-51单片机的应用系统中,如果有多个中断源,怎样进行处理?

答: 可以采用中断与查询相结合的方法来实现。 可以使每个中断源都接在同一个外部中断输入端上, 同时利用输入口线作为多中断源情况下各中断源的识别线。

8.外部中断0和1的两种触发方式在原理上有何区别?如何用软件设置(说明一种)? 答:

⑴ 电平触发方式:在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。

适于外中断以低电平输入且中断服务程序能清除外部中断请求(即外部中断输入低电平又变为高电平)的情况。 ⑵ 下跳沿触发方式

连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则

置“1”中断请求标志,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持1个机器周期。

软件设置方法:

SETB IT0 ; 外部中断0的触发方式控制位置1,下跳沿触发中断

9.在一个应用系统中,晶振频率为12MHz,一个外部中断请求信号的宽度为300ns的负脉冲,应该采用哪种中断方式?如何实现? 答:采用电平触发方式; 实现方法:

CLR IT0 ; 外部中断0的触发方式控制位清零,低电平触发中断

10.MCS-51的中断服务程序能否放在64KB程序存储器的任意区域?如何实现? 答:可以;

实现方法:

在中断入口地址处放置一条 “LJMP add116” 指令。