收藏 分销(赏)

单片机原理及接口技术教材习题解答.doc

上传人:a199****6536 文档编号:9823250 上传时间:2025-04-09 格式:DOC 页数:112 大小:899.50KB 下载积分:20 金币
下载 相关 举报
单片机原理及接口技术教材习题解答.doc_第1页
第1页 / 共112页
单片机原理及接口技术教材习题解答.doc_第2页
第2页 / 共112页


点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 单片机原理及接口技术教材习题全部解答 第 1 章 绪论 1-1 解答: 第一台计算机的研制目的是为了计算复杂的数学难题。它的特点是: 计算机字长为 12 位, 运算速 度为 5 000 次/s, 使用 18 800 个电子管, 1 500 个继电器, 占地面积为 150 m2, 重达 30 t, 其造价为 100 多万美元。它的诞生, 标志着人类文明进入了一个新的历史阶段。 1-2 解答: 单片微型计算机简称单片机。一个完整的单片机芯片至少有中央处理器( CPU) 、 随机存储器( RAM) 、 只读存储器( ROM) 、 定时/计数器及 I/O 接口等部件。 1-3 解答: 单片机的发展大致经历了四个阶段: 第一阶段( 1970—1974 年) , 为 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 系列产品; 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, 用户能够先用紫外线擦除器擦除, 然后再利用开发机或编程器写入新的程序。 ( 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 系列单片机是美国 Atmel 公司的 8 位 Flash 单片机产品。它的最大特点是在片内含有 Flash 存 储器, 在系统的开发过程中能够十分容易地进行程序的修改, 使开发调试更为方便。AT89 系列单片机 以 8031 为内核, 是与 8051 系列单片机兼容的系列。 1-8 解答: 高档型单片机有 AT89S51、 AT89S52、 AT89S53 和 AT89S8252 等型号, 其中 AT89S51 有 4KB 可下 载 Flash 存储器, AT89S52、 AT89S8252 有 8KB 可下载 Flash 存储器, AT89S53 有 12KB 可下载 Flash 存 储器。 第 2 章 MCS-51 系列单片机的结构及原理 2-1 解答: MCS-51 单片机由 8 个部件组成: 中央处理器( CPU) , 片内数据存储器( RAM) , 片内程序存储器 ( ROM/EPROM) , 输入/输出接口( I/O 口, 分为 P0 口、 P1 口、 P2 口和 P3 口) , 可编程串行口, 定时/ 计数器, 中断系统及特殊功能寄存器( SFR) 。 中央处理器( CPU) : 单片机的核心部分, 它的作用是读入和分析每条指令, 根据每条指令的功能 要求, 控制各个部件执行相应的操作。 片内数据存储器( RAM) : 存放各项操作的临时数据。 片内程序存储器( ROM/EPROM) : 存放单片机运行所需的程序。 输入/输出接口( I/O 口) : 单片机与外设相互沟通的桥梁。 可编程串行口: 能够实现与其它单片机或 PC 机之间的数据传送。 定时/计数器: 具有可编程功能, 能够完成对外部事件的计数, 也能够完成定时功能。 中断系统: 能够实现分时操作、 实时处理、 故障处理等功能。 特殊功能寄存器( SFR) : 反映单片机的运行状态, 包含了单片机在运行中的各种状态字和控制字, 以及各种初始值。 2-2 解答: EA 引脚是片内外程序存储器的选择信号。当 EA 端保持高电平时, 访问内部程序存储器, 但在 PC ( 程序计数器) 值超过 0FFFH( 对于 8051/8751/80C51) 或 1FFFH( 对于 8052) 时, 将自动转向访问外 部程序存储器。当 EA 端保持低电平时, 不论是否有内部程序存储器, 则只访问外部程序存储器。 由于 8031 片内没有程序存储器, 因此在使用 8031 时, EA 引脚必须接低电平。 2-3 解答: 在 MCS-51 单片机中, 除 P3 口具有第二功能外, 还有 3 条控制线具有第二功能。 P3 口的第二功能: P3.0—RXD: 串行数据接收端 P3.1—TXD: 串行数据发送端 P3.2— INT0 : 外部中断 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 的芯片, 在 EPROM 编程期间, 此引脚 输入编程脉冲。 RESET—VPD: 备用电源。VCC 掉电期间, 此引脚可接备用电源, 以保持内部 RAM 数据不丢失。 EA —VPP: 片内 EPROM 编程电源。在对片内具有 EPROM 的芯片进行编程时, 此引脚用于施加 21V 编程电源。 2-4 解答: MCS-51 单片机的内部存储空间分为数据存储器和程序存储器。 内部数据存储器: 共 256 字节单元, 包括低 128 个单元和高 128 个单元。低 128 字节又分成 3 个区 域: 工作寄存器区( 00H~1FH) , 位寻址区( 20H~2FH) 和用户 RAM 区( 30H~7FH) 。高 128 字节是供 给特殊功能寄存器使用的, 因此称之为特殊功能寄存器区。 内部程序存储器: 在 8031 片内无程序存储器, 8051 片内具有 4KB 掩模 ROM, 8751 片内具有 4KBEPROM。 2-5 解答: MCS-51 单片机提供了 4 组工作寄存器, 对于当前工作寄存器组的选择, 是经过 PSW 中的 RS1 和 RS0 来进行选择。具体关系如下表: RS1 RS0 当前寄存器组 0 0 第 0 组工作寄存器 0 1 第 1 组工作寄存器 1 0 第 2 组工作寄存器 1 1 第 3 组工作寄存器 2-6 解答: 内部 RAM 低 128 个单元按用途分成 3 个区域: 工作寄存器区( 00H~1FH) , 位寻址区( 20H~2FH) 和用户 RAM 区( 30H~7FH) 。 2-7 解答: DPTR 是数据指针寄存器, 是一个 16 位寄存器, 用来存放 16 位存储器的地址, 以便对外部数据存 储器 RAM 中的数据进行操作。DPTR 由高位字节 DPH 和低位字节 DPL 组成。 2-8 解答: 所谓堆栈, 顾名思义就是一种以”堆”的方式工作的”栈”。堆栈是在内存中专门开辟出来的按照 ”先进后出, 后进先出”的原则进行存取的 RAM 区域。堆栈的用途是保护现场和断点地址。在 8051 单片机复位后, 堆栈指针 SP 总是初始化到内部 RAM 地址 07H。从 08H 开始就是 8051 的堆栈区, 这个 位置与工作寄存器组 1 的位置相同。因此, 在实际应用中, 一般要根据需要在程序初始化时对 SP 重新 赋值, 以改变堆栈的位置。 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 口内没有转换开关, 但有上拉电阻; 只用作普通 I/O 口使用。 P2 口比 P1 口多了一个转换控制开关; 作为普通 I/O 口使用或高 8 位地址线使用。 P3 口比 P1 口增加了与非门和缓冲器; 具有准双向 I/O 功能和第二功能。 上述 4 个端口在作为输入口使用时, 应注意必须先向端口写”1”。 2-11 解答: 指令周期: 执行一条指令所需要的时间。 机器周期: CPU 完成一个基本操作所需要的时间。 状态: 振荡脉冲经过二分频后, 得到的单片机的时钟信号。 拍: 振荡脉冲的周期。 当晶振频率为 12MHz 时, 一个机器周期为 1μs; 当晶振频率为 8MHz 时, 一个机器周期为 3μs。 2-12 解答: 在时钟电路工作后, 只要在单片机的 RESET 引脚上出现 24 个时钟震荡脉冲( 两个机器周期) 以上 的高电平, 单片机就能实现复位。 复位后, CPU 和系统都处于一个确定的初始状态, 在这种状态下, 所有的专用寄存器都被赋予默认 值, 除 SP=07H, P0~P3 口为 FFH 外, 其余寄存器均为 0。 2-13 解答: 8051 单片机应用系统的电压检测电路监测到电源下降时, 触发外部中断, 在中断服务子程序中将外 部 RAM 中的有用数据送入内部 RAM 保存。( 内部 RAM 由备用电源供电) 80C51 单片机应用系统的电压检测电路监测到电源降低时, 也出发外部中断, 在中断服务子程序中, 除了要将外部 RAM 中有用的数据保存以外, 还要将特殊功能寄存器的有用内容保护起来, 然后对电源 控制寄存器 PCON 进行设置。 2-14 解答: 单片机退出空闲状态有两种方法: 中断退出和硬件复位退出。 第 3 章 MCS-51 系列单片机的指令系统 3-1 解答: 指令是规定计算机进行某种操作的命令, 一台计算机所能执行的指令集合称为该计算机的指令系 统。 计算机内部只识别二进制数, 因此, 能别计算机直接识别、 执行的指令时使用二进制编码表示的指 令, 这种指令别称为机器语言指令。 以助记符表示的指令就是计算机的汇编语言指令。 3-2 解答: [标号: ] <操作码> [操作数] [; 注释] 3-3 解答: MCS-51 系列单片机提供了 7 种寻址方式: ( 1) 立即寻址: 操作数在指令中直接给出, 立即数前面有”#”。 ( 2) 直接寻址: 在指令中直接给出操作数地址。对应片内低 128 个字节单元和特殊功能寄存器。 ( 3) 寄存器寻址: 以寄存器的内容作为操作数。对应的寄存器有: R0~R7、 A、 AB 寄存器和数据 指针 DPTR。 ( 4) 寄存器间接寻址: 以寄存器的内容作为 RAM 地址, 该地址中的内容才是操作数。对应片内 RAM 的低 128 个单元采用 R0、 R1 作为间址寄存器, 片外 RAM 低 256 个单元可用 R0、 R1 作为间址寄 存器, 整个 64KB 空间可用 DPTR 作为间址寄存器。 ( 5) 变址寻址: 以 DPTR 或 PC 作为基址寄存器, 以累加器 A 作为变址寄存器, 并以两者内容相 加形成的 16 位地址作为操作数地址。对应片内、 片外的 ROM 空间。 ( 6) 相对寻址: 只在相对转移指令中使用。对应片内、 片外的 ROM 空间。 ( 7) 位寻址: 对可寻址的位单独进行操作。对应位寻址区 20H~2FH 单元的 128 位和字节地址能被 8 整除的特殊功能寄存器的相应位。 3-4 解答: 直接寻址方式。 3-5 解答: 寄存器间接寻址方式。 3-6 解答: 立即寻址方式, 直接寻址方式, 寄存器寻址方式, 寄存器间接寻址方式, 位寻址方式。 3-7 解答: 变址寻址方式 3-8 解答: 对于 8052 单片机内部 RAM 的高 128B, 必须采用寄存器间接寻址方式进行访问。 3-9 解答: 外部数据传送指令有 6 条: MOVX A, @DPTR MOVX @DPTR, A MOVX A, @Ri MOVX @Ri, A MOVC A, @A+DPTR MOVC A, @A+PC ( 1) MOVX A, @R1 MOVX A, @DPTR 都是访问片外 RAM, 但二者寻址范围不同。 前 1 条指令是对片外 RAM 低 256 个单元的”读”操作。 后 1 条指令是对片外 RAM64KB 空间的”读”操作。 ( 2) MOVX A, @DPTR MOVX @DPTR, A 访问空间相同, 但数据传送方向不同。 前 1 条指令是对片外 RAM64KB 空间的”读”操作。 后 1 条指令是对片外 RAM64KB 空间的”写”操作。 ( 3) MOV @R0, A 二者访问的空间不同。 MOVX @R0, A 前 1 条指令是对片内 RAM 低 128 个单元的”写”操作。 后 1 条指令是对片外 RAM 低 256 个单元的”写”操作。 ( 4) MOVC A, @A+DPTR MOVX A, @DPTR 二者访问的空间不同, 寻址方式不同。 前 1 条指令是变址寻址方式, 对 ROM 操作。 后 1 条指令是寄存器间接寻址方式, 对片外 RAM 操作。 3-10 解答: R0←30H, ( R0) =30H A←( ( R0) ) , ( A) =40H R1←( A) , ( R1) =40H B←( ( R1) ) , ( B) =10H ( R1) ←( P1) , ( ( R1) ) =( 40H) =EFH P2←( P1) , ( P2) =EFH 10H←20H, ( 10H) =20H 30H←( 10H) , ( 30H) =20H 结果: ( R0) =30H, ( A) =40H, ( R1) =40H, ( B) =10H, ( 40H) =EFH, ( P2) =EFH, ( 10H) =20H, ( 30H) =20H 3-11 解答: ( 1) 由于在工作寄存器与工作寄存器之间不能直接传送数据, 因此需要借助累加器 A。 MOV A, R1 MOV R0, A ( 2) 片外 RAM 向片内 RAM 传送数据, 不能直接进行, 需要借助累加器 A。由于片外 RAM 是 60H 单元, 地址小于 FFH, 因此间址寄存器使用 Ri 即可。 MOV R1, #60H MOVX A, @R1 MOV R0, A ( 3) MOV R1, #60H MOVX A, @R1 MOV 40H, A ( 4) 片外数据不能直接送入片外单元, 需要先将片外数据读入累加器, 然后再送到片外。 MOV DPTR, #1000H MOVX A, @DPTR MOV R1, #40H MOVX @R1, A ( 5) ROM 中的数据需要使用查表指令才能读出来, 因此此题不能使用一般的传送指令从 ROM 中 读数据。 MOV DPTR, # H MOV A, #00H MOVC A, @A+DPTR MOV R2, A ( 6) MOV DPTR, # H MOV A, #00H MOVC A, @A+DPTR MOV 40H, A ( 7) MOV DPTR, # H MOV A, #00H MOVC A, @A+DPTR MOV DPTR, #0200H MOVX @DPTR, A 3-12 解答: 片外 RAM 与片内 RAM 之间的数据传送不能直接进行, 需要借助累加器 A。数据交换需要使用数 据交换指令 XCH。 MOV DPTR, #1000H MOVX A, @DPTR XCH A, 60H MOVX @DPTR, A 3-13 解答: 本题需要采用查表指令。 ORG 0200H MOV DPTR, #TAB MOV A, R7 MOVC A, @A+DPTR ORG 0300H TAB: DB 3-14 解答: 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 ( 1) 结果: ( A) ←→( R1) , ( A) =40H, ( R1) =5BH, ( PSW) =81H ( 2) 结果: ( A) ←→( 40H) , ( A) =C3H, ( 40H) =5BH, ( PSW) =80H ( 3) 结果: ( A) ←→( ( R1) ) , ( A) =C3H, ( ( R1) ) =( 40H) =5BH, ( PSW) =80H ( 4) 结果: ( A) 0~3←→( ( R1) ) 0~3, ( A) =53H, ( ( R1) ) =( 40H) =CBH, ( PSW) =80H ( 5) 结果: ( A) 0~3←→( A) 4~7, ( A) =B5H, ( PSW) =81H ( 6) 结果: A←( A) +( R1) , ( A) =9BH, ( PSW) =05H ( 7) 结果: A←( A) +( 40H) , ( A) =1EH, ( PSW) =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) =01H 3-15 解答: ( 1) 该组指令执行后( A) =00H, 不影响 CY 位。 ( 2) 该组指令执行后( A) =00H, 影响 CY 位。 说明: 单独执行 INC 指令, 只影响奇偶标志位 P, 不影响半进位标志位 AC 和进位位 CY 位。执行 ADD 指令后, 将影响 CY、 AC 和 P 位。 3-16 解答: 本题涉及的是 16 位数的减法运算, 首先应让低 8 位相减, 然后让高 8 位带着借位相减。注意: 应 在低 8 位相减前将进位位 CY 清空 0。 CLR C MOV A, #56H SUBB A, #78H MOV R0, A MOV A, #23H SUBB A, #45H MOV R1, A 3-17 解答: A←( A) ∧23H, ( A) =03H 42H←( 42H) ∨( A) , ( 42H) =37H A←( A) ⊕ ( ( R0) ) , ( A) =34H A←( A ) , ( A) =CBH 结果: ( A) =CBH 3-18 解答: ( 1) MOV MOVX DPTR, #1000H A, @DPTR ( 2) CPL MOVX MOV MOVX ANL XRL MOVX A @DPTR, A R0, #60H A, @R0 A, #3FH A, #03H @R0, A 3-19 解答: DA A 指令的作用是对 A 中刚进行的两个 BCD 码的加法结果进行修正, 即继续使 BCD 码加法运 算的结果保持为 BCD 码。使用时, DA A 指令只能使用在加法指令后, 即 ADD 指令和 ADDC 指令。 3-20 解答: MOV DPTR, #1000H MOVX A, @DPTR MOV B, #10 MUL AB MOV 30H, A MOV 31H, B MOV DPTR, # H MOVX A, @DPTR MOV B, #32 MUL AB ADD A, 30H MOV 30H, A MOV A, B ADDC A, 31H MOV 31H, A 3-21 解答: MOV R7, #10 MOV MOV DPTR, #block1 R0, #block2 LOOP: MOVX A, @DPTR MOV @R0, A INC DPTR INC R0 DJNZ R7, LOOP 3-22 解答: MOV LOOP: MOV  A, #01H P0, A RL A LCALL DELAY SJMP LOOP DELAY: MOV R7, #00H DELAY1: MOV R6, #00H DJNZ R6, $ DJNZ R7, DELAY1 RET 3-23 解答: ORL C, 11H MOV 11H, C MOV C, P1.0 ORL C, 10H ANL C, 11H MOV P1.0, C 3-24 解答: ( 1) 正确。 ( 2) 错误。原因: 清零指令只能用于累加器 ACC 和位操作, 而本题中 E0H 只能是字节地址( 位 地址的范围是 00H~7FH) , 因此该条指令错误。 ( 3) 错误。原因: ACC 是直接字节地址, 不能用于清零指令。 ( 4) 正确。ACC.0 是一个位, 能够应用到清零指令中。 ( 5) 正确。 ( 6) 错误。原因: 取反指令只能用于累加器 ACC 和位操作, 而本题中 E0H 只能是字节地址( 位 地址的范围是 00H~7FH) , 因此该条指令错误。 ( 7) 错误。原因: ACC 是直接字节地址, 不能用于取反指令。 ( 8) 正确。ACC.0 是一个位, 能够应用到取反指令中。 3-25 解答: ANL A, B ORL A, C MOV 3-26 解答: F, C 指令 LJMP addr16 是长转移指令, 指令中提供了 16 位目的地址, 寻址范围是 64KB。 指令 AJMP addr11 是绝对转移指令, 指令中 11 位目的地址, 其中 a7~a0 在第二字节, a10~a8 则 占据第一字节的高 3 位, 寻址范围是与 PC 当前值( 本指令所在地址+本条指令所占用的字节数 2) 在同 一个 2K 的区域内。 3-27 解答: ( 1) MOV P1, #0CAH ; P1←CAH, P1=CAH=11001010B MOV A, #56H ; A←56H, A=56H=01010110B JB P1.2, L1 ; 若 P1.2=1, 则转移至 L1 JNB ACC.3, L2 ; 若 ACC.3=0, 则转移至 L2 … L1: … L2: … 执行完本段程序后将转移至 L2, 因为 P1.2=0, ACC.3=0, 因此转至 L2。 ( 2) MOV A, #43H ; A←43H, A=43H=01000011B JB ACC.2, L1 ; 若 ACC.2=1, 则转移至 L1 JBC ACC.6, L2 ; 若 ACC.6=1, 则转移至 L2, 同时将 ACC.6 清零 … L1: … L2: … 执行完本段程序后将转移至 L2, 因为 ACC.2=0, ACC.6=1, 因此转至 L2, 而且将 ACC.6 清零。 3-28 解答: ( 1) ( 2) : MOV A, P1 CPL A ANL A, #0F0H SWAP A MOV P1, A LOOP: JNB P1.4, L1 ; JNB P1.5, L2 ; JNB P1.6, L3 ; JNB P1.7, L4 ; LJMP LOOP ; L1: MOV P1, #01H ; LJMP LOOP ; L2: MOV P1, #02H ; LJMP LOOP ; L3: MOV P1, #03H ; LJMP LOOP ; L4: MOV P1, #04H ; LJMP LOOP 4-1 解答: ORG 0100H MOV A, 21H ; 第 4 章 汇编语言程序设计 ADD A, 23H MOV 25H, A MOV A, 20H ADDC A, 22H MOV 24H, A RET 4-2 解答: ORG 0200H MOV A, 51H MOV B, #20 MUL AB MOV 53H, A MOV 52H, B MOV A, 50H MOV B, #3 MUL AB ADD A, 53H MOV 53H, A MOV A, B ADDC A, 52H MOV 52H, A RET 4-3 解答: 开始 X→A 暂存 Y A<20? N Y A<50?  2→B 5→B  N 1→B A×B→A A→FUNC 保存结果 返回 题图 4-1 习题 4-3 流程图 ORG 0300H MOV A, DATA CJNE A, #20, LOP1 LOP1: JC LOP3 CJNE A, #50, LOP2 LOP2: JC LOP4 MOV B, #1 LJMP LOP3: MOV LJMP LOP5 B, #2 LOP5 LOP4: MOV B, #5 LOP5: MUL AB MOV FUNC, A RET 4-4 解答: ORG 0400H MOV A, mun+1 JNB ACC.7, LOOP CLR C MOV A, num SUBB CPL A, #01H A MOV MOV SUBB num, A A, #num+1 A, #00H LOOP: CPL MOV RET A num+1, A 4-5 解答: ORG  0500H MOV DPTR, #JPTAB MOV A, R2 RL A JMP @A+DPTR JPTAB: AJMP KEY0 AJMP KEY1 AJMP KEY2 …… KEY0: AJMP … KEY15 KEY1: KEY2: … … …… KEY15: … 4-6 解答: ORG 0600H MOV R0, #40H MOV DPTR, # H MOV R7, #21H LOOP: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ RET ORG 0700H MOV DPTR, #DATA MOV R7, #10 LOOP: MOVX A, @DPTR 4-7 解答: R7, LOOP ORL A, #80H MOVX @DPTR, A INC DPTR DJNZ R7, LOOP RET 4-8 解答: LOOP: ORG MOV MOV MOV MOVX MOV 0800H DPTR, #3000H R0, #30H R7, #7 A, @DPTR @R0, A INC DPTR INC DPTR INC DJNZ R0 R7, LOOP RET 4-9 解答: ORG 0900H MOV DPTR, #1000H MOV R1, #30H MOV R7, #31H LOOP: MOVX MOV A, @DPTR @R1, A CLR A MOVX @DPTR, A INC DPTR INC R1 DJNZ R7, LOOP RET 4-10 解答: ORG 0A00H MOV R1, #DAT1 MOV DPTR, #DAT2 MOV LOOP1: MOV R6, #10H A, @R1 CJNE A, #0DH, LOOP2 LJMP LOOP3 LOOP2: MOVX @DPTR, A INC R1 INC DPTR DJNZ R6, LOOP1 LOOP3: RET 4-11 解答: ORG 0B00H MOV MOV DPTR, #3000H R7, #100 MOV one, #00H MOV two, #00H MOV three, #00H LOP1: MOVX A, @DPTR JZ LOP2 JNB ACC.7, LOP3 INC three LJMP LOP4 LOP2: INC two LJMP LOP4 LOP3: INC one LOP4: INC DPTR DJNZ R7, LOP1 RET 4-12 解答: LOP: ORG MOV MOV MOV ADD 0C00H R0, #50H A, #00H R7, #10 A, @R0 INC DJNZ MOV R0 R7, LOP B, #10 DIV MOV AB 5AH, A RET 4-13 解答: ORG  0D00H MOV R0, #40H MOV A, @R0 MOV R7, #47 LOOP: INC R0 MOV 30H, @R0 CJNE A, 30H, CHK CHK: JC LOOP1 MOV A, @R0 LOOP1: DJNZ R7, LOOP MOV MIN, A RET 4-14 解答: ORG 0E00H START: MOV R0, #40H MOV CLR R7, #19 00H LOOP: MOV A, @R0 MOV 30H, A INC R0 MOV 31H, @R0 CLR C SUBB A, @R0 JNC NEXT MOV @R0, 30H DEC R0 MOV @R0, 31H INC R0 SETB 00H NEXT: DJNZ R7, LOOP JB 00H, START MOV MOV R0, #40H DPTR, # H MOV R7, #20 LOP1: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, LOP1 RET 4-15 解答: ORG 0F00H MOV DPTR, # H MOV R7, #100 LOOP1: MOVX A, @DPTR CJNE A, #44H, LOOP2 MOV 30H, DPL MOV 31H, DPH MOV DPTR, #20A0H MOV A, 30H MOVX @DPTR, A INC DPTR MOV A, 31H MOVX @DPTR, A LJMP LOOP3 LOOP2: INC DPTR DJNZ R7, LOOP1 LOOP3: RET 4-16 解答: LOP1: LOP2: ORG MOV MOV MOV MOV CJNE JNC ADD 1000H R0, #30H R1, #50H R7, #20 A, @R0 A, #0AH, LOP2 LOP3 A, #30H LOP3: LJMP ADD LOP4 A, #37H LOP4: MOV @R1, A INC R0 INC DJNZ R1 R7, LOP1 RET 4-17 解答: ORG  1100H MOV R0, #40H MOV R1, #60H MOV R7, #N LOP1: MOV A, @R0 CJNE A, #41H, LOP2 LOP2: JNC LOP3 CLR C SUBB A, #30H LJMP LOP4 LOP3: CLR C SUBB A, #37H LOP4: MOV @R1, A INC R0 INC R1 DJNZ R7, LOP1 RET 4-18 解答: ORG 1200H MOV DPTR, # H MOV R0, #30H MOV R7, #5 LOP1: MOVX A, @DPTR ANL A, #0FH ADD A, #30H MOV INC @R0, A R0 MOVX A, @DPTR ANL A, #0F0H SWAP A ADD A, #30H MOV @R0, A INC R0 INC DPTR DJNZ R7, LOP1 MOV DPTR, # H MOV R0, #30H MOV R7, #10 LOP2: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, LOP2 RET 4-19 解答: ORG 1300H MOV DPTR, # H MOV R0, #30H MOV R7, #10 LOP1: MOVX A, @DPTR CL
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服