(完整版)MCS-51单片机原理和接口技术习题参考答案_第1页
(完整版)MCS-51单片机原理和接口技术习题参考答案_第2页
(完整版)MCS-51单片机原理和接口技术习题参考答案_第3页
(完整版)MCS-51单片机原理和接口技术习题参考答案_第4页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MCS-51单片机原理及接口技术习题参考答案第一章绪论1-1 解答:第一台计算机的研制目的是为了计算复杂的数学难题。它的特点是:计算机字长为12 位,运算速度为 5 000 次 /s,使用 18 800 个电子管, 1 500 个继电器,占地面积为150 m2,重达30 t,其造价为100多万美元。它的诞生,标志着人类文明进入了一个新的历史阶段。1-2 解答:单片微型计算机简称单片机。一个完整的单片机芯片至少有中央处理器只读存储器(ROM )、定时 /计数器及I/O 接口等部件。1-3 解答:( CPU)、随机存储器( RAM )、单片机的发展大致经历了四个阶段:第一阶段( 1970 1974

2、 年),为 4 位单片机阶段;第二阶段( 1974 1978 年),为低中档8 位单片机阶段;第三阶段( 1978 1983 年),为高档8 位单片机阶段;第四阶段( 1983 年至今),为 8 位单片机巩固发展阶段及16 位单片机、32 位单片机推出阶段。1-4 解答:Intel 公司的 MCS-48 系列、 MCS-51 系列、 MCS-96 系列产品;Motorola 公司的 6801、 6802、 6803、 6805、68HC11 系列产品;Zilog 公司的 Z8、 Super8 系列产品;Atmel 公司的 AT89 系列产品;Fairchild 公司的 F8 和 3870 系列

3、产品;TI 公司的 TMS7000 系列产品;NS 公司的 NS8070 系列产品;NEC 公司的 COM87 ( PD7800)系列产品;National 公司的 MN6800 系列产品;Hitachi 公司的 HD6301 、 HD63L05 、 HD6305 。1-5 解答:(1)8031/8051/8751 三种型号,称为 8051 子系列。8031 片内没有 ROM ,使用时需在片外接EPROM 。8051 片内含有4KB 的掩模ROM ,其中的程序是生产厂家制作芯片时烧制的。8751 片内含有4KB 的EPROM ,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序

4、。( 2)8032A/8052A/8752A 是 8031/8051/8751 的增强型, 称为 8052 子系列。 其中片内 ROM 和 RAM的容量比8051 子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。( 3) 80C31/80C51/87C51BH 是 8051 子系列的 CHMOS 工艺芯片, 80C32/80C52/87C52 是 8052 子系列的 CHMOS 工艺芯片,两者芯片内的配置和功能兼容。1-6 解答:8052 子系列片内ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。1-7 解答:AT89 系列单片机是美国At

5、mel公司的8 位Flash 单片机产品。它的最大特点是在片内含有Flash 存储器,在系统的开发过程中可以十分容易地进行程序的修改,使开发调试更为方便。AT89系列单片机以 8031 为内核,是与8051 系列单片机兼容的系列。1-8 解答:高档型单片机有AT89S51、 AT89S52、 AT89S53 和 AT89S8252 等型号,其中AT89S51 有 4KB 可下载 Flash 存储器, AT89S52、AT89S8252 有 8KB 可下载 Flash 存储器, AT89S53 有 12KB 可下载 Flash 存储器。第二章 MCS-51系列单片机的结构及原理2-1 解答:MC

6、S-51 单片机由 8 个部件组成:中央处理器(CPU),片内数据存储器(RAM ),片内程序存储器( ROM/EPROM ),输入 /输出接口( I/O 口,分为P0 口、 P1 口、 P2 口和 P3 口),可编程串行口,定时计数器,中断系统及特殊功能寄存器(SFR)。中央处理器(CPU):单片机的核心部分,它的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个部件执行相应的操作。片内数据存储器(RAM ):存放各项操作的临时数据。片内程序存储器(ROM/EPROM ):存放单片机运行所需的程序。输入 /输出接口( I/O 口):单片机与外设相互沟通的桥梁。可编程串行口:可以实现与

