单片机原理及应用(姜志海第3版)习题参考答案.doc

上传人:11****ws 文档编号:2421475 上传时间:2019-05-12 格式:DOC 页数:30 大小:432.50KB
下载 相关 举报
单片机原理及应用(姜志海第3版)习题参考答案.doc_第1页
第1页 / 共30页
单片机原理及应用(姜志海第3版)习题参考答案.doc_第2页
第2页 / 共30页
单片机原理及应用(姜志海第3版)习题参考答案.doc_第3页
第3页 / 共30页
单片机原理及应用(姜志海第3版)习题参考答案.doc_第4页
第4页 / 共30页
单片机原理及应用(姜志海第3版)习题参考答案.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、第 1 页 共 30 页 m单片机原理及应用(第 3 版) 习题参考答案姜志海 黄玉清 刘连鑫 编著电子工业出版社目录第 1 章 概述 .2第 2 章 MCS51 系列单片机硬件结构 .4第 3 章 MCS51 系列单片机指令系统 .8第 4 章 MCS51 系列单片机汇编语言程序设计 .11第 5 章 MCS51 系列单片机硬件资源的应用 .15第 6 章 MCS51 系列单片机并行扩展接口技术 .19第 7 章 MCS51 系列单片机串行总线扩展技术 .23第 8 章 单片机应用系统设计 .25第 2 页 共 30 页 m第 1 章 概述1简述微型计算机的结构及各部分的作用微型计算机在硬件

2、上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设) 。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元 CPU(Central Process Unit) 。2微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件(运算器和

3、控制器)集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组) 。微型计算机由 CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。3简述在微型计算机中的地址总线、数据总线和控制总线的作用。所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线 AB(Address Bus) 、数据总线 DB(Data Bus)

4、、控制总线CB(Control Bus)三种。(1)地址总线:地址总线是 CPU 用来向存储器或 I/O 接口传送地址信息的,是三态单向总线。地址总线的宽度决定了 CPU 可直接寻址的内存容量。通过地址总线确定要操作的存储单元或 I/O 接口的地址。(2)数据总线:数据总线是 CPU 与存储器及外设交换数据的通路,是三态双向总线。(3)控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如 CPU向存储器或 I/O 接口电路输出读信号、写信号、地址有效信号,而 I/O 接口部件向 CPU 输入复位信号、中断请求信号等。4微型计算机是以 CPU 为核心,配上(存储器) 、 (输

5、入/输出接口)和系统总线组成的计算机。5在计算机内部,一切信息的存取、处理和传递的形式是(C ) 。AASCII 码 BBCD 码 C二进制 D十六进制609 的 ASCII 码是(C ) 。第 3 页 共 30 页 mA09 B3039 C30H39H D40H49H7假设某 CPU 含有 16 根地址线,8 根数据线,则该 CPU 的最大寻址能力是多少 KB?64KB8简述单片机的定义、特点、应用领域和发展方向。定义:它采用一定的工艺手段将 CPU、存储器和 I/O 口集成在一个芯片上。特点: 单片机 CPU 的抗干扰性强,工作温度范围宽,而通用微机 CPU 一般要求在室温下工作,抗干扰能

6、力较弱。 单片机 CPU 可靠性强,在工业控制中,任何差错都有可能造成极其严重的后果。 单片机 CPU 控制功能往往很强,数值计算能力较差,而通用微机 CPU 具有很强的数值运算能力,但控制能力相对较弱,将通用微机用于工业控制时,一般需要增加一些专用的接口电路。 单片机 CPU 指令系统比通用微机系统简单。 单片机 CPU 更新换代速度比通用微机处理器慢得多。应用领域:单片机在智能仪表中的应用单片机在机电一体化中的应用单片机在实时控制中的应用在军工领域的应用单片机在分布式多机系统中的应用在民用电子产品中的应用发展趋势: CPU 的改进存储器的发展片内 I/O 口的改进一般单片机都有较多的并行口

