单片机原理及应用第二版张毅刚课后习题复习资料

发布时间 : 星期日 文章单片机原理及应用第二版张毅刚课后习题复习资料更新完毕开始阅读

DS(Define Storage)定义存储区命令;BIT 位定义命令

2. 答:

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

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

反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。 3.答:从1000H开始的各有关存储单元的内容(16进制)如下:

4D 41 49 4E 12 34 30 00 00 70

4.在编写子程序时应注意以下问题: (1)子程序的第一条指令前必须有标号。

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

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

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

(3)子程序结构中必须用到堆栈,用来保护断点和现场保护。 (4)子程序返回时,必须以RET指令结束。 (5)子程序可以嵌套,但要注意堆栈的冲突。 5.答:参考程序如下:

MOV A,45H ANL A,#0FH ORL A,#0FH MOV 45H,A

6.答:A=80H ,SP=40H,(41H)=50H,(42H)=80H ,PC=8050H 7.答:参考程序如下:

START: MOV R0,#30H MOV R2,#20H LOOP: MOV A,@R0 CJNE A,#0AAH,NEXT MOV 51H,#01H LJMP EXIT NEXT: INC R0

EXIT: DJNZ MOV RET

R2,LOOP 51H,#00H

8.答:参考程序如下:

START: MOV 41H,#0 MOV R0,#20H MOV R2,#20H LOOP: MOV A,@R0 JNZ NEXT INC 41H NEXT: INC R0 DJNZ R2,LOOP RET

9.答:参考程序如下:

ORG 0100H MOV R2, #20H 要比较的数据字节数 MOV A , #21H MOV R1 , A DEC R2 MOV A , @R1

LOOP: MOV R3,A DEC R1 CLR C SUBB A,@R1 JNC LOOP1 MOV A,@R1 SJMP LOOP2

LOOP1: MOV A,R3

LOOP2: DJNZ R2, LOOP 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.答:可对程序做如下修改:

DEL: DEL1:

ORG 0100H MOV R7, #200 MOV R6, #123

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

DEL2:

DJNZ R6, 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

SETB SETB

IT1 EX1 EA

9.答:(A)

10.答:一个中断源的中断请求被响应,必须满足以下必要条件: (1)总中断允许开关接通,即IE寄存器中的中断总允许位EA=1。

(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断被允许。 (4)无同级或更高级中断正在被服务。 11.答:(A)、(C)、(D)

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

ORG LJMP ORG LJMP ORG

0000H MAIN 0013H INT_EX1 0030H

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

MAIN:

CLR IT0 SETB SETB

EX1 EA

;插入一段用户程序 WAIT:

MOV NOP LJMP

WAIT

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

;以下为外部中断1服务子程序 INT_EX1: JB P1.2,NEXT1

LJMP

INT_IR3

;判断是不是3号中断

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

NEXT1: JB P1.1,NEXT2

LJMP

INT_IR2

NEXT2: LJMP

INT_IR1

1000H

;跳转到1号中断处理程序

ORG

INT_IR3:

相应中断处理程序 RETI ORG

;中断返回

1100H

INT_IR2:

相应中断处理程序 RETI ORG

;中断返回

1200H

INT_IR1: 相应中断处理程序

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