7、其它单片机或PC 机之间的数据传送。定时 /计数器:具有可编程功能,可以完成对外部事件的计数,也可以完成定时功能。中断系统:可以实现分时操作、实时处理、故障处理等功能。特殊功能寄存器(SFR):反映单片机的运行状态,包含了单片机在运行中的各种状态字和控制字,以及各种初始值。/2-2 解答:EA 引脚是片内外程序存储器的选择信号。当 EA 端保持高电平时,访问内部程序存储器,但在 PC (程序计数器)值超过 0FFFH(对于 8051/8751/80C51 )或 1FFFH(对于 8052)时,将自动转向访问外部程序存储器。当EA 端保持低电平时,不管是否有内部程序存储器,则只访问外部程序存储器

8、。由于 8031 片内没有程序存储器,所以在使用8031 时, EA 引脚必须接低电平。2-3 解答:在 MCS-51 单片机中,除P3 口具有第二功能外,还有3 条控制线具有第二功能。P3 口的第二功能:P3.0 RXD :串行数据接收端P3.1 TXD :串行数据发送端P3.2 INT 0 :外部中断0 申请输入端P3.3 INT1 :外部中断1 申请输入端P3.4 T0:定时器0 计数输入端P3.5 T1:定时器1 计数输入端P3.6 WR :外部 RAM 写选通P3.7 RD :外部 RAM读选通3 条控制线的第二功能:ALE PROG :片内 EPROM 编程脉冲。片内具有EPROM

9、 的芯片,在 EPROM 编程期间,此引脚输入编程脉冲。RESET VPD :备用电源。 VCC 掉电期间,此引脚可接备用电源,以保持内部RAM 数据不丢失。EA VPP:片内 EPROM 编程电源。在对片内具有EPROM 的芯片进行编程时,此引脚用于施加21V 编程电源。2-4 解答:MCS-51 单片机的内部存储空间分为数据存储器和程序存储器。内部数据存储器:共256 字节单元,包括低128 个单元和高128 个单元。低128 字节又分成3 个区域:工作寄存器区(00H1FH ),位寻址区( 20H2FH )和用户RAM 区( 30H7FH )。高 128 字节是供给特殊功能寄存器使用的,

10、因此称之为特殊功能寄存器区。内部程序存储器:在8031 片内无程序存储器,8051 片内具有4KB掩模ROM , 8751 片内具有4KBEPROM 。2-5 解答:MCS-51 单片机提供了4 组工作寄存器,对于当前工作寄存器组的选择,是通过PSW 中的RS1 和RS0 来进行选择。具体关系如下表:RS1RS0当前寄存器组00第 0组工作寄存器01第 1组工作寄存器10第 2组工作寄存器11第 3组工作寄存器2-6 解答:内部 RAM 低 128 个单元按用途分成和用户 RAM 区( 30H7FH )。3 个区域:工作寄存器区(00H1FH ),位寻址区(20H2FH )储器2-7 解答:D

11、PTR 是数据指针寄存器,是一个RAM 中的数据进行操作。DPTR16 位寄存器,用来存放 16 位存储器的地址,以便对外部数据存由高位字节 DPH 和低位字节 DPL 组成。2-8 解答:所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。堆栈是在内存中专门开辟出来的按照“先进后出,后进先出”的原则进行存取的RAM区域。堆栈的用途是保护现场和断点地址。在8051单片机复位后,堆栈指针SP 总是初始化到内部RAM 地址 07H 。从 08H 开始就是8051 的堆栈区, 这个位置与工作寄存器组1 的位置相同。因此,在实际应用中,通常要根据需要在程序初始化时对SP 重新赋值,以改变堆栈的位置。

12、2-9 解答:程序状态字寄存器PSW 是 8 位寄存器,用于存放程序运行的状态信息。CY ( PSW.7):进位标志位。AC ( PSW.6):辅助进位标志位。F0( PSW.5)、F1(PSW.1):用户标志位。RS1(PSW.4)、 RS0( PSW.3):工作寄存器组选择位。OV ( PSW.2):溢出标志位。P( PSW.0):奇偶标志位。2-10 解答:P0 口由一个所存器、两个三态输入缓冲器、场效应管、控制与门、反相器和转换开关组成;作为输出口时, 必须外接上拉电阻才能有高电平输出,作为输入口时, 必须先向锁存器写“1”;作为普通I/O口使用或低 8 位地址 /数据总线使用。P1口

