·16·
} }
单片机原理与嵌入式系统设计―课后习题参考答案---电子版
/********************************************************* * 函数说明:延时5us,晶振改变时只用改变这一个函数!
1、对于11.0592M晶振而言,需要2个_nop_(); 2、对于22.1184M晶振而言,需要4个_nop_();
* 入口参数:无 * 返回: 无 * 创建日期:20010623 * 作者: 张齐
*********************************************************/ void delay_5us(void)//延时5us,晶振改变时只用改变这一个函数! {
_nop_(); _nop_(); //_nop_(); //_nop_(); }
/************ delay_50us ***************/ void delay_50us(void)//延时50us {
unsigned char i;
for(i=0;i<4;i++) {
delay_5us(); } }
/******** 延时100us ******************/ void delay_100us(void)//延时100us {
delay_50us(); delay_50us(); }
/*********** 延时单位:ms *******************/ void time(unsigned int ucMs)//延时单位:ms {
unsigned char j;
while(ucMs>0){
for(j=0;j<10;j++) delay_100us(); ucMs--; }
《单片机应用系统设计技术――基于C51的Proteus仿真(第2版)》课后习题参考答案---电子版 ·17· }
习题4
1.结合MCS-51系列单片机功能框图阐明其大致组成。 答:
MCS-51系列单片机内部组成如图所示。
图4.1 MCS-51系列单片机内部组成
主要有8031、8051、875l三种机型,基于HMOS工艺,它们的指令系统与芯片引脚完全兼容,只是片内程序存储器(ROM, Read Only Memory)有所不同。
51子系列的主要功能为: z 8位CPU;
z 片内带振荡器及时钟电路; z 128B片内数据存储器;
z 4KB片内程序存储器(8031/80C31无); z 程序存储器的寻址范围为64KB; z 片外数据存储器的寻址范围为64KB; z 21B特殊功能寄存器; z 4×8根I/O线;
z 1个全双工串行I/O接口,可多机通信; z 两个16位定时器/计数器;
z 中断系统有5个中断源,可编程为两个优先级; z 111条指令,含乘法指令和除法指令; z 布尔处理器; z 使用单+5V电源。
2.综述80C51系列单片机各引脚的作用。 答:
80C51有4个8位并行I/O口,共32条端线: P0、P1、P2和P3口。每一个I/O口都能
·18· 用作输入或输出。
单片机原理与嵌入式系统设计―课后习题参考答案---电子版
用作输入时,均须先写入“1”;用作输出时,P0口应外接上拉电阻。
P0口的负载能力为8个LSTTL门电路; P1~P3口的负载能力为4个LSTTL门电路。
在并行扩展外存储器或I/O口情况下:
P0口用于低8位地址总线和数据总线(分时传送) P2口用于高8位地址总线, P3口常用于第二功能,
用户能使用的I/O口只有P1口和未用作第二功能的部分P3口端线。 (详细见主教材P82~P85)
3.80C51单片机内部包含哪些主要逻辑功能部件?各有什么主要功能? 答:
80C51单片机内部包含含布尔(位)处理器的中央处理器、数据存储器和程序、并行输入/输出端口、中断系统、定时器/计数器,串行口、时钟电路、复位电路。
(详细见主教材4.3节P85)
4.什么是ALU?简述MCS-51系列单片机ALU的功能与特点。 答:
ALU是用于对数据进行算术运算和逻辑操作的执行部件,由加法器和其他逻辑电路(移位电路和判断电路等)组成。在控制信号的作用下,它能完成算术加、减、乘、除和逻辑与、或、异或等运算以及循环移位操作、位操作等功能。
5.如何认识:80C51存储器空间在物理结构上可划分为4个空间,而在逻辑上又可划分为3个空间? 答:
而80C51在物理结构上有4个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。但在逻辑上,即从用户使用的角度上,80C51有三个存储空间:片内外统一编址的64KB程序存储器地址空间(用16位地址)、256 B片内数据存储器的地址空间(用8位地址)及64KB片外数据存储器地址空间(用16位地址)。在访问三个不同的逻辑空间时,应采用不同形式的指令(见指令系统),以产生不同的存储空间的选通信号。
6.什么是指令?什么是程序?简述程序在计算机中的执行过程。 答:
指令由操作码和操作数构成,分别表示何种操作和操作数的存储地址;
《单片机应用系统设计技术――基于C51的Proteus仿真(第2版)》课后习题参考答案---电子版 ·19· 而程序则是:程序是可以连续执行,并能够完成一定任务的一条条指令的集合。 程序执行是由控制器控制的,控制器是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所示,下面说明各标识位的作用。
z P:奇偶标识。该位始终跟踪累加器A的内容的奇偶性。如果有奇数个1,则置P为1,否则清0。在80C5l的指令系统中,凡是改变累加器A中内容的指令均影响奇偶标识位P。
z F1:用户标识。由用户置位或复位。
z OV:溢出标识。有符号数运算时,如果发生溢出,OV置1,否则清0。对于1B的
·20· 单片机原理与嵌入式系统设计―课后习题参考答案---电子版
有符号数,如果用最高位表示正、负号,则只有7位有效位,能表示-128~+127之间的数。如果运算结果超出了这个数值范围,就会发生溢出,此时,OV = l,否则OV = 0。在乘法运算中,OV = l表示乘积超过255;在除法运算中,OV = l表示除数为0。
z RS0、RSl:工作寄存器组选择位。用于选择指令当前工作的寄存器组。由用户用软件改变RS0和RSl的组合,以切换当前选用的工作寄存器组,单片机在复位后,RS0 = RSl = 0,CPU自然选中第0组为当前工作寄存器组。根据需要,用户可利用传送指令或位操作指令来改变其状态,这样的设置为程序中快速保护现场提供了方便。 z F0:用户标识位,同F1。
z AC:半进位标识。当进行加法(或减法)运算时,如果低半字节(位3)向高半字节(位4)有进位(或借位),AC置1,否则清0。AC也可用于BCD码调整时的判别位。
z CY:进位标识。在进行加法(或减法)运算时,如果操作结果最高位(位7)有进位,CY置1,否则清0。在进行位操作时,CY又作为位操作累加器C。
9.在80C51扩展系统中,片外程序存储器和片外数据存储器共处同一地址空间为什么不会发生总线冲突? 答:
在80C51扩展系统中,片外程序存储器和片外数据存储器虽然共处同一地址空间,但是在物理上是两个独立的存储空间,这两个空间都使用相同的16位地址线和8位数据线,分别为两个64KB的寻址空间,它们的选通控制信号不同。程序存储器使用PSEN作为取指令控制信号,数据存储器使用WR、RD作为存取数据控制信号。所以不会发生总线冲突。
从指令周期角度来看,取指令周期访问片外程序存储器,PSEN有效,执行指令周期则存取数据,WR、RD信号有效,访问的是片外数据存储器。
10.综述P0、P1、P2和P3口各有哪几种功能? 答:
参见主教材P96~P100
11.阐明“准双向口”这一名词之所以要加“准”字的理由。 答:
① 80C51的32条I/O线隶属于4个8位双向端口,每个端口均由锁存器(即特殊功能寄存器P0~P3)、输出驱动器和输入缓冲器组成;
② P1、P2和P3口均有内部上拉电阻,当它们用做通用I/O时,在读引脚状态时,各口对应的锁存器必须置1,所以为准双向口;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库单片机原理与嵌入式系统设计课后答案(4)在线全文阅读。
相关推荐: