《单片机原理及应用》课后习题 答案

发布时间 : 星期六 文章《单片机原理及应用》课后习题 答案更新完毕开始阅读

Y

Y

源程序:

ORG 0000H

LJMP MAIN ORG 0100H MAIN:

MOV R2,#0FH MOV R0,#40H MOV A,@R0 SUB:

INC R0

MOV B,@R0 CJNE A,B,NEXT NEXT:

JC NEXT1 DJNZ R2,SUB JMP LAST

NEXT1:

MOV A,B DJNZ R2,SUB

17

JMP LAST LAST:

MOV 50H,A

SJMP $

4-13 将片内若干个RAM单元的内容复制到片外RAM单元,请用“主程序”调用“子程序”编程,要求子程序入口参数为:R0存放片内RAM起始地址,DPTR存放片外RAM起始地址,R1存放字节数。请分别编写主程序和子程序。 答:流程图

主程序

初始化常数 R0←40H

DPTR←0200H

R1←10H

调用复制子程序

结束

源程序:

ORG 0000H LJMP MAIN ORG 0100H MAIN:

MOV R1,#10H MOV R0,#40H

MOV DPTR,#0000H LCALL COPY SJMP $ COPY:

NEXT: MOV A,@R0

MOVX @DPTR,A INC R0 INC DPL

DJNZ R1,NEXT

子程序 开始 R0单元送DPTR 指针加1 R1-1=0? N Y 返回 18

RET

第5章

5-1 简述中断、中断源、中断源的优先级及中断嵌套的含义。 答: 当CPU正在处理某项事件的时,如果外界或内部发生了紧急情况,要求CPU暂停正在处理的工作转而去处理这个紧急情况,待处理完以后再回到原来被中断的地方,继续执行原来被中断了的程序,这样的过程称为中断。 向CPU提出中断请求的源称为中断源。

当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理中断优先高的请求。

在实际应用系统中,当CPU正在处理某个中断源,即正在执行中断服务程序时,会出现优先级更高的中断源申请中断。为了使更紧急的级别高的中断源及时得到服务,需要暂时中断(挂起)当前正在执行的级别较低的中断服务程序,去处理级别更高的中断源,待处理完以后,再返回到被中断了的中断服务程序继续执行,但级别相同或级别低的中断源不能中断级别高的中断服务,这就是所谓的中断嵌套。

5-2 MCS-51单片机能提供几个中断源?几个中断优先级?各个中断的源的优先级怎样确定?在同一优先级中各个中断源的优先级怎样确定?

答: MCS-51单片机能提供五个中断源,两个中断优先级。中断优先级是由片内的中断优先级寄存器IP(特殊功能寄存器)控制的。

PS:串行口中断优先级控制位。PS=1,串行口定义为高优先级中断源;PS=0,串行口定义为低优先级中断源。

PT1:T1中断优先级控制位。PT1=1,定时器/计数器1定义为高优先级中断源;PT1=0,定时器/计数器1定义为低优先级中断源。

PX1:外部中断1中断优先级控制位。PX1=1,外中断1定义为高优先级中断源;PX1=0,外中断1定义为低优先级中断源。

PT0:定时器/计数器0(T0)中断优先级控制位,功能同PT1。

PX0:外部中断0中断优先级控制位,功能同PX1。

在同一优先级中,循环轮流排队。不分级别高低,所有中断源优先级都一律平等,CPU轮流响应各个中断源的中断请求。 5-3 简述MCS-51单片机中断响应过程。

答:CPU在每个机器周期的S5P2时刻采样中断标志,而在下一个机器周期对采样到的中断进行查询。如果在前一个机器周期的S5P2有中断标志,则在查询周期内便会查询到并按优先级高低进行中断处理,中断系统将控制程序转入相应的中断服务程序。

5-4 MCS-51单片机外部中断有哪两种触发方式?如何选择?对外部中断源的触发脉冲或电平有何要求?

答:MCS-51单片机外部中断有:负边沿触发方式和电平触发方式。外部中断1(INT1)触发方式控制位。如果IT1为1,则外中断1为负边沿触发方式(CPU在每个机器周期的S5P2采样INT1脚的输入电平,如果在一个周期中采样到高电平,

19

在下个周期中采样到低电平,则硬件使IE1置1,向CPU请求中断);如果IT1为0,则外中断1为电平触发方式。采用电平触发时,输入到INT1的外部中断源必须保持低电平有效,直到该中断被响应。同时在中断返回前必须使电平变高,否则将会再次产生中断。

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

答:当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU在一个时刻只能响应并处理一个中断请求,为此,要进行排队。排队的方式有:

(1)按优先级排队。

(2)循环轮流排队。MCS-51单片机优先级比较简单,只有两级,可以通过优先级控制寄存器设置不同的优先级。当优先级相同时,约定有5个中断源优先级顺序由高到低分别为:外部中断0、定时器/计数器0溢出、外部中断1、定时器/计数器1溢出、串行口中断。

5-6 MCS-51有哪几种扩展外部中断源的方法?各有什么特点? 答:1) 利用定时器作为外部中断使用

特点:把MCS-51的两个定时器/计数器(T0和T1)选择为计数器方式,每当P3.4(T0)或P3.5(T1)引脚上发生负跳变时,T0和T1的计数器加1。可以把P3.4和P3.5引脚作为外部中断请求输入线,而定时器的溢出中断作为外部中断请求标志。

2)采用中断和查询相结合的方法扩充外部中断源

特点:这种方法是把系统中多个外部中断源经过与门连接到一个外部中断输入端(例如INT1),并同时还接到一个I/O口,中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序决定了中断源的优先级。

5-7 MCS-51单片机响应外部中断的典型时间是多少?在哪些情况下,CPU将推

迟对外部 中断请求的响应?

答:响应外部中断的典型时间是至少需要3个完整的机器周期。

1、外部中断INT0和INT1的电平在每个机器周期的S5P2时被采样并锁存到IE0和IE1中,这个置入到IE0和IE1的状态在下一个机器周期才被其内部的查询电路查询,未产生了一个中断请求。

2、没有满足响应的条件,CPU没有响应中断。

3、没有由硬件生成一条长调用指令转到相应的服务程序入口。

第6章

6-1 8051单片机内设有几个可编程的定时器/计数器?它们可以有4种工作方式,如何选择和设定?各有什么特点? 答:MCS-51单片机内部有两个16位可编程的定时器/计数器,即定时器T0和定

20

联系客服:779662525#qq.com(#替换为@)