第2章 思考题及习题2参考答案
一、填空
1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为 。答:2μs 2. AT89S52单片机的机器周期等于 个时钟振荡周期。答:12
3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为 和 。答:28H,88H
4. 片内字节地址为2AH单元最低位的位地址是 ;片内字节地址为A8H单元的最低位的位地址为 。答:50H,A8H
5. 若A中的内容为63H,那么,P标志位的值为 。答:0
6. AT89S52单片机复位后,R4所对应的存储单元的地址为 ,因上电时PSW= 。这时当前的工作寄存器区是 组工作寄存器区。答:04H,00H,0。
7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。答:00H,1FH 8. 通过堆栈操作实现子程序调用时,首先要把 的内容入栈,以进行断点保护。调
用子程序返回指令时,再进行出栈保护,把保护的断点送回到 ,先弹出的是原来 中的内容。答:PC, PC,PCH
9. AT89S52单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S52单片机的PC是16位的,因此其寻址的范围为 KB。答:64 10. AT89S52单片机复位时,P0~P3口的各引脚为 电平。答:高
11. AT89S52单片机使用片外振荡器作为时钟信号时,引脚XTAL1接 ,引脚XTAL2的接法是 。答:片外振荡器的输出信号,悬空
12. AT89S52单片机复位时,堆栈指针SP中的内容为 ,程序指针PC中的内容为 。答:07H,0000H
二、单选
1. 程序在运行中,当前PC的值是 。
A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。 C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。 答:C
2. 判断下列哪一种说法是正确的?
A.PC是一个可寻址的寄存器 B.单片机的主频越高,其运算速度越快。
C.AT89S52单片机中的一个机器周期为1μs
D.特殊功能寄存器SP内存放的是堆栈栈顶单元的内容。 答: B
三、判断对错
1. 使用AT89S52单片机且引脚EA=1时,仍可外扩64KB的程序存储器。错
2. 区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。错
3. 在AT89S52单片机中,为使准双向的I/O口工作在输入方式,必须事先预置为1。对 4. PC可以看成是程序存储器的地址指针。对
5. AT89S52单片机中特殊功能寄存器(SFR)使用片内RAM的部份字节地址。对 6. 片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。错
7. AT89S52单片机共有32个特殊功能寄存器,它们的位都是可以用软件设置的,因此,都是可以位寻址的。错
8. 堆栈区是单片机内部的一个特殊区域,与RAM无关。错
9. AT89S52单片机进入空闲模式,CPU停止工作。片内的外围电路(如中断系统、串行口和定时器)仍将继续工作。对
10. AT89S52单片机不论是进入空闲模式还是掉电运行模式后,片内RAM和SFR中的内容均保持原来的状态。对
11. AT89S52单片机进入掉电运行模式,CPU和片内的外围电路(如中断系统、串行口和定时器)均停止工作。对
12. AT89S52单片机的掉电运行模式可采用响应中断方式来退出。对
四、简答
1. AT89S52单片机片内都集成了哪些功能部件? 答:集成了如下部件:
1个微处理器(CPU);256个数据存储器(RAM)单元 ;8K Flash程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P3口); 1个全双工串行口;3个16位定时器/计数器; 1个看门狗定时器;一个中断系统,6个中断源,2个优先级;32个特殊功能寄存器(SFR)。
2. AT89S52的64KB程序存储器空间有6个单元地址对应AT89S52单片机6个中断源的中断入
口地址,请写出这些单元的入口地址及对应的中断源。 答:见下表
表 AT89S52各中断源的中断入口地址 中 断 源 外部中断0 定时器/计数器T0 外部中断1 定时器/计数器T1 串行口 定时器/计数器T2 入 口 地 址 0003H 000BH 0013H 001BH 0023H 002BH
3. 说明AT89S52单片机的EA引脚接高电平或低电平的区别。
答:当EA脚为高电平时,单片机读片内程序存储器(8K 字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的8K字节的Flash程序存储器。
4. AT89S52单片机有哪两种低功耗节电模式?说明两种低功耗节电模式的异同。
答:AT89S52单片机有两种低功耗节电工作模式:空闲模式(idle mode)和掉电模式(power down mode)。
空闲模式下,虽然振荡器仍然运行,但是CPU进入空闲状态。此时,片内所有外围电路(中断系统、串行口和定时器)仍继续工作,SP、PC、PSW、A、P0~P3端口等所有其他寄存器,以及内部RAM和SFR中的内容均保持进入空闲模式前的状态。因为CPU耗电量通常要占芯片耗电的80%~90%,因此CPU停止工作则会大大降低功耗。
掉电模式下,振荡器停止工作。由于没有了时钟信号,内部的所有部件均停止工作,但片内的RAM和SFR的原来内容都被保留,有关端口的输出状态值都保存在对应的特殊功能寄存器中。
5. AT89S52单片机运行时程序出现“跑飞”或陷入“死循环’时,说明如何利用看门狗来摆
脱困境的工作原理。
答:可采用看门狗定时器。工作原理如下:
“看门狗”技术就是使用一个“看门狗”定时器来对系统时钟不断计数,监视程序的运
行。当看门狗定时器启动运行后,为防止看门狗定时器的不必要溢出而引起单片机的非正常的复位,应定期地把看门狗定时器清0,以保证看门狗定时器不溢出。
当由于干扰,使单片机程序“跑飞”或陷入“死循环”时,单片机也就不能正常运行程序来定时地把看门狗定时器清0,当看门狗定时器计满溢出时,将在AT89S52的RST引脚上输出一个正脉冲(宽度为98个时钟周期),使单片机复位,在系统的复位入口0000H处重新开始执行主程序,从而使程序摆脱 “跑飞”或“死循环”状态,让单片机归复于正常的工作状态。