习题1答案 1.1 单项选择题 (1) A (2)C (3)A (4) A (5)A (6) A (7)C (8)C (9) D (10)C 1.2 填空题 (1)硬件系统、软件系统 (2)时钟、复位 (3)XTAL1、XTAL2、RST、 (4) 片内数据存储器、片内程序存储器、片外数据存储器、片外程序存储器 (5)时钟电路 (6)程序存储器 (7)工作寄存器组、位寻址区、用户RAM区 (8)1us、2us (9)上电复位电路、按键复位电路 (10)2、高 1.3 答: 单片微型计算机是指集成在一个芯片上的微型计算机,它的各种功能部件,包括CPU(Central Processing Unit)、随机存取存储器RAM(Random Access Memory)、只读存储器ROM(Read-only Memory)、基本输入/输出(Input/Output,简称I/O)接口电路、定时器/计数器等都制作在一块集成芯片上,构成一个完整的微型计算机,可以实现微型计算机的基本功能。 单片机应用系统是以单片机为核心,配以输入、输出、显示、控制等外围电路和软件,能实现一种或多种功能的实用系统。 单片机应用系统是由硬件和软件组成的,硬件是应用系统的基础,软件则是在硬件的基础上对其资源进行合理调配和使用,从而完成应用系统所要求的任务,二者相互依赖,缺一不可。 1.4 答: P3口各引脚与第二功能表 引脚 第二功能 信号名称 P3.0 RXD 串行数据接收 P3.1 TXD 串行数据发送 P3.2 外部中断0申请 P3.3 外部中断1申请 P3.4 T0 定时/计数器0的外部输入 P3.5 T1 定时/计数器1的外部输入 P3.6 外部RAM写选通 P3.7 外部RAM读选通 1.5 答:片内RAM低128单元的配置如下: 地 址 功能 30H ~7FH 数据缓冲区 20H ~2FH 位寻址区(00H~7FH) 18H ~1FH 第3组工作寄存器(R7~R0) 10H ~17H 第2组工作寄存器(R7~R0) 08H ~0FH 第1组工作寄存器(R7~R0) 00H ~07H 第0组工作寄存器(R7~R0) 寄存器常用于存放操作数及中间结果等;内部RAM的20H~2FH单元,既可作为一般RAM单元使用,进行字节操作,也可以对单元中每一位进行位操作;在内部RAM低128单元中,通用寄存器占去了32个单元,位寻址区占去了16个单元,剩下80个单元,这就是供用户使用的一般RAM区,其单元地址为30H~7FH。 片内RAM高128单元安排有21个特殊功能寄存器,其他空闲单元用户不能使用。 1.6 答:有21个可寻址的特殊功能寄存器,它们不连续地分布在片内RAM的高128单元中,尽管其中还有许多空闲地址,但用户不能使用。另外还有一个不可寻址的特殊功能寄存器,即程序计数器PC,它不占据RAM单元,在物理上是独立的。 在可寻址的21个特殊功能寄存器中,有11个寄存器不仅可以字节寻址,也可以进行位寻址。 1.7 答: 程序状态字是一个8位寄存器,用于存放程序运行中的各种状态信息。其中有些位的状态是根据程序执行结果,由硬件自动设置的,而有些位的状态则由软件方法设定。PSW的位状态可以用专门指令进行测试,也可以用指令读出。PSW的各位定义下表所示。 PSW位定义 位地址 D7H D6H D5H D4H D3H D2H D1H D0H 位名称 CY AC F0 RS1 RS0 OV F1 P · CY(PSW.7):进位标志位。CY是PWS中最常用的标志位,其功能有两个:一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果最高位有进位或借位,则CY由硬件置“1”,否则被清“0”;二是在位操作中,作累加位使用。位传送、位与位或等位操作,操作位之一固定是进位标志位。 · AC(PSW.6):辅助进位标志位。在进行加或减运算中,若低4位向高4位进位或借位,AC由硬件置“1”,否则被清“0”。在BCD码调整中也要用到AC位状态。 · F0(PSW.5):用户标志位。这是一个供用户定义的标志位,需要利用软件方法置位或复位,用来控制程序的转向。 · RS1和RS0(PSW.4,PSW.3):工作寄存器组选择位。它们被用于选择CPU当前使用的通用寄存器组。通用寄存器共有4组,其对应关系如下表所示。 工作寄存器组选择 RS1 RS0 寄存器组 片内 RAM地址 0 0 0 1 1 0 1 1 第0组 第1组 第2组 第3组 00H~07H 08H~0FH 10H~17H 18H~1FH 这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前通用寄存器组。但当单片机上电或复位后,RS1 RS0=00。 · OV(PSW.2):溢出标志位。在带符号数加减运算中,OV=1表示加减运算超出了累加器A所能表示的符号数有效范围(-128 ~ +127),即产生了溢出,因此运算结果是错误的;OV=0表示运算正确,即无溢出产生。 在乘法运算中,OV=1表示乘积超过255,即乘积分别在B与A中;否则,OV=0,表示乘积只在A中。 在除法运算中,OV=1表示除数为0,除法不能进行;否则,OV=0,除数不为0,除法可正常进行。 · F1(PSW.1):保留未使用。 · P(PSW.0):奇偶标志位。P标志位表明累加器A中内容的奇偶性,如果A中有奇数个“1”,则P置“1”,否则置“0”。凡是改变累加器A中内容的指令均会影响P标志位。 此标志位对串行通信中的数据传输有重要的意义。在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。 1.8 答: 0003H~002AH这40个单元被均匀地分为5段,作为5个中断源的中断地址区。其中: 0003H~000AH 外部中断0中断地址区 000BH~0012H 定时器/计数器0中断地址区 0013H~001AH 外部中断1中断地址区 001BH~0022H 定时器/计数器1中断地址区 0023H~002AH 串行中断地址区 中断响应后,按中断种类,自动转到各中断区的首地址去执行程序。因此在中断地址区中理应存放中断服务程序。但通常情况下,8个单元难以存下一个完整的中断服务程序,因此通常也是从中断地址区首地址开始存放一条无条件转移指令,以便中断响应后,通过中断地址区,再转到中断服务程序的实际入口地址。 1.9 答: 当需要扩展存储器时,低8位地址A7~A0和8位数据D7~D0由P0口分时传送,高8位地址A15~A8由P2口传送。 因此,只有在没有扩展片外存储器的系统中,P0口和P2口的每一位才可作为双向I/O端口使用。 1.10 答: 单片机晶振电路 一般地,电容C1和C2取30pF左右,晶体的振荡频率范围是1.2MHz~12 MHz。如果晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就越快。MCS-51在通常应用情况下,使用振荡频率为的6MHz或12MHz的晶振,如果系统中使用了单片机的串行口通信,则一般采用振荡频率为11.059MHz的晶振。
1.11 答:
规定一个机器周期的宽度为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。
当振荡脉冲频率为12 MHz时, 一个机器周期为1μs;当振荡脉冲频率为6 MHz时,一个机器周期为2 μs。
1.12 答:
(a) 上电复位电路 (b) 按键复位电路
单片机常见的复位电路
图(a)为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐下降。只要保证RST为高电平的时间大于两个机器周期,便能正常复位。
图(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)中的RESET键,此时电源VCC经电阻R1、R2分压,在RST端产生一个复位高电平。
习题2答 案
2.1 单项选择题
(1)C (2)A (3)B (4)A (5)D 2.2 答:
单片机开发过程所用的设备与软件称为单片机开发系统或开发工具。
单片机开发系统包括计算机、单片机在线仿真器、开发工具软件、编程器等。连接方法如下图所示。
单片机开发系统连接方法示意图
2.3
答:单片机应用系统的开发过程如下:
设计电路图→制作电路板→程序设计→硬软件联调→程序下载→产品测试 2.4 答:
1.在线仿真功能
在线仿真器(In Circuit Emulator,简称ICE)是由一系列硬件构成的设备,它能仿真用户系统中的单片机,并能模拟用户系统的ROM、RAM和I/O口。因此,在线仿真状态下,用户系统的运行环境和脱机运行的环境完全“逼真”。
2.调试功能
1) 运行控制功能
开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。
2) 单片机状态查看修改功能