13、内没有转换开关,但有上拉电阻;只用作普通I/O 口使用。P2口比 P1口多了一个转换控制开关;作为普通I/O 口使用或高 8 位地址线使用。P3口比 P1口增加了与非门和缓冲器;具有准双向I/O 功能和第二功能。上述 4 个端口在作为输入口使用时,应注意必须先向端口写“1”。2-11 解答:指令周期:执行一条指令所需要的时间。机器周期: CPU 完成一个基本操作所需要的时间。状态:振荡脉冲经过二分频后,得到的单片机的时钟信号。拍:振荡脉冲的周期。当晶振频率为12MHz 时,一个机器周期为1s;当晶振频率为8MHz 时,一个机器周期为3s。2-12 解答:在时钟电路工作后,只要在单片机的RESE

14、T 引脚上出现24 个时钟震荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。复位后, CPU 和系统都处于一个确定的初始状态,在这种状态下, 所有的专用寄存器都被赋予默认值,除 SP=07H , P0P3 口为 FFH 外,其余寄存器均为0。部2-13 解答:8051 单片机应用系统的电压检测电路监测到电源下降时,触发外部中断, 在中断服务子程序中将外RAM 中的有用数据送入内部RAM 保存。(内部 RAM 由备用电源供电)80C51 单片机应用系统的电压检测电路监测到电源降低时,也出发外部中断, 在中断服务子程序中,除了要将外部 RAM 中有用的数据保存以外,还要将特殊功能寄存器的有

15、用内容保护起来,然后对电源控制寄存器 PCON 进行设置。2-14 解答:单片机退出空闲状态有两种方法:中断退出和硬件复位退出。第三章 MCS-51 系列单片机的指令系统3-1 解答:指令是规定计算机进行某种操作的命令,一台计算机所能执行的指令集合称为该计算机的指令系统。计算机内部只识别二进制数,因此,能别计算机直接识别、执行的指令时使用二进制编码表示的指令,这种指令别称为机器语言指令。以助记符表示的指令就是计算机的汇编语言指令。3-2 解答:标号: <操作码 > 操作数 ;注释3-3 解答:MCS-51 系列单片机提供了7 种寻址方式:( 1)立即寻址:操作数在指令中直接给出,立

16、即数前面有“#”。( 2)直接寻址:在指令中直接给出操作数地址。对应片内低128 个字节单元和特殊功能寄存器。( 3)寄存器寻址:以寄存器的内容作为操作数。对应的寄存器有:R0R7 、 A 、AB 寄存器和数据指针 DPTR 。( 4)寄存器间接寻址:以寄存器的内容作为RAM地址,该地址中的内容才是操作数。对应片内RAM 的低 128 个单元采用R0、R1 作为间址寄存器,片外RAM 低 256 个单元可用R0、R1 作为间址寄存器,整个64KB 空间可用DPTR 作为间址寄存器。( 5)变址寻址:以 DPTR 或 PC 作为基址寄存器,以累加器加形成的 16 位地址作为操作数地址。对应片内、

17、片外的 ROMA 作为变址寄存器,并以两者内容相空间。( 6)相对寻址:只在相对转移指令中使用。对应片内、片外的( 7)位寻址:对可寻址的位单独进行操作。对应位寻址区ROM 空间。20H2FH 单元的128 位和字节地址能被8 整除的特殊功能寄存器的相应位。3-4 解答:直接寻址方式。3-5 解答:寄存器间接寻址方式。3-6 解答:立即寻址方式,直接寻址方式,寄存器寻址方式,寄存器间接寻址方式,位寻址方式。3-7 解答:变址寻址方式3-8 解答:对于 8052 单片机内部 RAM的高 128B ,必须采用寄存器间接寻址方式进行访问。3-9 解答:外部数据传送指令有 6 条:MOVXA,DPTR