7、,以满足外围设备、芯片扩展的需要,并配以串行口,以满足对多机通信功能的要求。 提高并行口的驱动能力。这样可减少外围驱动芯片。有的单片机直接输出大电流和高电压,以便能直接驱动 LED 和 VFD(荧光显示器)等。 增加 I/O 口的逻辑控制功能。中、高档单片机的位处理系统能够对 I/O 口线进行位寻址及位操作,这加强了 I/O 口线控制的灵活性。 特殊的串行接口功能。为单片机构成网络系统提供更便利的条件。外围电路内装化低功耗与工作电压范围加宽低噪声与高可靠性技术ISP 及 IAP第 4 页 共 30 页 m第 5 页 共 30 页 m第 2 章 MCS51 系列单片机硬件结构1MCS51 系列单

8、片机内部有哪些主要的逻辑部件?MCS51 单片机是在一块芯片上集成了 CPU、RAM、ROM、定时器/计数器和多种 I/O 功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:一个 8 位的 CPU、一个布尔处理机、一个片内振荡器、128B 的片内数据存储器、4KB 的片内程序存储器(8031 无) 、外部数据存储器和程序存储器的寻址范围为 64KB、21 个字节的专用寄存器、4 个 8 位并行 I/O 接口、一个全双工的串行口、2 个 16 位的定时器/计数器、5 个中断源、2 个中断优先级、111条指令、片内采用单总线结构。2MCS51 单片机设有 4 个 8 位并行端口,实际应用

9、中 8 位数据信息由哪个端口传送?16 位地址线怎样形成?P3 口有何功能?8 位数据信息由 P0 口传送。P2 口形成地址大高 8 位,P0 口结果锁存器形成地址的低 8 位。P3 口除具有一般的输入/输出功能,还具有第 2 功能:P3.0 RXD 串行口输入端P3.1 TXD 串行口输出端P3.2 INT0 外部中断 0 请求输入端,低电平有效P3.3 1 外部中断 1 请求输入端,低电平有效P3.4 T0 定时器/计数器 0 计数脉冲输入端P3.5 T1 定时器/计数器 1 计数脉冲输入端P3.6 WR 外部数据存储器及 I/O 接口写选通信号输出端,低电平有效P3.7 D 外部数据存储

10、器及 I/O 接口读选通信号输出端,低电平有效3MCS51 单片机内部 RAM 区的功能结构如何分配?4 组工作寄存器使用时如何选择?位寻址区域的字节范围是多少?MCS51 单片机片内 RAM 共有 128B,字节范围为 00H7FH,可分为工作寄存器区、位寻址区、数据缓冲区共 3 个区域。(1)工作寄存器区00H1FH 单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存 8 位信息。工作寄存器分成 4 组,每组都是 8 个寄存器,用 R0R7 来表示。程序中每次只用一组,其余各组不工作。使用哪一组寄存器工作,由程序状态字 PSW 中的 PSW.3(RS0)和 PSW.4(RS1)两位

11、来选择,其对应关系如表所示。该区域当不被用做工工作寄存器组的选择表PSW.4(RS1) PSW.3(RS0)当前使用的工作寄存器组R0R70 0 0 组(00H07H)0 1 1 组( 08H0FH)1 0 2 组(10H17H)1 1 3 组( 18H1FH)第 6 页 共 30 页 m作寄存器时,可以作为一般的 RAM 区使用。(2)位寻址区20H2FH 单元是位寻址区。这 16 个单元(共计 16 8 = 128 位)的每一位都赋予了一个位地址,位地址范围为 00H7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。0

12、组1 组2 组00H07H08H0FH10H17H18H1FH 3 组工作寄存器区07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 404F 4E 4D 4C 4B 4A 49 4857 56 55 54 53 52 51 505F 5E

13、5D 5C 5B 5A 59 5867 66 65 64 63 62 61 606F 6E 6D 6C 6B 6A 69 6877 76 75 74 73 72 71 7020H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH 7F 7E 7D 7C 7B 7A 79 78位寻址区30H7FH 数据缓冲区该区域当不被用做位寻址区时,可以作为一般的 RAM 区使用。(3)数据缓冲区30H7FH 是数据缓冲区,即用户 RAM,共 80 个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度

