单片机原理及应用技术(第3版)+李全利+习题答案 联系客服

发布时间 : 星期三 文章单片机原理及应用技术(第3版)+李全利+习题答案更新完毕开始阅读de5aa63de418964bcf84b9d528ea81c759f52e78

(1)MOV A,#88H----------------74H, 88H (2)MOV R3,50H----------------ABH,50H (3)MOV P1,#55H----------75H,90H,55H (4)ADD A,@R1---------------------27H (5)SETB 12H----------------------D2H,12H

10.完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指令序列。 (1)将R0的内容传送到R1;

(2)内部RAM单元60H的内容传送到寄存器R2;

(3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2;

(5)外部RAM单元1000H的内容传送到外部RAM单元2000H。 答:

(1)MOV A,R0 MOV R1,A (2)MOV R2,60H (3)MOV DPTR,#1000H MOVX A,@DPTR MOV 60H,A (4)MOV DPTR,#1000H MOVX A,@DPTR MOV R2,A (5)MOV DPTR,#1000H MOVX A,@DPTR

MOV DPTR,#2000H MOVX @DPTR, A

11.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。

MOV A,@R1 MOV @R1,40H MOV 40H,A MOV R1,#7FH 答: (R1)=7FH (A)=60H (30H)=08H (40H)=60H

- 78 -

12.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。

(1)MOV A,@R0 (2)ANL 40H,#0FH (3)ADD A,R4 (4)SWAP A (5)DEC @R1 (6)XCHD A,@R1 答:

(1)(A)=2CH (2)(40H)=0CH

(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0 (4)(A)=8EH (5)(20H)=0EH,P=1 (6)(A)=EFH,(20)=08H

13.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少?

MOV A,50H MOV R0,A MOV A,#00H MOV @R0,A MOV A,#3BH MOV 41H,A MOV 42H,41H 答:

(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH。 14.试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。 (1)使ACC.0置位; (2)清除累加器高4位;

(3)清除ACC.3,ACC.4,ACC.5,ACC.6。 答:

(1)SETB ACC.0 (2)ANL A,#0FH (3)ANL A,#87H

15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。 答:

MOV 2FH,20H

- 79 -

MOV 2EH,21H

MOV 2DH,22H

16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位。

答: CLR CY MOV 30H,#7FH MOV 31H,#4DH MOV R0, #31H MOV A,@R0 SUBB A ,#4E

MOV @R0,A ;保存低字节相减结果 DEC R0 MOV A, @R0 SUBB A,#2BH

MOV @R0,A ;保存高字节相减结果

17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。 答:

MOV A,R2 ANL A,#0F0H ORL R1,A

18.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存放高8位,R3中存放低8位。

答:

MOV A,20H MOV B,21H MUL AB MOV R3,A MOV R2,B

19.若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。

MOV P1.3,C MOV P1.4,C MOV C,P1.6 MOV P3.6,C MOV C,P1.0

- 80 -

MOV P3.4,C 答:

(CY)=1, (P1)=10111011B, (P3)=00111100B

章4 80C51的汇编语言程序设计

1.80C51单片机汇编语言有何特点? 答:

汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知。

但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。 2.利用80C51单片机汇编语言进行程序设计的步骤如何? 答: 一、任务分析

首先,要对单片机应用系统的设计目标进行深入分析,明确系统设计任务:功能要求和技术指标。然后对系统的运行环境进行调研。这是应用系统程序设计的基础和条件。

二、算法设计

经过任务分析和环境调研后,已经明确的功能要求和技术指标可以用数学方法(或模型)来描述,进而把一个实际的系统要求转化成由计算机进行处理的算法。并对各种算法进行分析比较,并进行合理的优化。

三、流程描述

程序的总体构建。先要确定程序结构和数据形式,资源分配和参数计算等。然后根据程序运行的过程,规划程序执行的逻辑顺序,用图形符号将程序流程绘制在平面图上。应用程序的功能通常可以分为若干部分,用流程图将具有一定功能的各部分有机地联系起来。

流程图可以分为总流程图和局部流程图。总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系;局部流程图反映程序模块的具体实施细节。

3.常用的程序结构有哪几种?特点如何? 答:

顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的; 分支程序:可以改变程序的执行顺序;

循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。

4.子程序调用时,参数的传递方法有哪几种? 答:

利用累加器或寄存器; 利用存储器; 利用堆栈。

- 81 -