单片机原理及应用张毅刚 课后习题答案完整版

(4)2KB=2048 Byte

7. 试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数,并将查找

到的结果存入41H单元。 答:参考程序如下:

START:

MOV

41H,#0

MOV MOV MOV JNZ INC INC DJNZ RET

R0,#20H R2,#20H A,@R0 NEXT 41H R0 R2,LOOP

LOOP:

NEXT:

8. 对例3-22中的程序进行修改,使其达到精确的50ms延时时间。

答:原来的程序:

ORG

0100H

R7,#200

;执行时间1μs

D50ms: D1: D2:

MOV

MOV R6,#125 DJNZ R6,D2 DJNZ R7,D1 RET

;执行时间1μs

;指令执行1次为2μs,总计 125×2=250μs ;指令执行时间2μs,本循环体执行200次 ;指令执行时间2μs

可对程序做如下修改:

ORG

D50ms: MOV D1:

MOV

0100H R7, #200 R6, #123

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

D2:

DJNZ R6, D2 NOP DJNZ RET

R7, D1

;增加的指令

程序修改后的延时时间为:1+(1+123*2+1+2)*200+2=50003μs= 9. 借助表3-2,对如下指令代码(十六进制)进行手工反汇编。

FFH,C0H,E0H,E5H,F0H,F0H

答:

MOV PUSH MOV

R7,A Acc

A,B

MOVX @DPTR,A

五、简答

1. 说明伪指令的作用。“伪”的含义是什么?常用伪指令有哪些?其功能如何?

答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。常用伪指令及功能如下:

ORG(ORiGin)汇编起始地址命令;END(END of assembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(Define Byte)定义数据字节命令;DW(Define Word)定义数据字命令;DS(Define Storage)定义存储区命令;BIT 位定义命令 2. 解释下列术语:

手工汇编、机器汇编、反汇编

答:

手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。这种人工查表“翻译”指令的方法称为“手工汇编”。

机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。

反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。 3. 设计子程序时应注意哪些问题?

答:编写子程序时应注意以下问题: 子程序的第一条指令前必须有标号。

主程序调用子程序,有如下两条子程序调用指令:

① 绝对调用指令ACALL addr11。被调用的子程序的首地址与绝对调用指令的下一条指令的高5位地址相同,即只能在同一个2KB区内。

② 长调用指令LCALL addr16。addr16为直接调用的目的地址,被调用的子程序可放置在64KB程序存储器区的任意位置。

子程序结构中必须用到堆栈,用来保护断点和现场保护。 子程序返回时,必须以RET指令结束。 子程序可以嵌套,但要注意堆栈的冲突。

4. 为什么对基本型的8051子系列单片机,其寄存器间接寻址方式(例如MOV A,@R0)中,

规定R0或R1的内容不能超过7FH?而对增强型的8052子系列单片机,R0或R1的内容就不受限制?

答:基本型的8051子系列单片机,由于其片内RAM的地址范围为00H~7FH,而80H~FFH为特殊功能寄存器区,而对特殊功能寄存器寻址,只能使用直接寻址方式。对片内RAM寻址,当使用寄存器间接寻址是采用R0或R1作为间接寻址的,因此R0或R1的内容不能超过7FH。

增强型的8052子系列单片机,片内RAM的地址范围为00H~FFH,因此作为间接寻址寄存器的R0或R1的内容就不受限制。

第4章 思考题及习题4参考答案

一、填空

1.外部中断1的中断入口地址为 。定时器T1的中断入口地址为 。

答:0013H;001BH

2.若(IP)=00010100B,则优先级最高者为 ,最低者为 。

答:外部中断1,定时器T1

3.AT89S52单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把

的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送入 ,使程序执行转向 中的中断地址区。 答:PC、PC、程序存储器

4.AT89S52单片机复位后,中断优先级最高的中断源是 。

答:外部中断0

5.当AT89S52单片机响应中断后,必须用软件清除的中断请求标志是 。

答:串行中断、定时器/计数器T2中断 二、单选

1.下列说法错误的是( )。

A. 同一级别的中断请求按时间的先后顺序响应

B. 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应

C. 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先

级中断请求 D. 同级中断不能嵌套 答:B

2.在AT89S52的中断请求源中,需要外加电路实现中断撤销的是( )。

A. 电平方式的外部中断请求

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