《周国运版51单片机课后习题答案.pdf》由会员分享,可在线阅读,更多相关《周国运版51单片机课后习题答案.pdf(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 1章 习 题 答 案 1.什 么 是 单 片 机?答:将 中 央 处 理 器(Central Processing Unit,CPU)、随 机 存 储 器、只 读 存 储 器、中 断 系 统、定 时 器/计 数 器 以 及 I/O接 口 电 路 等 微 型 计 算 机 的 主 要 部 件 集 成 在 一 块 芯 片 上,使 其 具 有 计 算 机 的 基 本 功 能,就 叫 做 单 片 微 型 计 算 机(Single ChipMicro Computer,SCMC),简 称 单 片 机。由 于 单 片 机 的 指 令 功 能 是 按 照 工 业 控 制 的 要 求 设 计,所 以 单 片
2、 机 又 称 为 微 控 制 器(Micro Controller Unit,MCU)。2.单 片 机 有 哪 些 特 点?答:(1)单 片 机 的 存 储 器 ROM和 RAM是 严 格 区 分 的。ROM称 为 程 序 存 储 器,只 存 放 程 序、固 定 常 数 及 数 据 表 格。RAM则 为 数 据 存 储 器,用 作 工 作 区 及 存 放 用 户 数 据。(2)采 用 面 向 控 制 的 指 令 系 统。(3)单 片 机 的 I/O引 脚 通 常 是 多 功 能 的。(4)单 片 机 的 外 部 扩 展 能 力 强。(5)单 片 机 体 积 小,成 本 低,运 用 灵 活,易
3、于 产 品 化。(6)面 向 控 制,能 有 针 对 性 地 解 决 从 简 单 到 复 杂 的 各 类 控 制 任 务,因 而 能 获 得 最 佳 的 性 能 价 格 比。(7)抗 干 扰 能 力 强,适 用 温 度 范 围 宽。(8)可 以 方 便 地 实 现 多 机 和 分 布 式 控 制,使 整 个 控 制 系 统 的 效 率 和 可 靠 性 大 为 提 高。3.单 片 机 的 应 用 有 哪 些?答:(1)工 业 控 制。单 片 机 可 以 构 成 各 种 工 业 控 制 系 统、数 据 采 集 系 统 等。如 数 控 机 床、自 动 生 产 线 控 制、电 机 控 制、测 控 系
4、统 等。(2)仪 器 仪 表。如 智 能 仪 表、医 疗 器 械、数 字 示 波 器 等。(3)计 算 机 外 部 设 备 与 智 能 接 口。如 图 形 终 端 机、传 真 机、复 印 机、打 印 机、绘 图 仪、磁 盘/磁 带 机、智 能 终 端 机 等。(4)商 用 产 品。如 自 动 售 货 机、电 子 收 款 机、电 子 秤 等。(5)家 用 电 器。如 微 波 炉、电 视 机、空 调、洗 衣 机、录 像 机、音 响 设 备 等。(6)消 费 类 电 子 产 品。(7)通 讯 设 备 和 网 络 设 备。(8)儿 童 智 能 玩 具。(9)汽 车、建 筑 机 械、飞 机 等 大 型
5、机 械 设 备。(10)智 能 楼 宇 设 备。(11)交 通 控 制 设 备。4.常 见 的 单 片 机 有 哪 些 类 型?答:1.AVR单 片 机;2.Motorola单 片 机;3.MicroChip单 片 机;4.Scenix单 片 机;5.EPSON单 片 机;7.GMS90单 片 机;8.华 邦 单 片 机 9.Zilog单 片 机;10.NS单 片 机;11.AX1001单 片 机第 2 章 习 题 答 案 1.MCS-51单 片 机 内 部 包 含 哪 些 主 要 逻 辑 功 能 部 件?答:(1)1个 8 位 的 微 处 理 器 CPU。(2)8KB的 片 内 程 序 存
6、储 器 Flash ROM(51子 系 列 的 Flash ROM为 4KB),用 于 烧 录 运 行 的 程 序、常 数 数 据。(3)256B的 片 内 数 据 存 储 器 RAM(51子 系 列 的 RAM为 128B),在 程 序 运 行 时 可 以 随 时 写 入 数 据 和 读 出,用 于 存 放 函 数 相 互 传 递 的 数 据、接 收 的 外 部 数 据、中 间 结 果、最 后 结 果 以 及 显 示 的 数 据 等。(4)3 个 16位 的 定 时 器/计 数 器(51子 系 列 仅 有 2 个 定 时 器),每 个 定 时 器/计 数 器 可 以 设 置 为 计 数 方
7、式,用 于 对 外 部 事 件 信 号 进 行 计 数,也 可 以 设 置 为 定 时 方 式,满 足 各 种 定 时 要 求。(5)有 一 个 管 理 6 个 中 断 源(51子 系 列 1 是 5 个 中 断 源)、两 个 优 先 级 的 中 断 控 制 器。(6)4 个 8 位 并 行 I/O端,每 个 端 口 既 可 以 用 作 输 入,也 可 以 用 于 输 出。(7)一 个 全 双 工 的 UART(通 用 异 步 接 收 发 送 器)串 行 I/O 口,用 于 单 片 机 之 间 的 串 行 通 信,或 者 单 片 机 与 PC机、其 它 设 备、其 它 芯 片 之 间 的 串
8、行 通 信。(8)片 内 振 荡 电 路 和 时 钟 发 生 器,只 需 外 面 接 上 一 晶 振 或 输 入 振 荡 信 号 就 可 产 生 单 片 机 所 需 要 的 各 种 时 钟 信 号。(9)有 一 个 可 寻 址 64KB外 部 数 据 存 储 器、还 可 以 寻 址 64KB外 部 程 序 存 储 器 的 三 总 线 的 控 制 电 路。2.MCS-51单 片 机 的 瓦 引 脚 有 何 功 能?信 号 为 何 种 电 平?答:诙 为 片 外 程 序 存 储 器 选 择 输 入 端。该 引 脚 为 低 电 平 时,使 用 片 外 程 序 存 储 器,为 高 电 平 时,使 用
9、片 内 程 序 存 储 器。3.MCS-51单 片 机 的 ALE引 脚 有 何 功 能?信 号 波 形 是 什 么?答:ALE为 地 址 锁 存 信 号,每 个 机 器 周 期 输 出 两 个 正 脉 冲。在 访 问 片 外 存 储 器 时 一,下 降 沿 用 于 控 制 外 接 的 地 址 锁 存 器 锁 存 从 P0 口 输 出 的 低 8 位 地 址。在 没 有 接 外 部 存 储 器 时,可 以 将 该 引 脚 的 输 出 作 为 时 钟 信 号 使 用。4.MCS-51单 片 机 的 存 储 器 分 为 哪 几 个 空 间?如 何 区 分 不 同 空 间 的 寻 址?答:MCS-5
10、1单 片 机 有 4 个 存 储 空 间,它 们 是 片 内 程 序 存 储 器 和 数 据 存 储 器,在 片 外 可 以 扩 展 的 程 序 存 储 器 和 数 据 存 储 器。这 4 个 存 储 空 间 可 以 分 成 三 类:片 内 数 据 存 储 空 间(256B的 RAM和 128B的 特 殊 功 能 寄 存 器)、片 外 数 据 存 储 空 间(64KB)、片 内 和 片 外 统 一 编 址 的 程 序 存 储 空 间(64KB)。不 同 的 存 储 空 间,它 们 有 各 自 的 寻 址 方 式 和 访 问 指 令。片 内 数 据 存 储 空 间 用 MOV指 令 访 问。片
11、外 数 据 存 储 空 间 用 MOVX指 令 访 问。片 内 和 片 外 统 一 编 址 的 程 序 存 储 空 间 用 MOVC指 令 访 问。5.简 述 MCS-51单 片 机 片 内 RAM的 空 间 分 配。内 部 RAM低 128字 节 分 为 哪 几 个 主 要 部 分?各 部 分 主 要 功 能 是 什 么?答:片 内 数 据 存 储 器 按 照 寻 址 方 式,可 以 分 为 三 个 部 分:低 128字 节 数 据 区,高 128字 节 数 据 区 间,特 殊 功 能 寄 存 器 区。低 128字 节 数 据 区 分 为 三 个 区 域:工 作寄 存 器 区,位 寻 找 区
12、 和 通 用 数 据 区。工 作 寄 存 器 区 4 组 工 作 寄 存 器;位 寻 找 区 既 可 以 做 位 操 作,也 可 以 字 节 操 作;通 用 数 据 区 用 于 堆 栈 和 存 放 程 序 运 行 时 的 数 据 和 中 间 结 果。6.简 述 MCS-51单 片 机 布 尔 处 理 器 存 储 空 间 分 配,片 内 RAM包 含 哪 些 可 以 位 寻 址 的 单 元。位 地 址 7DH与 字 节 地 址 7DH如 何 区 别?位 地 址 7DH具 体 在 片 内 RAM中 的 什 么 位 置?答:低 128字 节 数 据 区 的 位 寻 找 区 和 高 128字 节 数
13、据 区 的 某 些 可 位 寻 址 的 特 殊 功 能 寄 存 器。位 地 址 7DH与 字 节 地 址 7DH可 通 过 不 同 的 指 令 来 区 别,位 地 址 7DH用 位 寻 址 指 令 来 访 问,字 节 地 址 7DH用 字 节 寻 址 指 令 来 访 问,位 地 址 7DH在 低 128字 节 数 据 区 的 位 寻 找 区 的 2FH字 节。7.MCS-51单 片 机 的 程 序 状 态 寄 存 器 PSW的 作 用 是 什 么?常 用 标 志 有 哪 些 位?作 用 是 什 么?答:PSW是 一 个 8 位 寄 存 器,用 于 设 定 CPU的 状 态 和 指 示 指 令
14、执 行 后 的 状 态。CY(PSW,7):进 位 标 志。在 执 行 加 减 运 算 指 令 时,如 果 运 算 结 果 的 最 高 位(D7)发 生 了 进 位 或 借 位,则 CY由 硬 件 自 动 置 1。AC(PSW.6):半 进 位 标 志 位,也 称 为 辅 助 标 志 位。在 执 行 加 减 运 算 指 令 时,如 果 运 算 结 果 的 低 半 字 节(D3)发 生 了 向 高 半 字 节 进 位 或 借 位,则 AC由 硬 件 自 动 置 1。FO、Fl(PSW.5 和 PSW.1):用 户 标 志 位。用 户 可 以 根 据 需 要 对 FO、F1赋 予 一 定 的 含
15、义,由 用 户 置 1和 清 0,作 为 软 件 标 志。RSk RSO(PSW.4 和 PSW.3):工 作 寄 存 器 组 选 择 控 制 位。通 过 对 这 两 位 设 定,可 以 从 4 个 工 作 寄 存 器 组 中 选 择 一 组 作 为 当 前 工 作 寄 存 器。0V(PSW.2):溢 出 标 志 位,有 两 种 情 况 影 响 该 位。一 是 执 行 加 减 运 算 时,如 果 D7或 D6任 一 位,并 且 只 一 位 发 生 了 进 位 或 借 位,则 0V自 动 置 1,P(PSW.0):奇 偶 标 志 位。每 条 指 令 执 行 完 后,该 位 都 会 指 示 当 前
16、 累 加 器 A中 1的 个 数。如 果 A 中 有 奇 数 个 1,则 P 自 动 置 1。8.MCS-51单 片 机 复 位 后,CPU使 用 哪 组 工 作 寄 存 器?它 们 的 地 址 是 什 么?用 户 如 何 改 变 当 前 工 作 寄 存 器 组?答:MCS-51单 片 机 复 位 后,CPU使 用 0 组 工 作 寄 存 器。它 们 的 地 址 是 08H0FH。通 过 程 序 状 态 字 PSW中 的 RSk RS0标 志 位 改 变 当 前 工 作 寄 存 器 组。9.什 么 叫 堆 栈?堆 栈 指 针 SP的 作 用 是 什 么?答:堆 栈 是 在 RAM专 门 开 辟
17、 的 一 个 特 殊 用 途 的 存 储 区。堆 栈 是 按 照“先 进 后 出”(即 先 进 入 堆 栈 的 数 据 后 移 出 堆 栈)的 原 则 存 取 数 据。堆 栈 指 针 SP是 一 个 8 位 寄 存 器,其 值 为 栈 顶 的 地 址,即 指 向 栈 顶,SP为 访 问 堆 栈 的 间 址 寄 存 器。10.PC与 DPTR各 有 哪 些 特 点?有 何 异 同?答:PC与 DPTR都 是 16位 的 寄 存 器。PC由 两 个 8 位 的 计 数 器 PCH和 PCL组 成。P C 实 际 是 程 序 的 字 节 地 址 计 数 器,它 的 内 容 是 将 要 执 行 的 下
18、 一 条 指 令 的 地 址,具 有 自 加 1功 能。改 变 PC的 内 容 就 可 以 改 变 程 序 执 行 的 方 向。DPTR的 高 字 节 寄 存 器 用 DPH表 示,低 字 节 寄 存 器 用 DPL表 示。DPTR既 可 以 作 为 一 个 16位 寄 存 器 使 用,也 可 以 作 为 两 个 独 立 的 8 位 寄 存 器 使 用。DPTR主 要 用 于 存 放 16位 地 址,以 便 对 64KB的 片 外 RAM和 64KB的 程 序 存 储 空 间 作 间 接 访 问。11.测 试 哪 个 引 脚,可 以 快 捷 地 判 断 单 片 机 是 否 正 在 工 作?答:
19、若 要 检 查 单 片 机 是 否 工 作,可 以 使 用 示 波 器 查 看 ALE引 脚 是 否 有 脉 冲 信 号 输 出。12.读 端 口 锁 存 器 和“读 引 脚”有 何 不 同?各 使 用 哪 些 指 令?答:一 种 是 读 取 锁 存 器 原 来 的 输 出 值,另 一 种 情 况 是 打 开 端 口 的 缓 冲 器 读 取 引 脚 上 的 信 号,读 端 口 锁 存 器,用 MOV A,Pi指 令。“读 引 脚”,要 先 用 MOV Pi,#OFFH对 相 应 端 口 写 FFH,使 输 出 场 效 应 管 T 截 止,才 能 够 正 确 输 入,再 用 MOV A,Pi指
20、令。13.MCS-51单 片 机 的 P0 P3 口 结 构 有 何 不 同?用 作 通 用 I/O 口 输 入 数 据 时 应 注 意 什 么?答:P2 口 是 一 个 双 功 能 口,一 是 通 用 I/O 口,二 是 以 总 线 方 式 访 问 外 部 存 储 器 时 作 为 高 8 位 地 址 口。其 端 口 某 一 位 的 结 构 如 图 2 T 1 所 示,对 比 图 2 T 0 知,与 P1 口 的 结 构 类 似,驱 动 部 分 基 本 上 与 P1 口 相 同,但 比 P1 口 多 了 一 个 多 路 切 换 开 关 MUX和 反 相 器 3。P3 口 是 一 个 多 功 能
21、 口,其 某 一 位 的 结 构 见 图 2-12。与 P1口 的 结 构 相 比 不 难 看 出,P3 口 与 P1 口 的 差 别 在 于 多 了“与 非 门”3 和 缓 冲 器 4。正 是 这 两 个 部 分,使 得 P3 口 除 了 具 有 P1 口 的 准 双 向 I/O 口 的 功 能 之 外,还 可 以 使 用 各 引 脚 所 具 有 的 第 2 功 能。P0多 了 一 路 总 线 输 出(地 址/数 据)、总 线 输 出 控 制 电 路(反 相 器 3和 与 门 4)、两 路 输 出 切 换 开 关 MUX及 开 关 控 制 C,并 且 把 上 拉 电 阻 换 成 了 场 效
22、应 管 T1,以 增 加 总 线 的 驱 动 能 力。用 作 通 用 I/O 口 输 入 数 据 时 应 注 意 要 先 用 MOV Pi,#OFFH对 相 应 端 口 写 FFH,使 输 出 场 效 应 管 T 截 止,才 能 够 正 确 输 入。14.P0 口 用 作 通 用 I/O 口 输 出 数 据 时 应 注 意 什 么?答:P0 口 与 其 它 端 口 不 同,它 的 输 出 级 无 上 拉 电 阻。当 把 它 用 作 通 用 I/O 口 时,输 出 级 是 开 漏 电 路,故 用 其 输 出 去 驱 动 NMOS输 入 时 外 接 上 拉 电 阻,这 时 每 一 位 输 出 可
23、以 驱 动 4 个 LS型 TTL负 载。用 作 输 入 时,应 先 向 端 口 锁 存 器 写 1。15.什 么 叫 时 钟 周 期?什 么 叫 机 器 周 期?什 么 叫 指 令 周 期?时 钟 周 期、机 器 周 期 与 振 荡 周 期 之 间 有 什 么 关 系?答:时 钟 周 期 即 振 荡 周 期:为 晶 振 的 振 荡 周 期,是 最 小 的 时 序 单 位。状 态 周 期:是 振 荡 频 率 2 分 频 后 的 时 钟 周 期。显 然,一 个 状 态 周 期 包 含 2 个 振 荡 周 期。机 器 周 期(MC):1个 机 器 周 期 由 6 个 状 态 周 期、即 12个 振
24、 荡 周 期 组 成,是 量 度 指 令 执 行 时 间 的 单 位。指 令 周 期:是 执 行 一 条 指 令 所 需 要 的 时 间。一 个 指 令 周 期 由 1 4 个 机 器 周 期 组 成。16.MCS-51单 片 机 常 用 的 复 位 电 路 有 哪 些?复 位 后 机 器 的 初 始 状 态 如 何?答:复 位 电 路 有 两 种 方 式:上 电 自 动 复 位 电 路 和 手 动 复 位 电 路。复 位 后,程 序 计 数 器 PC变 为 0000H,使 单 片 机 从 程 序 存 储 器 地 址 0000H单 元 开 始 执 行。除 P0 P3为 FF出 SP为 07H;
25、SBUF为 不 确 定。大 部 分 特 殊 功 能 寄 存 器 清 零。17.MCS-51单 片 机 有 几 种 低 功 耗 工 作 方 式?如 何 实 现,又 如 何 退 出?答:MCS-51单 片 机 有 空 闲 和 掉 电 两 种 低 功 耗 工 作 方 式。当 CPU执 行 完 置 IDL=1的 指 令 后,系 统 就 进 入 空 闲 方 式。进 入 空 闲 方 式 之 后,有 两 种 方 法 可 以 退 出。一 种 是 任 何 中 断 请 求 被 响 应 都 可 以 由 硬 件 将 IDL位 清 0 而 结 束 空 闲 方 式。另 一 种 退 出 空 闲 方 式 的 方 法 是 硬
26、件 复 位。当 CPU执 行 完 置 PD=1的 指 令 后,系 统 就 进 入 掉 电 工 作 方 式。对 于 一 般 的 单 片 机 来 说,退 出 掉 电 方 式 的 唯 一 方 法 是 由 硬 件 复 位。第 3 章 习 题 答 案 1.简 述 MCS-51汇 编 指 令 格 式。答:MCS-51汇 编 语 言 指 令 由 四 部 分 组 成,其 一 般 格 式 如 下:标 号:操 作 码 操 作 数;注 释 格 式 中 的 方 括 号 意 为 可 以 没 有 相 应 部 分,可 以 没 有 标 号、操 作 数 和 注 释,至 少 要 有 操 作 码。其 操 作 数 部 分 最 多 可
27、 以 是 两 项:第 1操 作 数,第 2操 作 数 2.何 谓 寻 址 方 式?MCS-51单 片 机 有 哪 些 寻 址 方 式,是 怎 样 操 作 的?各 种 寻 址 方 式 的 寻 址 空 间 和 范 围 是 什 么?答:MCS-51单 片 机 有 7 种 寻 址 方 式:立 即 数 寻 址、寄 存 器 寻 址、直 接 寻 址、寄 存 器 间 接 寻 址、变 址 寻 址、位 寻 址 和 指 令 寻 址。可 以 分 为 两 类:操 作 数 寻 址 和 指 令 寻 址。立 即 数 寻 址 的 寻 址 空 间 和 范 围 是:在 程 序 存 储 空 间,随 指 令 读 入 MOV A,#46
28、H直 接 寻 址 的 寻 址 空 间 和 范 围 是:片 内 RAM中,低 128字 节 和 SFRMOV A,46H寄 存 器 寻 址 的 寻 址 空 间 和 范 围 是:使 用 R0 R7、A、B、C、DPTR MOV A,R2寄 存 器 间 接 寻 址 的 寻 址 空 间 和 范 围 是:片 内 RAM:使 用 Ri,SP;范 围 为 256B,不 含 SFR,片 外 RAM:使 用 Ri,DPTR;范 围 为 64KBMOVA,R0 MOVX A,DPTR变 址 寻 址 的 寻 址 空 间 和 范 围 是:使 用 A+PC,A+DPTR;在 程 序 存 储 器 中;范 围 分 别 为
29、PC之 后 256B之 内 和 64KB全 空 间 MOVC A,0A+DPTR位 寻 址 的 寻 址 空 间 和 范 围 是:使 用 位 地 址;在 位 寻 址 空 间;RAM的 20H 2FH和 SFR SETB 36H指 令 绝 对 寻 址 的 寻 址 空 间 和 范 围 是:操 作 数 是 目 标 地 址;在 程 序 存 储 空 间;范 围 为 2KB 或 64KB 全 空 间 AJMP FIRST LJMP SECON指 令 相 对 寻 址 的 寻 址 空 间 和 范 围 是:操 作 数 是 相 对 地 址;在 程 序 存 储 空 间;范 围-128-127 SJMP LOOP3.访
30、 问 片 内 RAM低 128字 节 使 用 哪 些 寻 址 方 式?访 问 片 内 RAM高 128字 节 使 用 什 么 寻 址 方 式?访 问 SFR使 用 什 么 寻 址 方 式?答:访 问 片 内 RAM低 128字 节 使 用 直 接 寻 址,寄 存 器 间 接 寻 址,位 寻 址;访 问 片 内 RAM高 128字 节 使 用 寄 存 器 间 接 寻 址;访 问 SFR使 用 直 接 寻 址,位 寻 址。4.访 问 片 外 RAM使 用 什 么 寻 址 方 式?答:访 问 片 外 RAM使 用 寄 存 器 间 接 寻 址 5.访 问 程 序 存 储 器 使 用 什 么 寻 址 方
31、 式?指 令 跳 转 使 用 什 么 寻 址 方 式?答:访 问 程 序 存 储 器 使 用 指 令 绝 对 寻 址,指 令 相 对 寻 址。指 令 跳 转 使 用 指 令 绝 对寻 址,指 令 相 对 寻 址。6.分 析 下 面 指 令 是 否 正 确,并 说 明 理 由。MOV R3,R7MOVB,R2DEC DPTR错,对 两 个 操 作 数 不 能 同 时 为 工 作 寄 存 器 MOV 20H.8,FOPUSH DPTRCPL 3611MOV PC,#0800H错,错,不 存 在 位 传 送 指 令 必 须 用 C不 存 在 PC不 能 访 问 错,错,7.分 析 下 面 各 组 指
32、 令,区 分 它 们 的 不 同 之 处。MOVA,30H 与 前 者 表 不:(30H)-*AMOV A,R0 与 前 者 表 示:(R0)-AMOV A,R1 与 MOV A,#30H后 者 表 示:3OH*AMOV A,R0后 者 表 示:(RO)-AMOVX A,R1前 者 表 示:在 片 内 数 据 存 储 器(RD)-A后 者 表 示:在 片 外 数 据 存 储 器(RI)-AMOVX A,R0 与 前 者 R0表 示 8 位 地 址 MOVX A,DPTR 与 前 者 表 示:(DPTR)一 MOVX A,DPTR后 者 DPTR表 示 16位 地 址 MOVC A,0A+DPT
33、RA 后 者 表 示:(DPTR)+(A)-A8.在 MCS-51 单 片 机 的 片 内 RAM 中,已 知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请 说 明 下 面 各 是 什 么 指 令 和 寻 址 方 式,以 及 每 条 指 令 执 行 后 目 的 操 作 数 的 结 果。MOVA,40H;数 据 传 送,直 接 寻 址,(A)=4811MOV RO,A;数 据 传 送,寄 存 器 寻 址,(R0)=4811MOV Pl,#OFH;数 据 传 送,立 即 数 寻 址,(Pl)=OFHMOV R0,30H;数 据 传 送,直 接 寻 址,(48H)
34、=38HMOV DPTR,#123411;数 据 传 送,立 即 数 寻 址,(DPTR)=1234HMOV 40H,30H;数 据 传 送,直 接 寻 址,(40H)=38HMOV RO,3811;数 据 传 送,直 接 寻 址,(R0)=4011MOV PO,RO;数 据 传 送,直 接 寻 址,(P0)=4011MOV 28H,#30H;数 据 传 送,立 即 数 寻 址,(28H)=3011MOV A,R0;数 据 传 送,寄 存 器 间 接 寻 址,(A)=38H9.已 知(A)=23H,(RI)=65H,(DPTR)=1FECH,片 内 RAM(65H)=70H,ROM(205CH
35、)=64Ho试 分 析 下 列 各 条 指 令 执 行 后 目 标 操 作 数 的 内 容。MOV A,R1;(A)=70HMOVX DPTR,A;(1FECH)=70HMOVC A,A+DPTR;(A)=64HXCHD A,0R1;(A)=65H10.已 知(A)=76H,(RI)=76H,(B)=4,CY=1,片 内 RAM(76H)=0D0H,(80H)=6CHo试 分 析 下 列 各 条 指 令 执 行 后 目 标 操 作 数 的 内 容 和 相 应 标 志 位 的 值。ADD A,R1;(A)=46H,CY=1SUBB A,#75H;(A)=ODOH,CY=1MUL AB;(A)=4
36、0H,(B)=03HDIV AB;(A)=15H,(B)=01HANL 76H,#7611;(76H)=5011ORL A,#OFH;(A)=1FHXRL 8011,A;(80H)=731111.已 知(A)=83H,(RO)=17H,(17H)=34H,试 分 析 当 执 行 完 下 面 程 序 段 后 累 加 器 A、RO、17H单 元 的 内 容。ANL A,#17H;(A)=03HORL 17H,A;(17H)=3711XRL A,R0;(A)=34HCPL A;(A)=OCBH12.阅 读 下 面 程 序 段,说 明 该 段 程 序 的 功 能。MOV RO,#40HMOV R7,#
37、10CLR ALOOP:MOV R0,AINC AINC RODJNZ R7,LOOPSJMP$答:把 0,1,2,3数 列 送 到 40H开 始 的 10个 单 元 中。13.阅 读 下 面 程 序 段,说 明 该 段 程 序 的 功 能。MOV R0,#4011MOV A,R0INC R0ADD A,R0MOV43H,ACLR AADDC A,#0M0V42H,ASJMP$答:40H加 41H单 元 的 数,结 果 送 42H:43H14.阅 读 下 面 程 序 段,说 明 该 段 程 序 的 功 能。MOVA,30HMOVB,#5MUL ABADD A,31HMOV 3311,ACLR
38、AADDC A,BMOV 32H,ASJMP$答:(3OH)X5+(31H)-*(3211:33H)15.编 写 程 序,用 位 处 理 指 令 实 现“P1.4=PL0V(Pl.1AP1.2)VP1.3的 逻 辑 功 能。MOV C,Pl.1ANL C,Pl.2ORL C,Pl.0ORL C,Pl.3MOV P1.3.C16.编 写 程 序,若 累 加 器 A 的 内 容 分 别 满 足 下 列 条 件,则 程 序 转 到 LABLE存 储 单 元。设 A 中 存 放 的 的 无 符 号 数。(1)A210;(2)A10;(3)AlOo(1)CJNE A,#10,NEXTLJMP LABLE
39、NEXT:JNC LABLE(2)CJNE A,#10,NEXTLJMP NEXT2NEXT:JNC LABLENEXT2:(3)CJNE A,#10,NEXTLJMP LABLENEXT:JC LABLE17.编 写 程 序,查 找 片 内 RAM的 30H 50H单 元 中 是 否 有 55H这 一 数 据,若 有,则 51H单 元 置 为 FFH;若 未 找 到,则 将 51H单 元 清 0。MOV R0,29HNEXT:INC R0CJNE R0,#51H,NEXT2MOV 51H,#OFFHAJMP OVERNEXT2:CJNE RO,#55H,NEXTMOV 51H,#0OVER:
40、18.编 写 程 序,查 找 片 内 RAM的 30H 50H单 元 中 出 现 0 的 次 数,并 将 查 找 的 结 果 存 入 51H单 元。MOV RO,30HMOV 51H,#0NEXT:CJNE R0,#00H,NEXT2INC 51HNEXT2:INC ROCJNE RO,#51H,NEXT19.在 片 外 RAM中 有 一 个 数 据 块,存 有 若 干 字 符、数 字,首 地 址 为 SOURCE要 求 将 该 数 据 块 传 送 到 片 内 RAM以 DIST开 始 的 区 域,直 到 遇 到 字 符“$”时 结 束($也 要 传 送,它 的 ASCII码 为 24H)oM
41、OV DPTR,SSOURCEMOV RO,#DISTNEXT:MOVX A,DPTRMOV R0,AINC DPTRINC ROCINE A,#24H,NEXT20.片 内 RAM的 30H和 31H单 元 中 存 放 着 一 个 16位 的 二 进 制 数,高 位 在 前,低 位 在 后。编 写 程 序 对 其 求 补,并 存 回 原 处。CLR CMOV A,#0SUBB A,31HMOV 31H,AMOV A,#0SUBB A,30HMOV 30H,A21.片 内 RAM中 有 两 个 4 字 节 压 缩 的 BCD码 形 式 存 放 的 十 进 制 数,一 个 存 放 在 30H 3
42、3H单 元 中,另 一 个 存 放 在 40H 43H单 元 中。编 写 程 序 将 它 们 相 加,结 果 的 BCD码 存 放 在 30H-33H中。CLR CMOV RO,#30HMOV RI,#40HMOV R2,#4NEXT:MOV A,R0ADDC A,R1MOV R0,AINC ROINC RIDJNZ R2,NEXT22.编 写 程 序,把 片 外 RAM从 2000H开 始 存 放 的 16字 节 数 据,传 送 到 片 内 从 30H开 始 的 单 元 中。MOV DPTR,#2000HMOV RO,#3011MOV Rl,#0NEXT:MOVX A,DPTRMOV R0,
43、AINC DPTRINC ROINC RICINE RI,#16H,NEXT第 4 章 习 题 答 案 1.用 C51编 程 较 汇 编 语 言 有 哪 些 优 势?答:(1)编 程 容 易(2)容 易 实 现 复 杂 的 数 值 计 算(3)容 易 阅 读、调 试、维 护 程 序(4)容 易 实 现 模 块 化 开 发(5)程 序 可 移 植 性 好 2.C51字 节 数 据、整 型 数 据 以 及 长 整 型 数 据 在 存 储 器 中 的 存 储 方 式 各 是 怎 样 的?答:字 符 变 量(char)无 论 是 unsigned char数 据 还 是 signed char数 据,
44、均 为 1个 字 节,即 8 位,因 此 被 直 接 存 储 在 RAM中,可 能 存 储 在 0 0 x7f区 域(包 括 位 寻 址 区 域),也 可 能 存 储 在 0 x80 Oxff区 域,与 变 量 的 定 义 有 关。整 型 变 量(int)不 管 是 unsigned int数 据 还 是 signed int数 据,均 为 2 个 字 节,即 16位,其 存 储 方 法 是 高 位 字 节 保 存 在 低 地 址(在 前 面),低 位 字 节 保 存 在 高 地 址(在 后 面)。长 整 型 变 量(long)为 4 个 字 节,即 32位,其 存 储 方 法 与 整 型 数
45、 据 一 样,是 最 高 位 字 节 保 存 的 地 址 最 低(在 最 前 面),最 低 位 字 节 保 存 的 地 址 最 高(在 最 后 面)。3.C51定 义 变 量 的 一 般 格 式 是 什 么?变 量 的 4 种 属 性 是 什 么?特 别 要 注 意 存 储 区 属 性。答:存 储 类 型 数 据 类 型 存 储 区 变 量 名 1=初 值,变 量 名 2=初 值 L 变 量 的 4 种 属 性 是 存 储 类 型,数 据 类 型,存 储 区,变 量 名 4.C51的 数 据 存 储 区 域 类 型 有 哪 些?各 种 存 储 区 域 类 型 是 哪 种 存 储 空 间,存 储
46、 范 围 是 什 么?如 何 将 变 量 定 义 存 储 到 确 定 的 位 置?答:bit片 内 数 据 区 的 位 寻 找 区,位 地 址 0 x00 Ox7f,128位(字 节 地 址 0 x20 0 x2f)data 直 接 寻 址 片 内 数 据 区 的 低 128字 节 bdata片 内 数 据 区 的 位 寻 址 区 0 x20 0 x2f,也 可 字 节 访 问,16字 节 idata间 接 寻 址 片 内 数 据 区 的 256字 节,与 MOV Ri对 应 pdata分 页 寻 址 片 外 数 据 区 的 256字 节,与 MOVX Ri对 应,P2不 变 xdata片 外
47、 数 据 区 的 全 空 间,64KBcode 全 部 程 序 存 储 空 间,64KB绝 对 定 位 关 键 字.at_,指 针,库 函 数 的 绝 对 定 位 宏。5.C51位 变 量 的 定 义 格 式 是 什 么?如 何 定 义 bdata型 字 节 变 量 的 位 变 量?答:存 储 类 型 bit 位 变 量 名 1=初 值,位 变 量 名 2U 初 值,sbit位 变 量 名=bdata型 变 量 名 位 号 常 数 6.如 何 定 义 8 位 字 节 型 特 殊 功 能 寄 存 器?如 何 定 义 16位 特 殊 功 能 寄 存 器?如 何 定 义 特 殊 功 能 寄 存 器
48、的 位 变 量?答:sfr 特 殊 功 能 寄 存 器 名=地 址 常 数 sfrl6 特 殊 功 能 寄 存 器 名=地 址 常 数 sbit 位 变 量 名=特 殊 功 能 寄 存 器 名.位 号 常 数 7.C51专 用 指 针 定 义 的 一 般 格 式 是 什 么?如 何 确 定 专 用 指 针 定 义 的 指 向 空 间 和 指 针 变 量 本 身 存 储 的 空 间?答:存 储 类 型 数 据 类 型 指 向 存 储 区*指 针 存 储 区 指 针 名 1 L*指 针 存 储 区 指 针 名 2,*的 左 面 是 指 向 存 储 区,*的 右 面 是 指 针 存 储 区 8.C5
49、1函 数 定 义 的 一 般 形 式 是 什 么?如 何 定 义 中 断 处 理 程 序?如 何 选 择 工 作 寄 存 器 组?答:返 回 类 型 函 数 名(形 参 表)函 数 模 式 reentrant interrupt m using n(局 部 变 量 定 义 执 行 语 句)interrupt m 字 段 中 的 m 定 义 中 断 处 理 程 序 的 中 断 号 using n 字 段 中 的 n 选 择 工 作 寄 存 器 组 9.在 C51中,对 汇 编 语 言 函 数 的 命 名 规 则 是 怎 样 的,具 体 地 说:不 传 递 参 数 的函 数 名 格 式 是 什 么
50、?通 过 寄 存 器 传 递 参 数 的 函 数 名 格 式 是 什 么?传 递 参 数 重 入 函 数 的 函 数 名 格 式 是 什 么?答:?PR?函 数 名?模 块 名 不 传 递 参 数?PR?一 函 数 名?模 块 名/通 过 寄 存 器 传 递 参 数?PR?_?函 数 名?模 块 名/对 重 入 函 数 通 过 堆 栈 传 递 参 数 10.在 C51中,函 数 返 回 值 传 递 的 规 则 是 什 么?答:(1)调 用 时 参 数 的 传 递 分 三 种 情 况:少 于 等 于 3 个 参 数 时 通 过 寄 存 器 传 递(寄 存 器 不 够 用 时 通 过 存 储 区