单片机内部资源分配Word文档格式.docx

上传人:b****7 文档编号:22339152 上传时间:2023-02-03 格式:DOCX 页数:10 大小:21.94KB
下载 相关 举报
单片机内部资源分配Word文档格式.docx_第1页
第1页 / 共10页
单片机内部资源分配Word文档格式.docx_第2页
第2页 / 共10页
单片机内部资源分配Word文档格式.docx_第3页
第3页 / 共10页
单片机内部资源分配Word文档格式.docx_第4页
第4页 / 共10页
单片机内部资源分配Word文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

单片机内部资源分配Word文档格式.docx

《单片机内部资源分配Word文档格式.docx》由会员分享,可在线阅读,更多相关《单片机内部资源分配Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

单片机内部资源分配Word文档格式.docx

一位进行位操作,因此把该区称之为位寻址区。

位寻址区共有16个RAM单元,计128位,每一位都有独立的位地址,其范围为00H~7FH。

MCS-51具有布尔处理机功能,这个位寻址区可以构成布尔处理机的存储空间。

这种位寻址能力是MCS-51的一个重要特点。

表2.3为位寻址区的位地址。

表2.3片内RAM位寻址区的位地址

字节

地址

位地址

D7

D6

D5

D4

D3

D2

D1

D0

2FH

7F

7E

7D

7C

7B

7A

79

78

2EH

77

76

75

74

73

72

71

70

2DH

6F

6E

6D

6C

6B

6A

69

68

2CH

67

66

65

64

63

62

61

60

2BH

5F

5E

5D

5C

5B

5A

59

58

2AH

57

56

55

54

53

52

51

50

29H

4F

4E

4D

4C

4B

4A

49

48

28H

47

46

45

44

43

42

41

40

27H

3F

3E

3D

3C

3B

3A

39

38

26H

37

36

35

34

33

32

31

30

25H

2F

2E

2D

2C

2B

2A

29

28

24H

27

26

25

24

23

22

21

20

23H

1F

1E

1D

1C

1B

1A

19

18

22H

17

16

15

14

13

12

11

10

21H

0F

0E

0D

0C

0B

0A

09

08

20H

07

06

05

04

03

02

01

00

(3)用户RAM区

在内部RAM低128单元中,工作寄存器占去32个单元,位寻址区占去16个单元,剩下80个单元,就是供用户使用的一般RAM区,其单元地址为30H~7FH(堆栈区)。

2、特殊功能寄存器区(SFR)

内部RAM的高128单元是供给专用寄存器使用的,其单元地址为80H~0FFH。

因这些寄存器的功能已作专门规定,故称之为专用寄存器(SpecialFunctionRegister),也可称为特殊功能寄存器,简称为SFR。

在51系列单片机中,共有21个特殊功能寄存器,它们零散地分布在80H~0FFH的地址空间,如表2.4特殊功能寄存器

名称

位名称

P0.6

P0.5

P0.4

P0.3

P0.2

P0.1

P0.0

单元地址

P0

P0.7

80H(128)

SP

81H(129)

DPL

82H(130)

DPH

83H(131)

PCON

SMOD

87H(135)

TCON

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

88H(136)

TMOD

GATE

C/T

M1

M0

89H(137)

TL0

8AH(138)

TL1

8BH(139)

TH0

8CH(140)

TH1

8DH(141)

P1

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

90H(144)

SCON

RI

TI

98H(152)

SBUF

99H(153)

P2

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

0A0H(160)

IE

EA

-

ET2

ES

ET1

EX1

ET0

EX0

0A8H(168)

P3

RD

WR

T1

T0

INT1

INT0

TXD

RXD

0B0H(176)

IP

PS

PT1

PX1

PT0

PX0

0B8H(184)

PSW

CY

AC

F0

RS1

RS0

OV

P

0D0H(208)

ACC

0E0H(224)

B

0F0H(240)

在这21个特殊功能寄存器中,有些是可以位寻址的,凡是字节地址数能够被8整除的SFR均可位寻址,该寄存器第0位的位地址与寄存器地址相同,且位地址是是连续的。

单片机的21个特殊功能寄存器在单片机复位时(默认值),除SP的值为“07H”,P0、P1、P2及P3的值为“0FFH”(11111111B)外,其它寄存器的值基本上都是“0”,这点在使用时一定要注意。

软件是跟着硬件走的。

关于特殊功能寄存器的用法,在以后章节中陆续会介绍,这里只介绍几个关键的寄存器。

(1)程序状态字(PSW)。

程序状态字(programstateword)是一个8位寄存器,用于存放程序运行中的各种状态信息。

其中有些位的状态是根据程序执行情况,由硬件自动设置的,而有些位的状态则使用软件方法设定。

PSW的位状态可以用指令设置,也可以用指令读出。

一些条件转移指令将根据PSW中专用位的状态,进行条件转移。

PSW的各位定义如表2.5所示。

表2.5程序状态字PSW各位的名称

位序

除PSW.1位保留未用外,其余各位的定义及使用如下:

CY(PSW.7)——进位标志位。

CY是PSW中最常用的标志位。

其功能有二:

一是存放算术运算的进位标志,在进行加或减运算时,如果操作结果的最高位有进位或借位时,CY由硬件置“1”,否则清“0”;

二是在位操作中,作累加位使用。

如位传送、位运算及位判断等位操作。

AC(PSW.6)——辅助进位标志位。

在进行加减运算中,当低4位向高4位进位或借位时,AC由硬件置“1”,否则AC位被清“0”。

在BCD码调整中也要用到AC位。

F0(PSW.5)——用户标志位。

这是一个供用户定义的标志位,需要利用软件方法置位或复位,用以控制程序的转向。

