单片机复习题2012

发布时间 : 星期二 文章单片机复习题2012更新完毕开始阅读

程序。

中断优先级指在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU一次只能响应一个中断源发出的中断请求,CPU响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。

2、MCS-51单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何

清除这些中断标志?各中断源所对应的中断矢量地址是多少?

答:MCS-51单片机提供了5个中断源,有2级中断优先级别。中断标志由特殊功能寄存器TCON

和SCON的相应位锁存。(见书中图6-4、6-6) 中断标志的撤消分为: 1)定时/计数器中断请求的撤消

中断请求被响应后,硬件会自动清TF0或TF1。 2)外部中断请求的撤消

(1)跳沿方式外部中断请求的撤消是自动撤消的。

(2)电平方式外部中断请求的撤消,除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。(见书中图例6-1) 3)串行口中断请求的撤消

响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能使用软件的方法。 CLR TI ;清TI标志位 CLR RI ;清RI标志位

各中断源对应的中断矢量地址分别为:

中断源 外部中断0 定时器T0中断 外部中断1 定时器T1中断 串行口中断

3、外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有

9

中断矢量 0003H 000BH 0013H 001BH 0023H 何不同?怎样设定?(了解)

答:采用中断电平触发方式时,中断请求标志IT0=0,CPU在每个机器周期的S5P2期间采样,

一旦在P3.2(INT0)引脚上检测到低电平,则有中断申请,使IE0置位(置1),向CPU申请中断。在电平触发方式中,在中断响应后中断标志位IE0的清0由硬件自动完成,但由于CPU对P3.2(INT0)引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0的IE0标志位重新置1,所以,在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。

采用边沿触发方式时,IT0=1,CPU在每个机器的S5P2期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0置1,向CPU申请中断,此标志位一直保持到CPU响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周期的时间。

4、试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?若可能,则应如何设

置中断源的中断级别?否则,请简述不可能的理由。

(1) 定时器T0中断,定时T1中断,外中断1NT0,外中断INT1,串行口中断; (2) 串行口中断,外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断; (3) 外中断INT0、定时器T1中断,外中断INT1,定时器T0中断,串行口中断。 答:(1)可以,将定时器T0中断,定时T1设置为高优先级中断,将外中断1NT0,外中断INT1,

串行口中断

(2)可以,将串行口中断设置为高优先级中断,将外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断设置为低优先级中断;

(3)不行,因为MCS-51单片机有2级中断优先级别,同级中断还存在按次序决定的第二优先级结构,由高到低依次为外中断1NT0、定时器T0中断、外中断INT1、定时器T1中断、串行口中断。

5、MCS-51中断响应时间是否固定?为什么? (了解) 答:MCS-51中断响应时间不固定。

对一个单一中断系统,MCS-51单片机对外部中断请求的响应时间在3—8个机器周期。外部中断的最短的响应时间为3个机器周期,其中中断请求标志位查询占1个机器周期,而这个机器周期恰好又是处于指令的最后一个机器周期,该指令结束后中断即被响应,CPU

10

接着执行子程序调用指令LCALL转到相应的中断服务程序入口,需2个机器周期,所以,外部中断响应最短时间为3个机器周期。

外部中断响应的最长时间为8个机器周期:发生在CPU进行中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,最长需2个机器周期。接着再执行一条指令,按最长指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。加上硬件子程序调用指令LCALL的执行,需要2个机器周期。所以,外部中断响应最长时间为8个机器周期。 对于多级中断系统,响应时间无法计算。

6、MCS-51 中若要扩充6个中断源,可采用哪些方法?如何确定它们的优先级?

答:可采用硬件申请与软件查询的方法,把多个中断源通过硬件“线或”或者经或非门,引

入外部中断源的输入端INT0、INT1,同时又连到某I/O口,这样,每个中断源都可能引起中断,但在中断服务程序中通过软件查询,就能确定哪一个是正在申请的中断源,其查询的次序则由中断优先级决定,这样就可实现多个外部中断源的扩展。

7、试叙述中断的作用和中断的全过程。

答:中断可用于单片机测控系统、CPU与外部设备交换信息中。中断的全过程包括中断请求、

中断允许、中断响应过程和中断请求撤消。

8、当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下

可响应新的中断请求?在什么情况下不能响应新的中断请求?

答:一个正在执行的低优先级中断程序能被高优先级的中断源所中断,但不能被另一个低优

先级的中断源所中断。若CPU正在执行高优先级的中断,则不能被任何中断源所中断。

第7章 MCS-51单片机定时计数器和串行接口

1、定时/计数器有哪些专用寄存器,它们有几种工作模式?如何设置?

答:有定时控制寄存器(TCON)和工作方式寄存器(TMOD),具有四种工作方式:方式0、

方式1、方式2和方式3,四种方式由工作方式寄存器(TMOD)的M1和M0两位决定。

2、如果采用晶振的频率为3MHz,定时/计数器工作方式0、1、2下,其最大的定时时间为多少? 答:内部定时脉冲周期=机器周期=12/3Mhz=4us

11

工作方式0:Tmax=8192*4us=32.768ms 工作方式1:Tmax=65536*4us=262.144ms 工作方式2:Tmax=256*4us=1.024ms

3、定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关

答:其计数脉冲由单片机振荡脉冲12分频输出的机器周期脉冲提供,定时时间与工作方式、

晶振频率和预置数等因素有关。

4、定时/计数器用作计数器时,对外界计数频率有何限制? 答:外部输入的计数脉冲的最高频率为振荡器频率的1/24。

5、采用定时/计数器T0对外部脉冲进行计数,每计数100个脉冲后,T0转为定时工作方式。定

时1ms后,又转为计数方式,如此循环不止。假定MCS-51单片机的晶体振荡器频率为6MHz,请使用方式1实现,要求编写出程序。 答: ORG 0000H START: CLR TR0 MOV TMOD, #05H MOV TH0, #0FFH MOV TL0, #9CH ;计数器初始化 S0: JBC TF0, NEXT SJMP S0 NEXT: CLR TR0 MOV TMOD, #01H MOV TH0, #0F8H MOV TL0, #30H ;定时器初始化 SETB TR0

S1: JBC TF0, START SJMP S1 END

12

联系合同范文客服:xxxxx#qq.com(#替换为@)