18、MOVXDPTR,AMOVXA,RiMOVXRi ,AMOVCA,A+DPTRMOVCA, A+PC(1 ) MOVXA,R1MOVXA, DPTR都是访问片外RAM ,但二者寻址范围不同。前 1 条指令是对片外RAM 低 256 个单元的“读”操作。后 1 条指令是对片外RAM64KB空间的“读”操作。(2 ) MOVXA,DPTRMOVXDPTR,A访问空间相同,但数据传送方向不同。前 1 条指令是对片外 RAM64KB 空间的“读”操作。后 1 条指令是对片外 RAM64KB 空间的“写”操作。(3 ) MOVR0, AMOVXR0, A二者访问的空间不同。前 1 条指令是对片内RAM

19、低 128 个单元的“写”操作。后 1 条指令是对片外 RAM 低 256 个单元的“写”操作。( 4 ) MOVC A,A+DPTR MOVX A, DPTR二者访问的空间不同,寻址方式不同。前 1条指令是变址寻址方式,对ROM 操作。后 1条指令是寄存器间接寻址方式,对片外RAM 操作。3-10 解答:R0 30H ,( R0) =30HA( R0),( A) =40HR1 ( A),( R1) =40HB( R1),( B) =10H( R1 )( P1 ),( R1 ) =( 40H ) =EFH P2 ( P1 ),( P2) =EFH10H 20H ,( 10H ) =20H30H

20、 ( 10H ),(30H ) =20H结果:( R0)=30H ,( A )=40H ,(R1)=40H ,( B)=10H ,( 40H)=EFH ,( P2)=EFH ,( 10H)=20H ,( 30H) =20H3-11 解答:(1)由于在工作寄存器与工作寄存器之间不能直接传送数据,所以需要借助累加器 A 。MOVA,R1MOVR0 , A(2)片外 RAM 向片内 RAM 传送数据, 不能直接进行, 需要借助累加器 A 。由于片外 RAM 是 60H 单元,地址小于 FFH ,所以间址寄存器使用 Ri 即可。MOVR1 ,#60HMOVXA, R1MOVR0,A( 3)MOVR1

21、,#60HMOVXA, R1MOV40H ,A( 4)片外数据不能直接送入片外单元,需要先将片外数据读入累加器,然后再送到片外。MOVDPTR,#1000HMOVXMOVMOVXA, DPTRR1 ,#40HR1, A(5) ROM中的数据需要使用查表指令才能读出来,所以此题不能使用一般的传送指令从ROM中读数据。MOVMOVMOVCMOVDPTR,#2000HA, #00HA, A+DPTRR2,A( 6)MOVDPTR,#2000HMOVMOVCMOVA, #00HA, A+DPTR40H ,A( 7)MOVDPTR,#2000HMOVMOVCMOVMOVXA, #00HA, A+DPTR

22、DPTR#0200HDPTR, A3-12 解答:片外 RAM 与片内 RAM 之间的数据传送不能直接进行,需要借助累加器A 。数据交换需要使用数据交换指令XCH 。MOVDPTR,#1000HMOVXA, DPTRXCHA, 60HMOVXDPTR, A3-13 解答:本题需要采用查表指令。ORG0200HMOVDPTR,#TABMOVA, R7MOVCA, A+DPTRORG0300HTAB:DB0,1,4,9,16 ,25 ,36 ,49 ,64 ,813-14 解答:( 1)结果:( A )( R1),(A ) =40H ,( R1) =5BH ,( PSW) =81H( 2)结果:(

23、 A )( 40H ),( A ) =C3H ,(40H )=5BH ,( PSW) =80H( 3)结果:( A )(R1 ),( A )=C3H ,(R1 )=( 40H) =5BH ,( PSW) =80H( 4)结果:( A ) 03( R1) 03 ,(A )=53H ,( R1) =( 40H) =CBH ,(PSW) =80H( 5)结果:( A ) 03( A ) 47,( A) =B5H ,( PSW )=81H( 6)结果: A ( A) +( R1),( A ) =9BH ,( PSW) =05H( 7)结果: A ( A) +( 40H),(A ) =1EH,( PSW

24、) =80H( 8)结果: A ( A) +40H ,( A ) =9BH ,( PSW)=05H( 9)结果: A ( A) +( 40H) +CY ,( A) =1FH ,( PSW) =81H( 10)结果: A ( A ) -( 40H) -CY ,( A) =97H ,(PSW)=85H( 11)结果: A ( A ) - 40H - CY ,(A )=1AH ,( PSW) =01H3-15 解答:( 1)该组指令执行后( A ) =00H ,不影响 CY 位。( 2)该组指令执行后( A ) =00H ,影响 CY 位。ADD说明:单独执行INC 指令,只影响奇偶标志位P,不影响

