单片机原理和应用第二版张毅刚课后习题答案解析 下载本文

MOV A,@R1 SJMP LOOP2

MOV A,R3 DJNZ R2, LOOP

LOOP1: LOOP2:

MOV @R0,A RET

10.答:

(1)SP=SP+1=61H

SP=SP+1=62H

(61H)=PC的低字节=03H (62H)=PC的高字节=20H

(2)PC=3456H (3)不可以

(4)2KB=2048 Byte

11.答:可对程序做如下修改:

ORG 0100H MOV R7, #200

MOV R6, #123 DJNZ R6, DEL2

;增加的指令

;将原来的立即数125改为123

DEL: DEL1: DEL2:

NOP DJNZ R7, DEL1 RET

程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003us=50.003ms

第5章 AT89S51的中断系统

参考答案

1.答:0013H;001BH 2.答:外部中断1,定时器T1

3. 答:RETI指令在返回的同时清除相应的优先级触发器,以允许下次中断,而RET指令则没有这个操作。除了这一点两条指令不同外,其它操作都相同。

4.答:D

5. 答:在一个单一中断的系统里,AT89S51单片机对外部中断请求的响应时间总是在3~8个机器周期之间。

在下述三种情况下,AT89S51将推迟对外部中断请求的响应: (1)AT89S51正在处理同级或更高优先级的中断。

(2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。 (3)正在执行的指令是RETI或是访问IE或IP的指令。

如果存在上述三种情况之一,AT89S51将丢弃中断查询结果,将推迟对外部中断请求的响应。

6.答:D

7.答:PC、PC、程序存储器 8.答: 参考程序段如下:

SETB IT1

SETB EX1 SETB EA

9.答:(A)

10.答:一个中断源的中断请求被响应,必须满足以下必要条件: (1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。 (2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。 11.答:(A)、(C)、(D)

12.答:参见电路如图5-10,参考程序如下:

ORG 0000H LJMP MAIN ORG 0013H LJMP INT_EX1 ORG 0030H CLR

IT0

;采用电平触发,低电平有效中断 ;允许外部中断1

MAIN:

SETB EX1 SETB EA

;插入一段用户程序

WAIT: MOV PCON,#01H ;单片机进入休眠方式等待中断

NOP LJMP WAIT

;以下为外部中断1服务子程序 INT_EX1:

JB P1.2,NEXT1

;判断是不是3号中断

LJMP INT_IR3 ;跳转到3号中断处理程序

NEXT1: JB P1.1,NEXT2

LJMP INT_IR2

;判断是不是2号中断 ;跳转到2号中断处理程序 ;跳转到1号中断处理程序

NEXT2: LJMP INT_IR1

ORG 1000H

INT_IR3: 相应中断处理程序

RETI

;中断返回

ORG 1100H

INT_IR2: 相应中断处理程序

RETI

;中断返回

ORG 1200H

INT_IR1: 相应中断处理程序

RETI

;中断返回

第6章 AT89S51的定时/计数器

参考答案

1.答:(A)对;(B)错;(C)错;(D)错; 2.答:因为机器周期:

1212 Tcy???4(?s)6fOSC3?10

所以定时器/计数器工作方式0下,其最大定时时间为

TMAX?213?TC?213?4?10?6?8.192(ms)

同样可以求得方式1下的最大定时时间为262.144ms;方式2下的最大定时时间为1024ms。

3.答:定时/计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号12分频后提供。定时时间与时钟频率和定时初值有关。