You are on page 1of 6

作业 6

1.程序状态字 PSW 各位的定义是什么?

PSW7-C Y:进位标志位,加法时,累加器 A 中的最高为 A7 有进位,

则 Cy=1,否则为 0;

PSW6-AC:辅助进位位,加法时,加减运算时低 4 位即 A3 有进位或

借位,则 AC=1,否则为 0。

PSW5-F0:用户标志位,用户可根据程序的需要通过传送指令确定,

以决定用户程序的流向。

PSW4/PSW3-RS1/RS0:工作寄存组选择位,取值范围为 00-11,分别

选中工作寄存组 0-3。

PSW2-OV:溢出标志位,累加器 A 中运算结果超出 8 位,即超出-

128-- +127,则 OV=1,否则为 0。

PSW1:无意义。

PSW0-P:奇偶标志位,运算结果中 1 的个数为奇数,则 P=1,否为

偶数,则 P 为 0。

2.数据指针 DPTR 有多少位?作用是什么?

DPTR 是一个 16 位的寄存器。由两个 8 位寄存器 DPH 和 DPL 拼成。

DPH 为高 8 位,DPL 为低 8 位。DPTR 可以存放片内 ROM 的地址,也

可以存放片外 RAM 和片外 ROM 的地址。


3.MCS-51 堆栈指示器 SP 有多少位?作用是什么?

SP 是一个 8 位寄存器,能自动加 1 或减 1,专门用来存放堆栈的栈

顶地址。 RAM 中有用户数据堆栈区,其栈底地址是固定不变的,

栈顶地址始终在 SP 中,当堆栈为空时,栈底地址即是栈顶地址,SP

中一定是栈底地址;堆栈数据越多,SP 中的栈顶地址比栈底地址就

越大。

4.8051 的特殊功能寄存器 SFR 有多少个?可以位寻址的有哪些?

8051 单片机共有 21 个特殊功能寄存器,分布在片内 RAM 的 80H~

FFH 地址范围内。可以位寻址的有 11 个,分别是 B, ACC, PSW, IP, P3,

IE, P2, SCON, P1, TCON, P0。

5.单片机引脚 6 条控制线的作用是什么?

RST/VPD(9 脚):在该脚上输入 2 个时钟周期宽度以上的高电平,可

实现复位。单片机的复位方式由上电复位和手动复位。该引脚还有

复用功能,若将 VPD 接+5V 备用电源,当芯片在使用中 Vcc 电压突

然下降或断电(掉电或失电)时,能保护片内 RAM 中的信息不丢失。

____________

ALE/ P R O G(30 脚):访问片外存储器 ROM 时,ALE 作为锁存扩展


地址的低字节的控制信号。不访问外部 ROM 时,自动输出频率为

fOSC/6 的频率脉冲序列,可用于外部时钟源或作为定时脉冲源使用。
____________

P S E N (29 脚):片外 ROM 选通片,在访问片外程序存储器时,此


脚输出负脉冲作为存储器的读选通信号。负脉冲选通,高电平封锁。
______ ______

E A/Vpp(31 脚)当 E A 端输入高电平时,CPU 执行低 4KB 地址范


围内的片内程序存储器中的程序,若超出 4KB 地址时,自动执行片
______

外程序存储器的程序。当 E A输入低电平时,CPU 只能访问片外程序


存储器。

XTAL2(18 脚)和 XTAL1(19 脚)时钟电路引脚。

6.MCS-51 指令按功能可以分为哪几类?每类指令的作用是什么?

MCS-51 指令按功能可以分为:

数据传送类(28 条):把源操作数传送到目的操作数,用于数据的

传输与交换。

算术运算类(24 条):用于算数运算。

逻辑操作类(25 条):用于逻辑运算与操作。

控制转移类(17 条):实现程序的向前、 向后跳转, 并根据条件分

支运行、循环运行、调用子程序等。

位操作类(17 条):对字节中的某一位进行运算与操作。

7.MCS-51 指令共有哪 7 种寻址方式?各有什么特点?

① 立即寻址:数为双字节指令,第一字节为操作码,第二字节为立

即操作数,用 “#”号表示。如: MOV A, #0FH 74 0F

② 直接寻址:数为双字节指令,第一字节为操作码,第二字节为存

储单元的直接地址。如: MOV A, 0FH E5 0F


③ 寄存器寻址:指令指出选用的寄存器组 R0~ R7 中某一寄存器

为操作数 ,其功能是把选用的寄存器中的内容送给累加器 A 中。

如 :MOV A, R0 E8

④ 寄存器间接寻址:一种是访问片内 RAM,另一种是访问片外

RAM。只能用当前工作寄存器组中的 R0 和 R1 寄存器作间接地址寄

存器,用 “@”表示。如:MOV A, @R0 E6  

MOV A, @DPTR ;访问片外数据存储器 E0

⑤ 变址寻址:是以 DPTR 或 PC 为基址寄存器,累加器 A 为变址寄

存器,把 DPTR 和 A 中地址相加后,产生一个新的地址,再把新地

址中数送到 A 中。如:MOVX A, @A+DPTR 或 MOVX A,@A+PC

⑥ 相对寻址:将本指令的下一条指令第一字节地址为 PC 基址,转

移到 -128 ~ +127 范围内任意程序存储器地址。由指令给出补码形式

的偏移字节数。如: JNC rel

⑦ 位寻址:位寻址即是当把 8 位二进制数中的某一位作为操作数看

时,这个操作数的地址就称为位地址。对位地址寻址简称位寻址。

位寻址能对位地址空间的位进行传送和逻辑操作。能简化处理,提

高运行速度。如:MOV C,7FH ;Cy (7FH) 在 8051 片内数据存贮器

中,一些可寻址的位构成为处理机,这些位是片内 RAM 的 20H~2FH

字节单元,对应的位地址是 00H~7FH。专用寄存器 SFR 中某些单元

也可谓寻址,其位地址是 80H~FFH。
8.指出下列每条指令源操作数的寻址方式和功能

寻址方式 功能

MOV A,#40H 立即寻址 将立即数 40H 传送到

累加器 A 中,A←40H

MOV A,40H 直接寻址 把内部 RAM 40H 单

元内的内容送到累加

器 A, (A)←(40H)

MOV A,@R1 寄存器间接寻址 寻找内部 RAM 中地

址与寄存器 R1 中内

容相同的单元,把该

单元内的内容送到

累加器 A, (A)←(R1)

MOV A,R3 寄存器寻址 把工作寄存器 R3 中

的内容传送到累加器

A 中, (A)←(R3)
9.写出下列指令的机器码,指出下列程序执行后的操作结果

机器码 操作后果

MOV A,#60H 74 60H (A)←60H

MOV R0,#40H 78 40H (R0) ←40H

MOV @R0,A F6 ((R0))←(A)

MOV 20H,#38H 75 20H 38H (20H) ←38H

MOV 41H,R0 88 41H (41H) ←(R0)

MOV DPTR,#2003H 90 2003H (DPTR)←2003H

10.变址寻址和相对寻址中的地址偏移量有何异同?

变址寻址是以 DPTR 或 PC 为基址寄存器,累加器 A 为变址寄存器,

把 DPTR 和 A 中地址相加后,产生一个新的地址,再把新地址中数

送到 A 中,偏移量是一个 00H ~ FFH 范围内的无符号数。而相对寻址

是将本指令的下一条指令第一字节地址为 PC 基址,转移到 -128 ~

+127 范围内任意程序存储器地址。由指令给出补码形式的偏移字节

数。

You might also like