2.8 思考题与习题
2. 89C51的/EA端有何用途?
答:/EA端用作片内、外ROM的选择。
/EA=‘1’时:先用内部4KB后用外部60KB。 /EA=‘0’时:全部用外部64KB。 4. 简述89C51片内RAM的空间分配。 答:分为两部分:
低128字节为真正RAM区,地址范围00H~7FH,其中包括:工作寄存器区(地址00H~1FH)、位寻址区(字节地址20H~2FH,位地址00H~7FH)、数据缓冲区(地址30H~7FH)
高128字节为特殊功能寄存器(SFR)区,地址范围80H~FFH。 7. 89C51如何确定和改变当前工作寄存器组?
答:工作寄存器分4组,每组都有8个寄存器,用R0~R7来表示。程序中每次只能用1组。用哪一组由PSW中的PSW.3(RS0)和 PSW.4(RS1)两位来选择,通过软件设置RS0和RS1两位的状态,就可任意选一组工作。
PSW.4 (RS1) 0 0 1 1
PSW.3 (RS0) 0 1 0 1
当前使用的工作 寄存器组R0~R7 0组(00H~07H) 1组(08H~0FH) 2组(10H~17H) 3组(18H~1FH)
10. 89C51 P0~P3口结构有何不同?用作通用I/O口输人数据时,应注意什么?
答:P0口与P2口结构相似,内部都含多路转接电路MUX,用作I/O与总线的自动切换;P1口是纯I/O口,不再需要MUX;P3口为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。此外,P0口由于输出电路是漏极开路电路,因此必须外接上拉电阻才能有正常电平输出,P1~P3口内部都有上拉电阻,无需外接;P0可驱动8个TTL电路,P1~P3驱动4个TTL电路。
P0~P3均为准双向口,输入操作必须先向输出锁存器写入“1”。 16. 程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
答:PSW是8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置,而有些位的状态则用软件方法设定。PSW各位定义如下: Cy AC F0 RS1 RS0 OV — P ① 标志位(自 动设置状态)
Cy: 进位标志位,保存运算后最高位的进位/借位状态,当有进位/借位,Cy=1,否则Cy=0。
AC: 辅助进位标志位,保存低半字节的进位/借位状态,当D3产生进位/借位,AC=1,否则AC=0。用于十进制调整。
OV: 溢出标志位,OV=C7?C6,补码运算产生溢出OV=1,否则OV=0。
P: 奇偶标志位,反映累加器A中数据的奇偶性。当1的个数为奇数,P=1,否则P=0。 ② 用户选择位(编程设置状态) F0:用户自定义标志位。
RS1、RS0:工作寄存器区选择位。
17. 位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?
答:首先位与字节是不同的存储概念,位是最小的存储单位,字节是由8个位组成的,显然位地址是给存储位分配的地址,而字节地址是给字节单元分配的地址,尽管两个地址都是7CH,位地址7CH在位寻址区中,字节地址7CH在数据缓冲区中。 位地址7CH处在字节地址2FH的D4位。
18. 89C51单片机的时钟周期与振荡周期之间有什么关系?什么叫机器周期和指令周期? 答:一个时钟周期包含两个振荡周期。
机器周期:完成一个基本操作所需要的时间。一个机器周期由12个时钟周期组成。 指令周期:一条指令的执行时间。以机器周期为单位:单周期、双周期和四周期指令。 20. 什么叫堆栈?堆栈指针SP的作用是什么?89C51单片机堆栈的容量不能超过多少字节? 答:堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。 SP的内容始终为栈顶地址,数据入栈/出栈时,SP会自动加1/减 1。
89C51单片机堆栈的容量不能超过128字节。 22. PC与DPTR各有哪些特点?有何异同?
答:PC是程序指针,DPTR是片外RAM的指针。
PC的内容为将要执行指令的地址;DPTR内容通常是片外RAM地址。
单片机原理及接口技术第三版李朝青编著第二章课后习题答案
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)