14、使用。因此,前两个区未使用的单元也可作为用户 RAM 单元使用,使容量较小的片内 RAM 得以充分利用。4简述程序状态字 PSW 中各位的含义。程序状态字 PSW 是一个 8 位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW 中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。 PSW.7 C AC F0 RS1 RS0 OV P PSW.6 PSW.5 PSW.4PSW.3 PSW.2 PSW.1 PSW.0 进位标志 C(PSW.7)在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示

15、运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时) ,则 C = 1,否则 C = 0。 辅助进位(或称半进位)标志位 AC(PSW.6)它表示两个 8 位数运算,低 4 位有无进(借)位的状况。当低 4 位相加(或相减)时,若 D3第 7 页 共 30 页 m位向 D4 位有进位(或借位) ,则 AC = 1,否则 AC = 0。在 BCD 码运算的十进制调整中要用到该标志。 用户自定义标志位 F0(PSW.5)用户可根据自己的需要为 F0 赋予一定的含义,通过软件置位或清零,并根据 F0 = 1 或 0 来决定程序的执行方式,或系统某一种工作状态。 工作寄存器组选择位

16、RS1、RS0(PSW.4、PSW.3)可用软件置位或清零,用于选定当前使用的 4 个工作寄存器组中的某一组。 溢出标志位 OV(PSW.2)做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1 表示加减运算超出了累加器所能表示的数值范围(128+127) ,即产生了溢出,因此运算结果是错误的。OV = 0 表示运算正确,即无溢出产生。执行乘法指令 MUL AB 也会影响 OV 标志,当积大于 255 时,OV = 1,否则 OV = 0;执行除法指令 DIV AB 也会影响 OV 标志,如 B 中所存放的除数为 0,则 OV = 1,否则 0V = 0。

17、 奇偶标志位 P(PSW.0)在执行指令后,单片机根据累加器 A 中 1 的个数的奇偶自动将该标志置位或清零。若 A 中 1 的个数为奇数,则 P = 1,否则 P = 0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。5简述 MCS51 单片机程序存储器的几个特殊入口地址的含义。0000H:程序入口地址0003H:外部中断 0 中断服务程序入口地址000BH:定时器/计数器 0 溢出中断服务程序入口地址0013H:外部中断 1 中断服务程序入口地址001BH:定时器/计数器 1 溢出中断服务程序入口地址0023H:串行口发送/接收中断服务程序入口地址6位地址 7FH 与

18、字节地址 7FH 有何区别?位地址 7FH 具体在内存中的什么位置?二者存储的数据位数不一样。位地址 7FH 存放一位二进制数,字节地址 7FH 存放 8 为二进制数。位地址 7FH 具体在内存中字节地址为 20H 的最高位上。7试分别说明程序计数器 PC 和堆栈指针 SP 的作用。复位后 PC 和 SP 各为何值?程序计数器 PC 是一个 16 位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为0000H。MCS51 单片机的堆栈是在片内 RAM 中开辟的一个专用区。堆栈指针 SP 是一个 8 位专用寄存器,用来存放栈顶的地址。进栈时,SP 自动加 1,将数据压入 SP 所指定的地址

19、单元;出栈时,将 SP 所指示的地址单元中的数据弹出,然后 SP 自动减 1。因此 SP 总是指向栈顶。复位后为 07H。8MCS51 单片机设置 4 组工作寄存器,开机复位后,CPU 使用的是哪组寄存器?它们的地址第 8 页 共 30 页 m如何?CPU 如何改变当前工作寄存器组?第 0 组。字节地址为 00H07H。通过 PSW 的 RS1、RS0 来改变。9什么是时钟周期、机器周期和指令周期?当外部的振荡频率是 8MHz 时,8051 单片机的机器周期为多少?MCS51 单片机的时序由下面 4 种周期构成。(1)振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。(2)状态周期(时钟

20、周期)两个振荡周期为一个状态周期,用 S 表示。两个振荡周期作为两个节拍分别称为节拍 P1 和节拍 P2。在状态周期的前半周期 P1 有效时,通常完成算术逻辑运算;在后半周期 P2 有效时,一般进行内部寄存器之间的传输。(3)机器周期CPU 执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。(4)指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS51 系列单片机除乘法、除法指令是 4 机器周期指令外,其余都是单周期指令和双周期指令。若用 12MHz 晶体振荡器(晶振) ,则单周期

