单片机课后习题答案[1]1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题3
1.结合MCS-51系列单片机功能框图阐明其大致组成。
答:MCS-51系列单片机内部组成如图所示。
主要有8031、8051、875l 三种机型,基于HMOS 工艺,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器(ROM, Read Only Memory)有所不同。
51子系列的主要功能为:
●8位CPU;
●片内带振荡器及时钟电路;
●128B片内数据存储器;
●4KB片内程序存储器(8031/80C31无);
●程序存储器的寻址范围为64KB;
●片外数据存储器的寻址范围为64KB;
●21B特殊功能寄存器;
●4×8根I/O线;
●1个全双工串行I/O接口,可多机通信;
●两个16位定时器/计数器;
●中断系统有5个中断源,可编程为两个优先级;
●111条指令,含乘法指令和除法指令;
●布尔处理器;
●使用单+5V电源。
2.综述80C51系列单片机各引脚的作用。
答:80C51 有4 个8 位并行I/O 口,共32 条端线:P0、P1、P2 和P3 口。每一个I/O 口都能用作输入或输出。
用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。
P0口的负载能力为8个LSTTL门电路;P1~P3口的负载能力为4个LSTTL门电路。
在并行扩展外存储器或I/O口情况下:
P0口用于低8位地址总线和数据总线(分时传送)
P2口用于高8位地址总线,
P3口常用于第二功能,
用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。
3.80C51单片机内部包含哪些主要逻辑功能部件?各有什么主要功能?
答:80C51 单片机内部包含含布尔(位)处理器的中央处理器、数据存储器和程序、并行输入/输出端口、中断系统、定时器/计数器,串行口、时钟电路、复位电路。
4.什么是ALU?简述MCS-51系列单片机ALU的功能与特点。
答:ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。在控制信号的作用下,它能完成算术加、减、乘、除和逻辑与、或、异或等运算以及循环移位操作、位操作等功能。
5.如何认识:80C51存储器空间在物理结构上可划分为4个空间,而在逻辑上又可划分为3个空间?
答:而80C51 在物理结构上有4 个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。但在逻辑上,即从用户使用的角度上,80C51 有三个存储空间:片内外统一编址的64KB程序存储器地址空间(用16位地址)、256 B片内数据存储器的地址空间(用8位地址)及64KB片外数据存储器地址空间(用16位地址)。在访问
三个不同的逻辑空间时,应采用不同形式的指令(见指令系统),以产生不同的存储空间的选通信号。
6.什么是指令?什么是程序?简述程序在计算机中的执行过程。
答:指令由操作码和操作数构成,分别表示何种操作和操作数的存储地址;
而程序则是:程序是可以连续执行,并能够完成一定任务的一条条指令的集合。
程序执行是由控制器控制的,控制器是CPU的大脑中枢,它包括定时控制逻辑、指令寄
存器IR、数据指针DPTR及程序计数器PC、堆栈指针SP、地址寄存器、地址缓冲器等。它的功能是对程序的逐条指令进行译码,并通过定时和控制电路在规定的时刻发出各种操作所需的内部和外部控制信号,协调各部分的工作,完成指令规定的操作。
7.什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP重新赋值?如果CPU在操作中要使用两组工作寄存器,你认为SP的初值应为多大?
答:堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。
80C51片内RAM的部分单元可以用做堆栈。有一个8位的堆栈指针寄存器SP,专用于
指出当前堆栈顶部是片内RAM的哪一个单元。80C51单片机系统复位后SP的初值为07H,也就是将从内部RAM 的08H 单元开始堆放信息。但是,80C51 系列的栈区不是固定的,只要通过软件改变SP寄存器的值便可更动栈区。为了避开工作寄存器区和位寻址区,SP 的初值可置为2FH或更大的地址值。
如果CPU在操作中要使用两组工作寄存器,如果不使用位变量,SP的初值至少应为0FH 或更大的值;如果使用位变量,SP 的初值至少应为2FH 或更大的值;Keil C51 编译器会自动计算SP的初始设定值,无需编程者关心。
8.程序状态寄存器PSW的作用是什么?常用状态标识有哪几位?作用是什么?
答:PSW 是8 位寄存器,用做程序运行状态的标识。
表4.7 PSW寄存器各位名称及地址
地址D7H D6H D5H D4H D3H D2H D1H D0H
名称 C AC F0 RS1 RS0 OV F1 P
当CPU进行各种逻辑操作或算术运算时,为反映操作或运算结果的状态,把相应的标识
位置位或清0。这些标识的状态,可由专门的指令来测试,也可通过指令读出。它为计算机确定程序的下一步运行方向提供依据。PSW寄存器中各位的名称及地址如表4.7所示,下面
说明各标识位的作用。
●P:奇偶标识。该位始终跟踪累加器A的内容的奇偶性。如果有奇数个1,则置P为1,否则清0。在80C5l的指令系统中,凡是改变累加器A中内容的指令均影响奇偶标识位P。
●F1:用户标识。由用户置位或复位。
●OV:溢出标识。有符号数运算时,如果发生溢出,OV置1,否则清0。对于1B的有
符号数,如果用最高位表示正、负号,则只有7 位有效位,能表示-128~+127 之间
的数。如果运算结果超出了这个数值范围,就会发生溢出,此时,OV = l,否则OV
= 0。在乘法运算中,OV = l表示乘积超过255;在除法运算中,OV = l表示除数为0。
●RS0、RSl:工作寄存器组选择位。用于选择指令当前工作的寄存器组。由用户用软
件改变RS0 和RSl的组合,以切换当前选用的工作寄存器组,单片机在复位后,RS0
= RSl = 0,CPU自然选中第0组为当前工作寄存器组。根据需要,用户可利用传送指
令或位操作指令来改变其状态,这样的设置为程序中快速保护现场提供了方便。
●F0:用户标识位,同F1。
●AC:半进位标识。当进行加法(或减法)运算时,如果低半字节(位3)向高半字