单片机原理及应用曹克澄课程课后习题答案.pdf

上传人:奔*** 文档编号:91494310 上传时间:2023-05-27 格式:PDF 页数:51 大小:6.79MB
返回 下载 相关 举报
单片机原理及应用曹克澄课程课后习题答案.pdf_第1页
第1页 / 共51页
单片机原理及应用曹克澄课程课后习题答案.pdf_第2页
第2页 / 共51页
点击查看更多>>
资源描述

《单片机原理及应用曹克澄课程课后习题答案.pdf》由会员分享,可在线阅读,更多相关《单片机原理及应用曹克澄课程课后习题答案.pdf(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 单片机原理及应用习题答案第一章基础知识1.微型计算机主要由哪儿部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CP U)、存储器、I/O 接口及I/O 设备等组成,相互之间通过三组总线(B u s):即地址总线A B、数据总线DB 和控制总线CB 来连接。CP U 由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为R A M 和 R O M o输入/输 出(I/O)接口是CP U 与外部设备进行信息交换的部件。总线是将CP U、存储器和I/O 接口等相对独立的

2、功能部件连接起来,并传送信息的公共通道。2.将下列十进制数分别转换成为二进制数,十六进制数和B CD码数的形式:100,6 4,7 8,8 0解:1)100=1100100B=6 4 H=0001 0000 0000B CD;2)6 4=1000000B=4 0H=0110 0100B CD;3)7 8=1001110B=4 EH=0111 l O O O B CDo3 .写出下列十六进制无符号数对应的十进制数和二进制:0D5 H,6 4 H,2CH,4 F EH解:1)0D5 H=213=11010101B;2)6 4 H=100=1100100B;3)2CH=4 4=101100B;4)4

3、 F EH=127 8=10011111110B o4 .写出下列十进制数对应的二进制原码、反码和补码:+3 5,+5 0,-10,-20解:1)+3 5 =(23 H)原二(23 H)反 二=(23 H)扑;2)+5 0=(3 2H)原二(3 2H)反 二=(3 2H)扑;3)-10=(8 A H)原=(0F 5 H)反=(0F 6 H)4)-20=(94 H)原=(0EB H)反=(0ECH)5.根据给定的原码、反码、补码求真值。1)(OCBH)原=(-75)其 他;2)(8BH)反=(-116)面 值;3)(9BH)补=(-101)真 值;4)(6BH)补=(+107)贪 值;解:1)(

4、0CBH)E=(-75)ftffi;2)(8BH)s=(-l 16)3)(9BH)补=(-101)贪 值;4)(6BH)补=(+107)其 值;6.试分别判断下列各组数据大小?1)A=0.01 IB B=0.Oil C=0.011H2)A=1001B B=1001 C=1001H解:1)A=0.011B=0X2+1 X2+l X2;i=0.25+0.125=0.375;B=0.OilC=0.011H=0X16+1X 162+1X 163=0.004150390625所以:ABC2)A=1001B=9;B=1001;C=1001H=4097所以:ABC7.先将下列各组数据转换为补码表示的带符号数

5、,然后用进行补码运算,再将结果还原成原码,并写出对应的十进制数检验结果是否正确。1)(-74)+412)(-74)-41解:根据补码定义有:-74=(0B6H)扑,+41=(29H)朴,-41=(0D7H)补1)(-74)+41扑=(-74)补 +(41)补=(0B6H+29H)补=(ODFH)补(33)真 值十进制数运算:(-74)+41=-33所以:二者运算结果相同。2)(-74)-41补=(-74)补 +(-41)扑=(0B6H+0D7H)补=(8DH)补=(一口5)我 值十进制数运算:(-74)41=115所以:二者运算结果相同。8 .何谓单片机?单片机有何特点?答:单片机(S i n

6、 g l e Chi p M i c ro c o m p u ter)是指把CP U、R A M、R O M、定时器/计数器以及I/O 接口电路等主要部件集成在一块半导体芯片上的微型计算机。单片机在控制应用领域中的特点:(1)体积小、结构简单、可靠性高;(2)控制功能强;(3)低电压、低功耗;(4)优异的性价比。9.单片机内部R O M的配置有儿种形式?答:单片机片内R O M的配置状态可分四种:(1)片内掩膜(Ma s k)R O M型单片机(如80 5 1),适合于定型大批量应用产品的生产;(2)片内E P R O M型单片机(如875 1),适合于研制产品样机;(3)片内无R O M型