21、指令和双周期指令的指令周期时间分别是 1s 和 2s,乘法和除法指令为4s。通过上面的分析,我们可以看出,外部晶振的二分频是 MCS51 单片机的内部时钟周期,6 个时钟周期构成了单片机的机器周期。如果单片机的外部晶振是 8MHz,则其内部的机器周期是 1.5s。12已知 PSW = 10H,则工作寄存器 R0 的地址是 10H ,R4 的地址是 14H 。工作寄存器组的选择表PSW.4(RS1) PSW.3(RS0)当前使用的工作寄存器组R0R70 0 0 组( 00H07H)0 1 1 组(08H0FH)1 0 2 组( 10H17H)1 1 3 组(18H1FH)第 9 页 共 30 页

22、 m第 3 章 MCS51 系列单片机指令系统1访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。访问外部数据存储器:MOVXA,DPTRMOVXDPTR,AMOVXA,RiMOVXRi,A访问程序存储器:MOVCA,A+DPTRMOVCA,A+PC2设堆栈指针 SP 中的内容为 60H,内部 RAM 中 30H 和 31H 单元的内容分别为 24H 和 10H,执行下列程序段后,61H、62H、30H、31H、DPTR 及 SP 的内容将有何变化?PUSH 30HPUSH31HPOP DPLPOP DPHMOV 30H,#00HMOV 31H,#0FFH(61H)=24H (62

23、H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H3设(A) = 40H,(R1) = 23H,(40H) = 05H。执行下列两条指令后,累加器 A 和 R1 以及内部RAM 中 40H 单元的内容各为何值?XCH A,R1XCHDA,R1(A)=25H (R1)=40H (40H)=03H4设(A) = 01010101B,(R5) = 10101010B,分别写出执行 ANL A,R5;ORL A,R5;XRL A,R5 指令后的结果。00000000B 11111111B 11111111B5简述转移指令 AJMP addr11,SJMP

24、 rel,LJMP addr16 及 JMP A + DPTR 的应用。AJMP addr11:2K 范围内的转移;SJMP rel:256 字节复位内的转移;LJMP addr16:64K 范围内的转移;JMP A + DPTR:在某一地址开始的 256 字节范围内的转移。6试用三种方法实现累加器 A 和寄存器 B 的内容交换。(1) MOV R0,AMOV A,BMOV B,R0(2) PUSH APUSH BPOP APOP B(3) MOV R0,B第 10 页 共 30 页 mXCH A,R0MOV B,R07写出实现下列要求的指令或程序片段。(1)将内部 RAM20H 单元内容与累

25、加器 A 内容相加,结果存放在 20H 单元中。(2)将内部 RAM30H 单元内容与内部 RAM31H 单元内容相加,结果存放到内部 RAM31H 单元中。(3)将内部 RAM20H 单元内容传送到外部 RAM2000H 单元中。(4)使内部 RAM20H 单元的 D7 和 D3 位清零,其他位保持不变。(5)使内部 RAM20H 单元的 D7 和 D3 位置 1,D5 位清零,其他位保持不变。(6)使内部 RAM20H 单元的 D7 和 D3 位置 1,D5 位取反,其他位保持不变。(1) ADD A,20HMOV 20H,A(2) MOV A,30HADD A,31HMOV 31H,A(

26、3) MOV A,20HMOV DPTR,#2000HMOVX DPTR,A(4) CLR 03HCLR 07H或:ANL 20H,#01110111B(5) SETB 03HSETB 07HCLR 05H或:ORL 20H,#10001000BANL 20H,#11011111B(6) SETB 03HSETB 07HCPL 05H或:ORL 20H,#10001000BXRL 20H,#00100000B8试分析下列程序段执行后,(A) =?,(30H) =?MOV 30H,#0A4HMOV A,#0D6HMOV R0,#30HMOV R2,#5EHANL A,R2ORL A,R0SWAP ACPL AXRL A,#0FEHORL 30H,A(A)=6EH (30H)=0EFH9设片内 RAM(30H) = 0EH,执行下面的程序后,(A)=?,指出该程序完成的功能。

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

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。