25、半进位标志位指令后,将影响CY、AC 和 P位。3-16 解答:AC和进位位CY位。执行在低本题涉及的是16 位数的减法运算,首先应让低8 位相减前将进位位CY 清空 0。8 位相减,然后让高8 位带着借位相减。注意:应CLRCMOVA, #56HSUBBMOVA, #78HR0,AMOVA, #23HSUBBMOVA, #45HR1,A3-17 解答:A( A) 23H ,(A) =03H42H ( 42H )( A),( 42H ) =37HA( A)( R0),(A) =34HA( A ),( A) =CBH结果:( A ) =CBH3-18 解答:( 1)MOVDPTR,#1000HM

26、OVX A, DPTRCPLAMOVXDPTR, A( 2)MOVR0 ,#60HMOVXA, R0ANLA, #3FHXRLA, #03HMOVXR0, A3-19 解答:DAA 指令的作用是对 A 中刚进行的两个 BCD 码的加法结果进行修正,即继续使BCD 码加法运算的结果保持为 BCD 码。使用时, DAA 指令只能使用在加法指令后,即ADD 指令和 ADDC 指令。3-20 解答:MOVDPTR,#1000HMOVXA, DPTRMOVB, #10MULABMOV30H ,AMOV31H ,BMOVDPTR,#2000HMOVXA, DPTRMOVB, #32MULABADDA, 3

27、0HMOV30H ,AMOVA, BADDCA, 31HMOV31H ,A3-21 解答:MOVR7 ,#10MOVDPTR,#block1MOVR0 ,#block2LOOP:MOVXA, DPTRMOVR0, AINCDPTRINCR0DJNZR7 ,LOOP3-22 解答:MOVA, #01HLOOP:MOVP0 ,ARLALCALLDELAYSJMPLOOPDELAY : MOVR7,#00HDELAY1 : MOVR6,#00HDJNZR6,$DJNZR7,DELAY1RET3-23 解答:ORLC, 11HMOV11H ,CMOVC, P1.0ORLC, 10HANLC, 11HM

28、OVP1.0 ,C3-24 解答:( 1)正确。( 2)错误。原因:清零指令只能用于累加器 ACC 和位操作,而本题中 E0H 只能是字节地址(位地址的范围是 00H7FH ),所以该条指令错误。( 3)错误。原因: ACC 是直接字节地址,不能用于清零指令。( 4)正确。 ACC.0 是一个位,可以应用到清零指令中。( 5)正确。( 6)错误。原因:取反指令只能用于累加器 ACC 和位操作,而本题中 E0H 只能是字节地址(位地址的范围是 00H7FH ),所以该条指令错误。( 7)错误。原因: ACC 是直接字节地址,不能用于取反指令。( 8)正确。 ACC.0 是一个位,可以应用到取反指

29、令中。3-25 解答:ANLA, BORLA, CMOVF, C3-26 解答:指令 LJMPaddr16 是长转移指令,指令中提供了16 位目的地址,寻址范围是 64KB 。指令 AJMPaddr11 是绝对转移指令,指令中11 位目的地址,其中 a7a0 在第二字节, a10a8 则占据第一字节的高3 位,寻址范围是与PC 当前值(本指令所在地址 +本条指令所占用的字节数2)在同一个 2K 的区域内。3-27 解答:( 1)MOVP1 ,#0CAH; P1 CAH, P1=CAH=BMOVA, #56H; A 56H, A=56H=BJBP1.2 ,L1;若 P1.2=1 ,则转移至 L1