RS1和RS0(PSW.4,PSW.3)——工作寄存器组选择位。

它们被用于选择CPU当前使用的工作寄存器组。

通用寄存器共有4组,其对应关系如表2.6所示:

表2.6当前寄存器组的设定

所选的4组寄存器

0组(内部RAM地址00H~07H)

1

1组(内部RAM地址08H~0FH)

2组(内部RAM地址10H~17H)

3组(内部RAM地址18H~1FH)

这两个选择位的状态是由软件设置的,被选中的寄存器组即为当前工作寄存器组。

但当单片机上电或复位后,RS1RS0=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,除法可正常进行。

P(PSW.0)——奇偶标志位。

表明累加器ACC中数据的奇偶性。

如果ACC中有奇数个“1”,则P置“1”,否则置“0”。

凡是改变累加器ACC中内容的指令均会影响P标志位。

此标志位对串行通信中的数据传输有重要的意义。

在串行通信中常采用奇偶校验的办法来校验数据传输的可靠性。

(2)堆栈指针(SP)。

(队列)(内容里的内容)

堆栈是一个特殊的存储区,用来暂存数据和地址,它是按“先进后出”的原则存取数据的。

堆栈共有两种操作:

进栈和出栈。

有序操作,即按地址序号进行操作。

每往栈区存放一个数,即进栈,SP会自动加1;

每出一次栈,SP会自动减1。

进栈和出栈操作的单元就是由SP所指向的片内RAM单元。

由于MCS-51单片机的堆栈设在内部RAM中,因此SP是一个8位寄存器(地址)。

系统复位后,SP的内容为07H,从而使堆栈从08H单元开始。

但08H~1FH单元分别属于工作寄存器的1~3区,如程序要用到这些区,最好把SP值改为1FH或更大。

一般在内部RAM的30H~7FH单元中开辟堆栈。

SP的内容一经确定,堆栈的位置也就跟着确定下来,由于SP可以通过指令修改内容,因此堆栈位置是浮动的。

(3)程序计数器(PC)(程序指针)

计算机的工作过程就是执行程序的过程,我们每个人可能都有这种感觉:

在同一台计算机中,对于一个大的软件其执行速度会很“慢”而小的软件执行速度会很“快”,为什么?

原因在于:

计算机程序是由一条条指令组成的,而计算机是把程序分解成指令来执行的,即同一时刻只执行一条指令,而指令一般是在存储器中存放,却要在CPU中执行,这样就牵扯到在执行每条指令前,首先要将指令从存储器取到CPU中,这个过程称为“取指”,然后再执行。

在CPU中有个专门负责寻找所取指令单元地址的部件,称为PC,也叫程序指针,即PC中存放的是下一条将要执行的指令所在存储器单元的地址值,它的作用是用来找到所取指令的地址,以供CPU

(PSEN)读取,CPU每执行完一个指令,就会自动改变PC的值,即令PC=PC+1,从而使其指向下一条指令的地址。

在MCS-51单片机中,PC的长度是16位的,且是不可寻址的。

高速而有条不紊的按顺序一步步执行程序的。

(跳转例外)(选择,循环)

复位的本质即令PC=0。

(4)外部数据指针(DPTR)(a=*DPTR)

DPTR为16位地址寄存器,主要用于访问外部RAM单元(64KB),其中地址高8位存于DPH,地址低8位存于DPL。

所有的外部数据存储器都要由DPTR指引访问。

(5)累加器(ACC)

ACC是最常用的专用寄存器,在算术运算时用于提供被操作数和存放运算结果,直接与内部总线相连。

另外,单片机中的一般信息传递和交换都要通过ACC。

类似于a=a+b;

对专用寄存器问题作如下几点补充说明:

1)21个可字节寻址的专用寄存器是不连续地分散在内部RAM高128单元之中,尽管还余有许多空闲地址,但用户并不能使用。

2)程序计数器PC不占据RAM单元,它在物理上是独立的,因此是不可寻址的寄存器。

3)对专用寄存器只能使用直接寻址方式,书写时既可使用寄存器符号,也可使用寄存器名称。

2.3.2MCS-51片内程序存储器

MCS-51的程序存储器用于存放用户程序和表格常数。

8051片内有4KB的ROM,8751片内有4KB的EPROM,8031片内无程序存储器。

MCS-51的片外最多能扩展64KB程序存储器,且片内外的ROM是统一编址的。

二者主要由EA(31)引脚来进行区分的,如EA端外接高电平时,8051的程序计数器PC在0000H~0FFFH地址范围内(即前4KB地址)寻址,执行片内ROM中的程序,当PC在1000H~FFFFH地址范围时,自动执行片外程序存储器中的程序;

当EA外接

低电平时,只能寻址外部程序存储器,片外存储器可以从0000H开始编址。

MCS-51的程序存储器中有些单元具有特殊功能,使用时应予以注意。

其中一组是0000H~0002H单元。

系统复位后,(PC)=0000H,单片机从0000H单元开始取指令执行程序,因此系统主程序一般要从0号单元入口。

如果主程序不是从0000H单元开始存放,应在0000H单元添加一条能够跳转到主程序所在位置的无条件转移指令,以便一开机就能执行到系统主程序。

还有一组特殊单元是0003H~002AH,共40个单元。

这40个单元被均匀地分为5段,作为单片机5个中断源的中断服务程序入口地址区。

0003H~000AH:

外部中断INT0中断地址区

000BH~0012H:

定时/计数器T0中断地址区

0013H~001AH:

外部中断INT1中断地址区

001BH~0022H:

定时/计数器T1中断地址区

0023H~002AH:

串行中断地址区

友情提示:

范文可能无法思考和涵盖全面,供参考!

最好找专业人士起草或审核后使用,感谢您的下载!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1