7、单片机(如80 3 1),需外接E P R O M,单片机扩展灵活,适用于研制新产品;(4)E E P R O M(或F l a s h R O M)型单片机(如89c 5 1),内部程序存储器电可擦除,使用更方便。第2章MCS-51系列单片机的结构和时序1.8051单片机内包含哪些主要功能部件?各有什么功能?答:8051单片机是一个完整的单片微型计算机。它包括以下功能部件:(1)1 个 8 位 CPU;(2)片内4KB的程序存储器ROM;(3)片内128B的数据存储器RAM;(4)可寻址外部程序存储器和数据存储器空间各64KB的控制电路;(5)21个特殊功能寄存器SFR;(6)4个8位并行I

8、/O 口 P0P3,共32根I/O线;(7)1个全双工的串行口;(8)2个16位定时器/计数器;(9)5个中断源,有2个优先级嵌套中断结构;(10)片内振荡器及时钟电路。2.8051单 身L的E A信号有何功能?8031的E A引脚应如何处理,为什么?答:E A是访问外部程序存储器ROM的控制信号。当於为低电平(接地)时,CPU只执行外部程序存储器中的程序。当E A为高电平且PC值小于OFFFH(4K)时,CPU执行内部程序存储器的程序,但当PC的值超出4K时(对8051/8751/8951)将自动转去执行片外程序存储超的程序。8031单片机无片内ROM的,必须外部扩展程序存储器,因此,803

9、1的E A必须接地(低电平)。3.MCS-51单片机的P0-P3 口各有什么特点?答:MCS-51单片机有P0、P l、P2、P3四个双向的8位并行I/O 口,每个端口可以按字节输入或输出,每一条I/O线也可以单独用作输入或输出(即按位进行输入或输出)。每个端口都是由一个锁存器(即特殊功能寄存器P0P3),一个输出驱动器和两个(P3口为3个)输入缓冲器组成。并行I/O 口作输出时数据可以锁存,作输入时数据可以缓冲,但它们又各具特点。(DP0 口和P2 口构成MCS-51单片机的16位地址总线,P0 口还是8位的数据总线。P3 口多用于第二功能输入或输出。通常只有P1 口用于一般输入/输出。P3

10、 口各位的第二功能P3 口引脚第二功能P3 口引脚第二功能P3.0RXD(串行输入端)P3.4T0(定时器0的外部输入)(2)系统复位后,P 0P 3 口的3 2 个管脚均输出高电平,因此在系统的设计过程中,应保证这些管脚控制的外设不会因为系统复位而发生误动作。P 3.1T X D (串行输出端)P 3.5T 1 (定时器1 的外部输入)P 3.2I N T O (外部中断0 输入)P 3.6W R (片外数据存储器写选通控制输出)P 3.3I N T 1 (外部中断1 输入)P 3.7R D (片外数据存储器读选通控制输出)(3)P O-P 3 口输出级的电路结构有所不同。P 0 口是三态输

11、出,其每个管脚均可以驱动8个L ST T L 输入,而P 1-P 3 口的输出级均有上拉电阻,每个管脚可驱动4个 L ST T L输入。(4)每个并行口,可定义一部分管脚为输入脚,另一部分管脚为输出脚,没有使用的管脚可以悬空。4.简述8 0 5 1 单片机存储器的组织结构和片内R A M 的地址空间分配。答:8 0 5 1 单片机的存储器包括程序存储器和数据存储器,从用户使用的角度可分为三个逻辑地址空间:(1)片内、片外统一编址的6 4 K B 程序存储器地址空间0 0 0 0 HO F F F F H;(2)6 4 K B 的外部数据存储器或扩展I/O 口地址空间0 0 0 0 HO F F

12、 F F H;(3)2 5 6 B 的片内数据存储器地址空间0 0 HF F H(包括低1 2 8 B 的内部R A M 地址0 0 H7 F H 和高1 2 8 B 的特殊功能寄存器地址空间,2 1 个 SF R 离散地分布在这个区域)。内部R A M 共 有 1 2 8 个单元,根据用途可划分为工作寄存器区、位寻址区和通用R A M区,各区域的特性如下:(1)工作寄存器区(0 0 H1 F H)寄存器区3 2 个单元共分4个组,每个组有8 个 8位的寄存器R 0R 7。在任何时刻,四个组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部R A M 使用。当前工作寄存器组由程序

13、状态字寄存器P SW 的 R SO和 R S1 两位的状态来决定。(2)位寻址区(2 0 H2 F H)共 1 6 个单元,每个单元有8个位,每个位都有一个位地址,编号为0 0 H7 F H,位寻址区的1 6 个单元也可以按字节寻址,作为一般的内部R A M使用。(3)通用R A M 区(3 0 H-7 F H)这部分存储空间作为一般的内部R A M 区或堆栈区,CP U 只能按字节方式寻址。5.8 0 5 1 单片机有哪些特殊功能寄存器?答:8 0 5 1 单片机有2 1 个 8 位的特殊功能寄存器(SF R),它们的地址离散地分部在内部数据存储器的8 0 H F F H 地址空间。在 8

14、0 5 1 单片机结构中,2 1 个 SF R 在物理上是分散在片内各功能部件中:(1)CP U 的中 SF R:Acc、B、P SW、SP 和 D P T R (1 6 位寄存器,由 D P H 和 D P L 组成);(2)定时/计数器单元中的寄存器:T M O D、T CO N、T 0 (1 6 位寄存器,由T H O 和 T L O组成)和 T 1 (1 6 位寄存器,由T H 1 和 T L 1 组成);(3)并行 I/O 口寄存器:P O、P l、P 2 和 P 3;(4)中断系统内的寄存器:I E 和 I P;(5)串行端口中的寄存器:SCO N、SB U F 和 P CO N。

15、6 .程序计数器P C的功能和特点?答:程序计数器P C是一个1 6 位的专用寄存器,用来存放即将要执行的指令地址,可对 6 4 K B 的程序存储器直接寻址。它具有自动加1 功能,当CP U 要取指令时,P C的内容送地址总线上,从存储器中取出指令后,P C 内容则自动加1,指向下一条指令,从而保证程序按顺序执行。P C虽然也是CP U 内部的一个寄存器,但它在物理结构上是独立的,没有地址,是不可寻址的,用户无法对它进行直接读写,不属特殊功能寄存器。7 .什么叫堆栈?堆栈指针SP 的作用是什么?8 0 5 1 单片机堆栈的最大容量是多少字节?答:堆栈是按照“先进后出,后进先出”的原则来存取数

16、据的一个内部R A M 区域,这个存储器区域的一端是固定的(栈底),另一端是活动的(栈顶),每个存储单元是不能按字节任意访问的。堆栈指针SP 始终指向栈顶单元,栈顶随着数据入栈和出栈上下浮动。8 0 5 1 单片机堆栈的最大容量是1 2 8 字节。8 .8 0 5 1 单片机是如何确定和改变当前工作寄存器组?答:在任何时刻,8 0 5 1 单片机的四个工作寄存器组中只能有一组可以成为当前工作寄存器组使用,其他三组作为一般的内部RA M 使用。当前工作寄存器组由程序状态字寄存器PS W 的RS O和 RS 1 两位的状态来决定,如表所示。当前工作寄存器组的选择RS 1 RS O被选寄存器组寄存器

17、R0-R7 的地址000 组0 0 H-0 7 H011 组0 8 H-0 F H102 组1 0 H-1 7 H113 组1 8 H-1 F H根据需要,用户可以利用传送指令或位操作指令改变RS 1 和 RS O的内容来选择不同的工作寄存器组。9 .单片机复位后,C PU 使用了哪一组工作寄存器?工作寄存器R0R7 对应的单元地址是什么?答:单片机复位后,RS 1 和 RS O都为0,C PU 选中第0组作为当前工作寄存器组,工作寄存器ROR7 对应的单元地址是0 0 H0 7 H。1 0.程序状态字寄存器PS W 的作用是什么?各位的作用是什么?答:PS W 是一个8 位的特殊功能寄存器,

18、由一些标志位组成,用于存放程序运行中的各种状态信息。它可以进行位寻址。各位的作用如下:C y:进位标志位。在进行加(或减)法运算时,若操作结果的最高位(D 7 位)有进位(或借位)时,C y 由硬件置1,否则C y 清 0。在进行位操作时,C y 又是位累加器,指令助记符用C表示。A C:辅助进位标志位。在进行加(或减)运算时,若操作结果的低半字节(D 3 位)向高半字节产生进位(或借位)时,A C 位将由硬件自动置1,否则A C 位清0。F 0:用户标志位。用户根据需要对F 0 置位或复位,作为软件标志。RS 1 和 RS O:工作寄存器组选择控制位。由用户用软件改变RS 1 和 RS O的

19、状态,以选择内RA M 中的哪组工作寄存器为当前工作寄存器组。0 V:溢出标志位。当进行补码运算时,运算结果超出一1 2 8+1 2 7 范围时,产生溢出,贝 U OV 自动置1,否则0 V 清 0。PS W.1:保留位。8 0 5 1 中未定义。P:奇偶校验标志位。每条指令执行完后,该位始终跟踪累加器A中 1 的数目的奇偶性。如果A中有奇数个1,则 P=l;否则P=0。1 1.什么是时钟周期、机器周期和指令周期?答:(1)时钟周期(又称为振荡周期)是指振荡器产生一个振荡脉冲信号所用的时间,是振荡频率的倒数,称为拍节。(2)机器周期是指C PU 完成某一个规定操作所需的时间,8 0 5 1 单

20、片机的一个机器周期包含6 个状态,并依次表示为S 1S 6,每个状态分为2个节拍。因此一个机器周期包含 1 2 个时钟周期(振荡周期),依次表示为:S 1 PK S 1 P2、S 2 P1、S 6 P1、S 6 P2。(3)指令周期是指C PU 执行一条指令所需要的时间称为指令周期。M C S-5 1 单片机指令周期根据指令的不同,可包含有1 或 2 或 4个机器周期。1 2.8 0 5 1 单片机复位后寄存器PC、A、PS W、SP、P0-P3 的状态各是什么?复位后内部RA M 中的数据有何影响?答:8 0 5 1 单片机复位后PC 为 0 0 0 0 H,A 和 PS W 均为OOH,S

21、 P为0 7 H,P0-P3 均为F F H。单片机的复位不影响内部RA M 的状态(包括工作寄存器Rn )o1 3.8 0 c5 1 如何进入节电工作方式?答:只有C HM OS 型单片机(如8 0 c5 1)才有这种工作方式,有两种节电方式,即待机方式和掉电保护方式。由片内S F R 中的电源控制寄存器P C O N 的低4 位来控制待机和掉电两种方式,其格式如下:位D 7D 6D 5D 4D 3D 2D 1D O位名称S MO DG F 1G F 0P DI D L(1)I D L:待机方式位。若 I D L=1,进入待机方式;(2)P D:掉电方式位。若P D=1,进入掉电方式;当P

22、D 和 I D L 同时为1,则先进入掉电工作方式。复位后,P C O N 中有定义的位均为O o第3章MCS-51系列单片机指令系统1 .简述汇编指令格式。答:汇编语言的指令格式一般如下:标号:操作码 第一操作数3第二操作数,第三操作数;注释其中:带有方括号 的部分代表可选项。标号:是表示该指令的符号地位,可以根据需要进行设置。标号以英文字母开始的16个字母或数字组成的字符串表示,并 以“:”结尾。操作码:是表示指令的操作功能,用助记符表示。每条指令都有操作码,是指令的核心部分。操作数:表示参与传送、运算的数据或数据地址。这里的操作数不一定就是直接参与运算或传送的,而应根据操作数的寻址方式,

23、寻找出真正参与运算或传送的数据。二个或二个以上操作数之间用“,”间隔。注释:用来解释该条指令或一段程序的功能,便于对指令或程序的阅读理解。注释以“;”为开始,注释部分对程序的执行没有影响。2.什么叫寻址方式?在MC S 51系列单片机指令系统中,主要有哪儿种寻址方式?试分别举例说明。答:寻址就是寻找操作数的地址,寻找操作数地址的方式,称为操作数地址的寻址方式,简称寻址方式。在MC S 51系列单片机指令系统中,主要的寻址方式有:(1)立即寻址方式,指令如:M O V A,#67H;(2)立即寻址方式,指令如:M O V A,66H;(3)寄存器寻址方,指令如:M O V A,R 3;(4)寄存

24、器间接寻址方式,指令如:M O V A,R 1;(5)变址寻址方式,指令如:MO VC A,A +D P T R;(6)相对寻址方式,指令如:S J MP 30 H;(7)位寻址方式,指令如:M O V A C C.3,C y3.试说明下列指令中划线部分的寻址方式。MO V A,R 0A D D A,#36HMO VC A,A+P CD J N Z R 2,r e lS E T B R S IC L R AMO V 45H,AC L R C解:第1条为寄存间接寻址方式;第2条指令为立即寻址方式;第3条指令为变址寻址方式;第4条指令为相对寻址方式,第5条指令为位寻址方式,第6条指令为寄存器寻址,

25、第6条指令为直接寻址方式,第7条指令为位寻址方式。4.设 A=9 B H,R 0 =30 H,内 R A M 的(30 H)=40 H,(40 H)=6 D H,分别执行下列指令,说明被真正传送的数据是多少?1)MO V A,#40 H2)MO V 40 H,R 03)MO V A,30 H4)MO V A,R 05)MO V A,R O答:1)真正被传送的数据是立即数40 H。2)真正被传送的数据是R 0间址中(即30 H单元中)的数据40 H。3)真正被 传送的数据是30 H单元中的数据40 H。4)真正被传送的数据是R 0间址中(即30 H单元中)的数据40 H。5)真正被传送的数据是R