30、JNBACC.3 , L2;若 ACC.3=0 ,则转移至 L2L1 :L2 :执行完本段程序后将转移至L2 ,因为 P1.2=0 ,ACC.3=0 ,所以转至 L2 。(2)MOVA, #43H; A43H, A=43H=BJBACC.2 , L1;若 ACC.2=1 ,则转移至 L1JBCACC.6 , L2;若 ACC.6=1 ,则转移至L2 ,同时将 ACC.6清零L1 :L2 :执行完本段程序后将转移至L2 ,因为 ACC.2=0 , ACC.6=1 ,所以转至 L2 ,并且将 ACC.6 清零。3-28 解答:( 1)MOVA, P1CPLAANLA, #0F0HSWAPAMOVP

31、1 ,A(2):LOOP:JNBP1.4,L1;JNBP1.5,L2;JNBP1.6,L3;JNBP1.7,L4;LJMPLOOP;L1 :MOVP1 ,#01H;LJMPLOOP;L2 :MOVP1 ,#02H;LJMPLOOP;L3 :MOVP1 ,#03H;LJMPLOOP;L4 :MOVP1 ,#04H;LJMPLOOP;第 4 章 汇编语言程序设计4-1 解答:ORG0100HMOVA, 21HADDA, 23HMOV25H ,AMOVA, 20HADDCA, 22HMOV24H ,ARET4-2 解答:ORG0200HMOVA, 51HMOVB, #20MULABMOV53H ,A

32、MOV52H ,BMOVA, 50HMOVB, #3MULABADDA, 53HMOV53H ,AMOVA, BADDCA, 52HMOV52H ,ARET4-3 解答:开始XA 暂存YA<20?N2BYA<50?N5B1BA×BAAFUNC 保存结果返回题图 4-1习题 4-3 流程图ORG0300HMOVA, DATACJNEA, #20 , LOP1LOP1 :JCLOP3CJNEA, #50 , LOP2LOP2 :JCLOP4MOVB #1LJMPLOP5LOP3MOVB #2LJMPLOP5LOP4MOVB #5LOP5MULABMOVFUNC ARET4-4

33、ORG0400HMOVA mun+1JNBACC.7 LOOPCLRCMOVA numSUBBA #01HCPLAMOVnum AMOVA #num+1SUBBA #00HCPLAMOVnum+1 ALOOPRET4-5ORG0500HMOVDPTR #JPTABMOVA R2RLAJMPA+DPTRJPTABAJMPKEY0AJMPKEY1AJMPKEY2AJMPKEY15KEY0KEY1KEY2KEY154-6ORG0600HMOVR0#40HMOVDPTR#2000HMOVR7 ,#21HLOOP:MOVA, R0MOVXDPTR, AINCR0INCDPTRDJNZR7 ,LOOPRE

34、T4-7 解答:ORG0700HMOVDPTR,#DATAMOVR7 ,#10LOOP:MOVXA, DPTRORLA, #80HMOVXDPTR, AINCDPTRDJNZR7 ,LOOPRET4-8 解答:ORG0800HMOVDPTR,#3000HMOVR0,#30HMOVR7,#7LOOP:MOVXA, DPTRMOVR0, AINCDPTRINCDPTRINCR0DJNZR7,LOOPRET4-9 解答:ORG0900HMOVDPTR,#1000HMOVR1,#30HMOVR7,#31HLOOP:MOVXA, DPTRMOVR1, ACLRAMOVXDPTR, AINCDPTRINC

35、R1DJNZR7,LOOPRET4-10 解答:ORG0A00HMOVR1 ,#DAT1MOVDPTR,#DAT2MOVR6 ,#10HLOOP1:MOVA, R1CJNEA, #0DH ,LOOP2LJMPLOOP3LOOP2:MOVXDPTR, AINCR1INCDPTRDJNZR6 ,LOOP1LOOP3:RET4-11 解答:ORG0B00HMOVDPTR,#3000HMOVR7 ,#100MOVone , #00HMOVtwo , #00HMOVthree , #00HLOP1 :MOVXA, DPTRJZLOP2JNBACC.7 , LOP3INCthreeLJMPLOP4LOP2

