第1页共29页m《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录第1章概述................................................2第2章MCS51系列单片机硬件结构...........................4第3章MCS51系列单片机指令系统...........................8第4章MCS51系列单片机汇编语言程序设计...................11第5章MCS51系列单片机硬件资源的应用....................16第6章MCS51系列单片机并行扩展接口技术..................20第7章MCS51系列单片机串行总线扩展技术..................25第8章单片机应用系统设计.................................27第2页共29页m第1章概述1.简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(CentralProcessUnit)。2.微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。3.简述在微型计算机中的地址总线、数据总线和控制总线的作用。所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线AB(AddressBus)、数据总线DB(DataBus)、控制总线CB(ControlBus)三种。(1)地址总线:地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。地址总线的宽度决定了CPU可直接寻址的内存容量。通过地址总线确定要操作的存储单元或I/O接口的地址。(2)数据总线:数据总线是CPU与存储器及外设交换数据的通路,是三态双向总线。(3)控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。4.微型计算机是以CPU为核心,配上(存储器)、(输入/输出接口)和系统总线组成的计算机。5.在计算机内部,一切信息的存取、处理和传递的形式是(C)。A.ASCII码B.BCD码C.二进制D.十六进制6.0~9的ASCII码是(C)。A.0~9B.30~39C.30H~39HD.40H~49H第3页共29页m7.假设某CPU含有16根地址线,8根数据线,则该CPU的最大寻址能力是多少KB?64KB8.简述单片机的定义、特点、应用领域和发展方向。定义:它采用一定的工艺手段将CPU、存储器和I/O口集成在一个芯片上。特点:①单片机CPU的抗干扰性强,工作温度范围宽,而通用微机CPU一般要求在室温下工作,抗干扰能力较弱。②单片机CPU可靠性强,在工业控制中,任何差错都有可能造成极其严重的后果。③单片机CPU控制功能往往很强,数值计算能力较差,而通用微机CPU具有很强的数值运算能力,但控制能力相对较弱,将通用微机用于工业控制时,一般需要增加一些专用的接口电路。④单片机CPU指令系统比通用微机系统简单。⑤单片机CPU更新换代速度比通用微机处理器慢得多。应用领域:①单片机在智能仪表中的应用②单片机在机电一体化中的应用③单片机在实时控制中的应用④在军工领域的应用⑤单片机在分布式多机系统中的应用⑥在民用电子产品中的应用发展趋势:②CPU的改进②存储器的发展③片内I/O口的改进一般单片机都有较多的并行口,以满足外围设备、芯片扩展的需要,并配以串行口,以满足对多机通信功能的要求。①提高并行口的驱动能力。这样可减少外围驱动芯片。有的单片机直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)等。②增加I/O口的逻辑控制功能。中、高档单片机的位处理系统能够对I/O口线进行位寻址及位操作,这加强了I/O口线控制的灵活性。③特殊的串行接口功能。为单片机构成网络系统提供更便利的条件。④外围电路内装化⑤低功耗与工作电压范围加宽⑥低噪声与高可靠性技术⑦ISP及IAP第4页共29页m第2章MCS51系列单片机硬件结构1.MCS51系列单片机内部有哪些主要的逻辑部件?MCS51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111条指令、片内采用单总线结构。2.MCS51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送?16位地址线怎样形成?P3口有何功能?8位数据信息由P0口传送。P2口形成地址大高8位,P0口结果锁存器形成地址的低8位。P3口除具有一般的输入/输出功能,还具有第2功能:P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2INT0外部中断0请求输入端,低电平有效P3.3INT1外部中断1请求输入端,低电平有效P3.4T0定时器/计数器0计数脉冲输入端P3.5T1定时器/计数器1计数脉冲输入端P3.6WR外部数据存储器及I/O接口写选通信号输出端,低电平有效P3.7RD外部数据存储器及I/O接口读选通信号输出端,低电平有效3.MCS51单片机内部RAM区的功能结构如何分配?4组工作寄存器使用时如何选择?位寻址区域的字节范围是多少?MCS51单片机片内RAM共有128B,字节范围为00H~7FH,可分为工作寄存器区、位寻址区、数据缓冲区共3个区域。(1)工作寄存器区00H~1FH单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都是8个寄存器,用R0~R7来表示。程序中每次只用一组,其余各组不工作。使用哪一组寄存器工作,由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择,其对应关系如表所示。该区域当不被用做工工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组R0~R7000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)第5页共29页m作寄存器时,可以作为一般的RAM区使用。(2)位寻址区20H~2FH单元是位寻址区。这16个单元(共计16×8=128位)的每一位都赋予了一个位地址,位地址范围为00H~7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。00H…07H08H…0FH10H…17H18H…1FH0组工作寄存器区1组2组3组20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH0706050403020100位寻址区0F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241404F4E4D4C4B4A494857565554535251505F5E5D5C5B5A595867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A797830H…7FH数据缓冲区该区域当不被用做位寻址区时,可以作为一般的RAM区使用。(3)数据缓冲区30H~7FH是数据缓冲区,即用户RAM,共80个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。4.简述程序状态字PSW中各位的含义。程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。PSW.7CACF0RS1RS0OV——PPSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0①进位标志C(PSW.7)在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时),则C=1,否则C=0。②辅助进位(或称半进位)标志位AC(PSW.6)它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位第6页共29页m向D4位有进位(或借位),则AC=1,否则AC=0。在BCD码运算的十进制调整中要用到该标志。③用户自定义标志位F0(PSW.5)用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0=1或0来决定程序的执行方式,或系统某一种工作状态。④工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。⑤溢出标志位OV(PSW.2)做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV=1表示加减运算超出了累加器所能表示的数值范围(–128~+127),即产生了溢出,因此运算结果是错误的。OV=0表示运算正确,即无溢出产生。执行乘法指令MULAB也会影响OV标志,当积大于255时,OV=1,否则OV=0;执行除法指令DIVAB也会影响OV标志,如B中所存放的除数为0,则OV=1,否则0V=0。⑥奇偶标志位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与字节地址7FH有何区别?位地址7FH具体在内存中的什么位置?二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。位地址7FH具体在内存中字节地址为20H的最高位上。7.试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?程序计数器PC是一个16位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为00