26、 0中的数据30 H o5.设 A=86H,R 0 =30 H,R l=4 0 H,内 R A M 的(30 H)=76H,(40 H)=6 B H,执行下面程序:MO VA,40 HMO V R 0,AMO VA,R OMO V R 1,AMO VR I,AMO V R 1,#70 H后,A=_R 0=_R I=_ _ _ _,(30 H)=_ _ _ _,(40 H)解:MO VA,40 H;A=6B HMO V R 0,A;(R 0)=(30 H)=6B HMO VA,R O;A=30 HMO V R 1,A;(R l)=(40 H)=30 HMO VR I,A;R l=30 HMO V

27、 R 1,#70 H;(R l)=(30 H)=70 H所以:A=30 H ,R 0=30 H ,R l=30 H ,(30 H)-70 H ,(40 H)=30 H6.设 A=65H,R 0 =30 H,R 1 =31 H,R 2=32H,内 R A M 的(30 H)=40 H,(31 H)=50 H,(32H)=60 H,(40 H)=70 H,(50 H)=8 0 H,执行下面程序:X C H D A,R 1MO V40 H,AS W A P AMO V50 H,AX C H A,R 2MO V R 0,A后,A=_ _R 0=_R l=_R 2=_ _ _ _,(30 H)=_(31

28、 H)=_ _ _ _,(32H)=(40 H)=_ _ _ _,(50 H)=.解:X C H D A,R 1;A=60 H,(R 1)=(31 H)=55HMO V40 H,A;(40 H)=60 HS W A P A;A=0 6HMO V50 H,A;(50 H)=0 6HX C H A,R 2;A=32H,R 2=0 6HMO V R 0,A;(R 0)=(30 H)=32H所以:A=32H ,R 0=30 H ,R l=31 H ,R 2=0 6H,(30 H)=32H ,(31 H)-55H ,(32H)=60 H ,(40 H)=60 H ,(50 H)=0 6H7.执行下面程序

29、后,试问:A=?O R G 1 0 0 0 HMO V D P T R,#1 0 20 HMO V A,#0 3HMO VC A,A+D P T RR E TO R G 1 0 20 HD B 56H,78H,65H,29 H,1 0 H解:O R G 1 0 0 0 HMO VD P T R,#1 0 20 H;D P T R=1 0 20 HMO VA,#0 3H;A=0 3HMO VC A,A+D P T R;A=(1 0 23H)=29 HR E TO R G 1 0 20 HD B 56H,78H,65H,29 H,1 0 H所以:A=29 H8.试用数据传送指令来实现下列要求的数据

30、传送。1)将 R 2中的内容送到R 3中。2)将内R A M 30 H 单元中的内容与外R A M 20 40 H 单元中的内容交换。3)将 R O M 204 0H单元中的数据存放在内R A M 50H单元中。4)将外R A M 30H单元中的内容送到R 2中。5)将 R 2与 R 3中的内容进行交换。6)将 R O M解:1)2100H单元中内容送外R A M 3165H单元中。M O V A,R 2M O V R 3,A2)M O V D P TR 204 0HM O VX A,D P TRM O V R I,AM O V A,30HM O VX D P TR,AM O V 30H,R

31、I3)M O V A,#00HM O V D P TR,#204 0HM O VC A,A+D P TRM O V 50H,A4)M O V R O,#30HM O VX A,R 0M O V R 2,A5)XC H A,R 2XC H A,R 3XC H A,R 26)M O V A,#00HM O V D P TR,#21O O HM O VC A,A+D P TRM O V D P TR,S3165HM O VX D P TR,A9.设A=7E H,R 0=4 0H,(4 0H)=9A H,B=23H,C y=L 分别执行下列指令后,试问:A=?各标志位为什么状态?1)A D D A,R

32、 0I=d 0=K 3 4HQ d0=9 T 0 n n i I=VV 31H(8l=d O=A O 0=0V 0=4 HQ =I-H 0 -H a Z =3-0 H-V=VO H v aan s (zO=d O=A O 0=3V O=g 4H2S=I-H 9 g-H a z=-H 9 g-V=vH 9S#V 99n s (9I=d HdZ=I+H3Z=H-V=VV 3N I (9O=d 4H a Z=V=(HO北)=(O H)HV6=(HO V)=(O H)=VO H V H3X 0Hz ao=vV dVM S(I=cI I=A 00=3 V 0=g 4H d 9 0=I+H 0 +H 9

33、Z=xD+0 H+V=VO H V O Q Q V(Z0=d 0=A 0 I=3 V l=X 3 H8 I=HV6+HU2.=(H O D +V=(O H)+V=VO H Vaav(i湖V 3 设1 (O S9V A ia(619V Q flW(8 1v oaa a lH dO#V1N V(91HO dO#HO北I M O (SIV*HO fr1 NV 盼 4V 3HX(SIH d8#V(SIO M VV1N V(I I1d3(01V 澄1 (6V 33H(8O H V g m s (LH 9S#V 99flS(9V 3N I (9O H V HO X(北V dVM S(ox V oaav(z

34、9)R R AA=00111111B=3F H,P=010)C P L AA=8 1H,P=011)A N L A,R 0A=A A (R O)=A A (4 0H)=7E HA 9A H=1A H,P=112)O R L A,#8 F HA=A V8 F H=7E HV8 F H=0F F H,P=013)XR L A,4 0HA=A (4 0H)=7E H 9A H=0E 4 H,P=014)A N L 4 0H,A(4 0H)=(4 0H)A A=9A HA 7E H=1A H,A=7E H15)O R L 4 0H,#0F 0H(4 0H)-(4 0H)V O F O H=9A H V

35、 O F O H=O F A H,A=7E H16)A N L A,#O F HA=A A 0F H=7E HA 0F H=0E H,P=117)D E C AA=A-1=7E H-1=7D H,P=018)M UL A BA XB=7E HX23H=01111110B X00100011B=0001 0001 0011 1010B=113A HB=11H,A=3A H,O V=1,P=O19)D I V A BA+B=7E H+23H=0111 lllO B-O O lO 0011B=0000 0011B 余 0001 0101BA=03H,B=15H,O V=O,P=O20)R R C A

36、A=O B F H,C y=O,P=110.试编写程序,要求将内R A M 30H-4 F H中的内容平移送到4 0H-5F H中。解:(参考程序)STA R T:M O V R O,#4 F HM O V R 1,#5F HM O V R 2,#20HL O O P:M O V A,R 0M O V R 1,AD E C R OD E C R ID J N Z R 2,L O O PE N D11.试编写程序,将内R A M 的30H4 F H中的内容清零。解:(参考程序)STA R T:M O V R O,#30HC L R AM O V R 2,#20HL O O P:M O V R 0

37、,AI N C R OD J N Z R 2,L O O PE N D12.试编写程序,在内R A M 的30H-4 F H中查找关键字O A H,若有,则将内R A M 的50H单元置为01H,并将找到的存放第一个关键字的单元地址存放在内R A M 的52H单元中。解:(参考程序)STA R T:M O V R O,#30HM O V R 2,#20HM O V 50H,#00HL O O P 1:C J N E R 0,#O A H,L 00P 2M O V 50H,#01HM O V 52H,R OSJ M P L 00P 3L 00P 2:I N C R OD J N Z R 2,L

38、00P 1L 00P 3:E N D13.在内R A M 从 30H到 3F H单元中存放着符号数,要求统计正数、零、负数的个数,结果分别存放在内R A M 的4 0H、4 1H、4 2H三个单元中。解:(参考程序)STA R T:M O V R O,#30HM O V R 2,#10HM O V 4 0H,#00HM O V 4 1H,#00HM O V 4 2H,#00HL O O P 1:M O V A,R 0J N Z L 00P 2I N C 4 1HSJ M P L 00P 4;判断A是否为非0,非 0 转移;零的个数统计量加1L O O P 2:川 A C C.7,L O O P

39、 3;判断A是否为负数,是负数则转移I N C 4 0H;正数的个数统计量加1SJ M P L 00P 4L O O P 3:I N C 4 2H;负数的个数统计量加1L O O P 4:I N C R 0D J N Z R 2,L 00P 1E N D14.分析执行下面各段程序的结果。(1)O R G1000HM O VA,#34 HA D D A,#78 HD A AR E TA =,0V=,P=,C y=,A C =解:O R G1000HM O VA,#34 H;A=34 HA D D A,#78 H;A=A+78 H=34 H+78 H=0A C H,C y=0,A C=0,O V=

40、1,P=0D A A;A=A+66H=0A C H+66H=12H,C y=l,A C=0,0V=0,P=0R E T所以:A =12H,0V=0,.P=0,C y=1 ,A C=0(2)M O VSP,#5F HM O VA,#54 HM O VB,#78 HP USHAP USHBP O P AP O P BR E TA=,B=,SP=解:M O VSP,#5F H;SP=5F HM O VA,#54 H;A=54 HM O VP USHP USHP O PP O PR E T所以:A=78 HB,#78 HABABB=54 H;B=78 H;SP=60H,(SP)=(60H)=54 H:

41、SP=61H,(SP)=(61H)=78 H;A=(SP)=(61H)=78 H,SP=60H;B=(SP)=(60H)=54 H,SP=5F HSP=5F H(3)M O V A,#7D HA D D A,#6B HM O V R O,#34 HM O V 34 H,#O B C HA D D C A,R 0XR L A,R OO R L A,34 HM O V R 0,ASWA P AXC H A,R OR E TA=_,R O=_,(34 H)=_解:M O V A,#7D H;A=7D HA D D A,#6B H;A=7D H+6B H=0E 8 H,C y=OM O V R O,#

42、34 H;R 0=34 HM O V 34 H,#O B C H;(34 H)=O B C HA D D C A,R O ;A=A+(R O)+C y=A+(34 H)+C y=0E 8 H+0B C H+0=0A 4 H,C y=lXR L A,R O ;A=A R 0=0A 4 H 34 H=90HO R L A,34 H;A=A V (34 H)=90H V0B C H=0B C HM O V R O,A ;(R 0)=(34 H)=A=0B C HSWA P A ;A=O C B HXC H A,R O ;A=34 H,R O=O C B HR E T所以:A=34 H,,R O=O

43、C B H,(34 H)=O B C H(4)C L R CM O V A,#55HM O V R O,#23HL O O P 1:A D D CA,R OJ N CL O O P 1R E TA=,R O=解:C L RC;C y=OM O VA,#55H;A=55HM O VR O,#23H;R 0=23HL O O P 1:A D D CA,R O ;(l)A=A+R 0+C y=78 H,(2)A=9B H,(3)A=0B E H,(4)A=O E 1H(5)A=04 H,C y=lJ N CL O O P 1R E TA=04 H,R O =23H(5)O R G2000HM O V

44、A,#O O HM O VR 2,#09HL O O P 1:A D DA,#03HD AAD J N ZR 2,L O O P 1M O V30H,AR E TA=,R 2=,(3 0 H)=解:O R G2000HM O VA,#O O HA=O O HM O VR 2,#09HR 2=09HL O O P 1:A D DA,#03H(l)A=03H,(2)A=06H,(3)A=09H,(4)A=0C H,(5)-D AA(1)A=O 3H,(2)A=06H,(3)A=09H,(4)A=12H,(5)-D J N ZR 2,L 00P l;(1)R 2=08 H,(2)R 2=O 7H,(

45、3)R 2=06H,(4)R 2=05H,(5)M O V30H,A ;(30H)=27HR E TA=27H,R 2=O O H(30H)=27H15.对3 T 4 (1)、(5)题进行手工汇编。解:(1)源程序地址机器码O R G 1000HM O V A,#34 H1000H74 34A D D A,#78 H1002H24 78D A A1004 HD 4R E T1005H22源程序地址机器码O R G 2000HM O V A,#00H2000H74 00M O V R 2,#09H2002H7A 09L 00P 1:A D D A,#03H2004 H24 03D A A2006

46、HD 4D J N Z R 2,L 00P 12007HD A F BM O V 30H,A2009HF 5 30R E T200B H2216.解:试编制能延时4 0ms的程序。设fos c=12M Hz,则机器周期为参考程序STA R T:M O V R O,#8 4 HM O V R 1,#96HL O O P 1:D J N Z R 1,L O O P 1M O V R 1,#64 HD J N Z R 0,L 00P 1R E Tluso1个机器周期数,R 0=1321个机器周期数,R l=1502个机器周期数1个机器周期数2个机器周期数2个机器周期数上述程序执行的机器周期数为:1+

47、1+(2X 150+1+2)X 132+2=4 0000(个)所以上述程序执行的时间即为4 0ms o17.试编制程序,实现l+2+3+100=?解:分析:进行十进制数加法,因此需要进行B C D码调整,其中千位、百位数存放在31H单元,十位、个位数存放在30H单元中。参考程序STA R T:M O V A,#00HM O V R O,#O 1HM O V 31H,#O O HL O O P 1:A D D A,R OD A AJ N C L 00P 2I N C 31HL 00P 2:P USH AM O V A,R OA D D A,#O 1HD A AJ C L O O P 3M O V

48、 R O,AP O P ASJ M P L O O P 1L O O P 3:P O P AI N C 31HM O V 30H,AE N D18.在内R A M的30H3F H单元中存放着16个字节的无符号数,要求比较大小,并按从大到小顺序存放在内R A M的30H3F H单元中。解:参考程序STA R T:M O V R O,#30HM O V R 2,#O F HL O O P 1:M O V A,R OI N C AM O V R I,AL 00P 2:M 0V A,R 0C L R CSUB B A,R 1J N C L 00P 2XC H A,R 0XC H A,R 1I N C

49、R IC J N E R l,#4 0H,L 00P 2I N C R OD J N Z R 2,L 00P 1E N D19.编制程序实现下列逻辑功能:Q=XYZ+X YZ解:参考程序STA R T:X B I T P l.0Y B I T P l.1Z B I T P l.2Q B I T P l.3M O V C,YA N L C,ZM O V F O,CM O V C,XA N L C,/F OM O V F O,CM O V C,YA N L C,/XA N L C,/ZO R L C,F OM O V Q,CE N D20.阅读下面程序,分析执行后的结果,并进行手工汇编。O R G

50、01 O O HM O VA,#67HSE TBA C C.7M O VC,A C C.2C P LAM O VA C C.6,CC L RCSE TBA C C.0M O VA C C.4,C解:(1)分析执行结果O R G 0100HM O V A,#6 7 H ;A=67H=0110011 I BSE TB A C C.7;A=111O O 111BM O VC,A C C.2;C y=lC P L A;A=00011000BM O VA C C.6,C;A=01011000BC L R C;C y=0SE TB A C C.0;A=01011001BM O VA C C.4,C;A=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