2024年4月19日发(作者:)

绪论

1

.单片机是把组成微型计算机的各功能部件即(微处理器(

CPU

))、(存储器(

ROM

RAM

))、(总线)、(定时器

/

计数器)、(输入

/

输出接口(

I/O

口))及(中断系统)

等部件集成在一块芯片上的微型计算机。

等部件集成在一块芯片上的微型计算机。

2

.什么叫单片机?其主要特点有哪些?

.什么叫单片机?其主要特点有哪些?

解:

将微处理器(

CPU

)、存储器(存放程序或数据的

ROM

RAM

)、总线、定时器

/

计数

器、输入

/

输出接口(

I/O

口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,

称为单片微型计算机,简称单片机。

称为单片微型计算机,简称单片机。

单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、

片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。

片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。

1

MCS-51

单片机的结构与原理

15. MCS-51

系列单片机的引脚中有多少根

I/O

线?它们与单片机对外的地址总线和数据总

线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大?

解:

MCS-51

系列单片机有

4

I/O

端口,每个端口都是

8

位双向口,共占

32

根引脚。每个

端口都包括一个锁存器(即专用寄存器

P0

P3

)、一个输入驱动器和输入缓冲器。通常把

4

个端口称为

P0

P3

。在无片外扩展的存储器的系统中,这

4

个端口的每一位都可以作为双

向通用

I/O

端口使用。在具有片外扩展存储器的系统中,

P2

口作为高

8

位地址线,

P0

口分

时作为低

8

位地址线和双向数据总线。

位地址线和双向数据总线。

MCS-51

系列单片机数据总线为

8

位,地址总线为

16

位,对外可寻址空间为

64KB

25.

开机复位后,

CPU

使用的是哪组工作寄存器(

R

0

-R

n

)?它们的地址是什么?

CPU

如何

确定和改变当前工作寄存器组(

R

0

-R

n

)?

)?

解:

开机复位后,

CPU

使用的是第0组工作寄存器。它们的地址是

00H

07H

CPU

通过对程

序状态字

PSW

RS1

RS0

的设置来确定和改变当前工作寄存器组。

的设置来确定和改变当前工作寄存器组。

27. MCS-51

单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为

12MHz

的时

候,一个机器周期是多长时间?执行一条最长的指令需要多长时间?

候,一个机器周期是多长时间?执行一条最长的指令需要多长时间?

解:

时钟周期又称为振荡周期,由单片机内部振荡电路

OSC

产生,定义为

OSC

时钟频率的

倒数。时钟周期又称为节拍(用

P

表示)。时钟周期是时序中的最小单位。一个状态有两个

节拍,

节拍,

机器周期定义为实现特定功能所需的时间。

MCS-51

的机器周期由

12

个时钟周期构成。

执行一条指令所需要的时间称为指令周期,指令周期是时序中的最大单位。由于机器执

行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。

MCS-51

的指

令可能包括

1

4

个不等的机器周期。

个不等的机器周期。

MCS-51

的主频为

12MHz

时,一个机器周期为

1

m

s

。执行一条指令需要的最长时间为

4

m

s

作业答案

0-1

作业答案

2

2

MCS-51

单片机指令系统与汇编语言程序设计

4.

假定累加器

A

中的内容为

30H

,执行指令

1000H

MOVC

A,@A+PC

后,把程序存

储器( )单元的内容送入累加器

A

中。

1031H

7.

指出下列各指令在程序存储器中所占的字节数

DPTR

#1234H

1

MOV

3

字节

A

@DPTR

2

MOVX

1

字节

LOOP

3

LJMP

3

字节

R0

A

4

MOV

1

字节

LOOP

5

AJMP

2

字节

A

30H

6

MOV

2

字节

LOOP

7

SJMP

2

字节

B

#30H

8

MOV

2

字节

31H

=10H

。执行下列程

15

.设堆栈指针(

SP

=60H

,片内

RAM

中的(

30H

=24H

序段后,

61H, 62H, 30H, 31H, DPTR

SP

中的内容将有何变化?

PUSH

30H

PUSH

31H

POP

DPL

POP

DPH

MOV

30H, #00H

MOV

31H, #0FFH

解:

61H

62H

单元为堆栈单元,其内容已被弹出栈。

(30H)=00H

结果为:

结果为:

单元为堆栈单元,其内容已被弹出栈。

(31H)=0FFH

(DPTR)=2410H

(SP)=60H

17

.完成以下的数据传送过程

1

R1

的内容传送到

R0

2

)片外

RAM 20H

单元的内容送

R0

3

)片外

RAM 20H

单元的内容送片内

RAM 20H

单元。

4

)片外

RAM 1000H

单元的内容送片内

RAM 20H

单元。

5

ROM 2000H

单元的内容送

R0

6

ROM 2000H

单元的内容送片内

RAM 20H

单元。

7

ROM 2000H

单元的内容送片外

RAM 20H

单元。

:

1

R1

的内容传送到

R0

MOV

A,

R1

MOV

R0,

A

2

)片外

RAM 20H

单元内容送

R0

MOV

R1,

#20H

MOVX

A,

@R1

MOV

R0,

A

RAM 20H

单元的内容送片内

RAM 20H

单元; (

3

)片外

)片外

单元;

MOV

R0,

#20H

MOVX

A, @R0

MOV

20H,

A

RAM 20H

单元; (

4

)片外

RAM 1000H

单元的内容送片内

单元的内容送片内

单元;

MOV

DPTR,

#1000H

MOVX

A, @DPTR

MOV

20H,

A