单片微型计算机原理及应用 - 课后习题答案 - 山东理工 联系客服

发布时间 : 星期三 文章单片微型计算机原理及应用 - 课后习题答案 - 山东理工更新完毕开始阅读

则C = 0。

② 辅助进位(或称半进位)标志位AC(PSW.6)

它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位向D4位有进位(或借位),则AC = 1,否则AC = 0。在BCD码运算的十进制调整中要用到该标志。

③ 用户自定义标志位F0(PSW.5)

用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0 = 1或0来决定程序的执行方式,或系统某一种工作状态。

④ 工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)

可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。 ⑤ 溢出标志位OV(PSW.2)

做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值范围(–128~+127),即产生了溢出,因此运算结果是错误的。OV = 0表示运算正确,即无溢出产生。

执行乘法指令MUL AB也会影响OV标志,当积大于255时,OV = 1,否则OV = 0;执行除法指令DIV AB也会影响OV标志,如B中所存放的除数为0,则OV = 1,否则0V = 0。

⑥ 奇偶标志位P(PSW.0)

在执行指令后,单片机根据累加器A中1的个数的奇偶自动将该标志置位或清零。若A中1的个数为奇数,则P = 1,否则P = 0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。

6.简述MCS?51单片机程序存储器的几个特殊入口地址的含义。 0000H:程序入口地址

0003H:外部中断0中断服务程序入口地址

000BH:定时器/计数器0溢出中断服务程序入口地址 0013H:外部中断1中断服务程序入口地址

001BH:定时器/计数器1溢出中断服务程序入口地址 0023H:串行口发送/接收中断服务程序入口地址

7.位地址7FH与字节地址7FH有何区别?位地址7FH具体在内存中的什么位置? 二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。

位地址7FH具体在内存中字节地址为20H的最高位上。 8.复位的作用是什么?复位后单片机的状态如何?

计算机在启动运行时都需要复位,这就使CPU和系统中的其他部件都处于一个确定的

初始状态,并从这个状态开始工作。

单片机的复位都靠外部电路实现。MCS?51单片机有一个复位引脚RST,高电平有效。它是施密特触发输入(对于CMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后,该引脚上出现两个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS?51便保持复位状态。此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。RST变为低电平,退出复位状态,CPU从初始状态开始工作。复位操作不影响片内RAM的内容,复位以后内部寄存器的初始状态如表3-7所示。

9.试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值? 程序计数器PC是一个16位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为0000H。

MCS?51单片机的堆栈是在片内RAM中开辟的一个专用区。堆栈指针SP是一个8位专用寄存器,用来存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。

10.MCS?51单片机设置4组工作寄存器,开机复位后,CPU使用的是哪组寄存器?它们的地址如何?CPU如何改变当前工作寄存器组?

第0组。字节地址为00H~07H。 通过PSW的RS1、RS0来改变。

工作寄存器组的选择表

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)

11.什么是时钟周期、机器周期和指令周期?当外部的振荡频率是8MHz时,8051单片机的机器周期为多少?

MCS?51单片机的时序由下面4种周期构成。 (1)振荡周期

振荡周期是指为单片机提供定时信号的振荡源的周期。 (2)状态周期(时钟周期)

两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进行内部寄存器之间的传输。

(3)机器周期

CPU执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。 (4)指令周期

指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS?51系列单片机除乘法、除法指令是4机器周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶体振荡器(晶振),则单周期指令和双周期指令的指令周期时间分别是1μs和2μs,乘法和除法指令为4μs。

通过上面的分析,我们可以看出,外部晶振的二分频是MCS?51单片机的内部时钟周期,6个时钟周期构成了单片机的机器周期。

如果单片机的外部晶振是8MHz,则其内部的机器周期是1.5μs。

12.已知PSW = 10H,则工作寄存器R0的地址是 10H ,R4的地址是 14H 。 13.MCS?51单片机复位后,程序计数器PC = 0000H ,堆栈指针SP = 07H 。 14.MCS?51单片机内部RAM的寄存器区共有 32 个单元,分为 4 组寄存器,每组 8 单元。

15.MCS?51单片机的4个I/O接口的作用是什么?三总线是如何分配的?为什么说能作为I/O使用的一般只有P1口?

P0口形成数据总线;P2口形成地址的高8位,P0口经过锁存器形成地址的低8位;P3口形成控制总线。

在具有外部扩展的时间,需要用到数据总线、地址总线和控制总线,而三总线占用了P0、P2、P3口,可以单独使用的只有P1口。

第4章 MCS?51系列单片机指令系统

1.访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。 访问外部数据存储器: MOVX A,@DPTR MOVX @DPTR,A MOVX A,@Ri MOVX @Ri,A

访问程序存储器:

MOVC A,@A+DPTR MOVC A,@A+PC

2.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化?

PUSH 30H PUSH 31H POP DPL POP DPH MOV 0H,#00H MOV 31H,#0FFH

(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H

3.设(A) = 40H,(R1) = 23H,(40H) = 05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?

XCH A,R1 XCHD A,@R1

(A)=25H (R1)=40H (40H)=03H

4.设(A) = 01010101B,(R5) = 10101010B,分别写出执行ANL A,R5; ORL A,R5;XRL A,R5指令后的结果。

00000000B 11111111B 11111111B

5.简述转移指令AJMP addr11,SJMP rel,LJMP addr16及JMP @A + DPTR的应用。

AJMP addr11:2K范围内的转移;SJMP rel:256字节复位内的转移;

LJMP addr16:64K范围内的转移;JMP @A + DPTR:在某一地址开始的256字节范围内的转移。

6.试用下列4种方式编程,将立即数0EFH送入内部RAM的40H单元中。 (1)用立即寻址;(2)用直接寻址;(3)用寄存器寻址;(4)用寄存器间接寻址 (1) MOV 40H,#0EFH---- 目的操作数立即寻址 (2) MOV 40H,#0EFH 源操作数直接寻址