36、 :INCtwoLJMPLOP4LOP3 :INConeLOP4 :INCDPTRDJNZR7 ,LOP1RET4-12 解答:ORG0C00HMOVR0 ,#50HMOVA, #00HMOVR7 ,#10LOP:ADDA, R0INCR0DJNZR7 ,LOPMOVB, #10DIVABMOV5AH,ARET4-13 解答:ORG0D00HMOVR0,#40HMOVA, R0MOVR7,#47LOOP:INCR0MOV30H , R0CJNEA, 30H , CHKCHK:JCLOOP1MOVA, R0LOOP1:DJNZR7,LOOPMOVMIN ,ARET4-14 解答:ORG0E00H

37、START :MOVR0,#40HMOVR7,#19CLR00HLOOP:MOVA, R0MOV30H ,AINCR0MOV31H , R0CLRCSUBBA, R0JNCNEXTMOVR0, 30HDECR0MOVR0, 31HINCR0SETB00HNEXT:DJNZR7,LOOPJB00H , STARTMOVR0,#40HMOVDPTR,#2000HMOVR7,#20LOP1 :MOVA, R0MOVXDPTR, AINCR0INCDPTRDJNZR7,LOP1RET4-15 解答:ORG0F00HMOVDPTR,#2000HMOVR7,#100LOOP1:MOVXA, DPTRCJN

38、EA, #44H ,LOOP2MOV30H , DPLMOV31H , DPHMOVDPTR,#20A0HMOVA, 30HMOVXDPTR, AINCDPTRMOVA, 31HMOVXDPTR, ALJMPLOOP3LOOP2:INCDPTRDJNZR7,LOOP1LOOP3:RET4-16 解答:ORG1000HMOVR0,#30HMOVR1,#50HMOVR7,#20LOP1 :MOVA, R0CJNEA, #0AH ,LOP2LOP2 :JNCLOP3ADDA, #30HLJMPLOP4LOP3 :ADDA, #37HLOP4 :MOVR1, AINCR0INCR1DJNZR7,LOP

39、1RET4-17 解答:ORG1100HMOVR0,#40HMOVR1,#60HMOVR7,#NLOP1 :MOVA, R0CJNEA, #41H ,LOP2LOP2 :JNCLOP3CLRCSUBBA, #30HLJMPLOP4LOP3 :CLRCSUBBA, #37HLOP4 :MOVR1, AINCR0INCR1DJNZR7,LOP1RET4-18 解答:ORG1200HMOVDPTR,#2000HMOVR0,#30HMOVR7,#5LOP1 :MOVXA, DPTRANLA, #0FHADDA, #30HMOVR0, AINCR0MOVXA, DPTRANLA, #0F0HSWAPAA

40、DDA, #30HMOVR0, AINCR0INCDPTRDJNZR7,LOP1MOVDPTR,#2005HMOVR0,#30HMOVR7,#10LOP2 :MOVA, R0MOVXDPTR, AINCR0INCDPTRDJNZR7,LOP2RET4-19 解答:ORG1300HMOVDPTR,#2000HMOVR0,#30HMOVR7,#10LOP1 :MOVXA, DPTRCLRCSUBBA, #30HMOVR0, AINCDPTRMOVXA, DPTRCLRCSUBBA, #30HSWAPAORLA, R0MOVR0, AINCDPTRINCR0DJNZR7 ,LOP1MOVDPTR,#

41、3000HMOVR0 ,#30HMOVR7 ,#10LOP2 :MOVA, R0MOVXDPTR, AINCR0INCDPTRDJNZR7 ,LOP2RET4-20 解答:ORG1400HMOVA, 40HMOVB, AMULABMOV31H ,AMOVA, 30HMOVB, AMULABCLRCSUBBA, 31HMOV30H ,ARET4-21 解答:ORG1500HMOVA, #80HLOOP:MOVP1 ,ALCALLDELRRASJMPLOOPDEL:MOVR7 ,#100DEL1 :MOVR6 ,#198DJNZR6,$DJNZR7 ,DEL1RET4-22 解答:ORG1600HMOVA, #55HLOOP:MOVP1 ,ALCALLDELRLASJMPLOOPDEL:MOVR7,#250DEL1 :MOVR6,#198DJNZR6,$DJNZR7,DEL1RET第5章定时/计数器5-1 解答:51系列单片机的内部设有两个定时/计数器。分别有两种工作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论