您的位置 首页 厂商

MCS51存储器拜访相关

程序存储空间:存放程序及程序运行时所需的常数。51的程序存储空间寻址地址长度有16位,可寻址64KB大小的OTPROM或FLASH空间,其中这16位…

程序存储空间:存放程序及程序运行时所需的常数。

51的程序存储空间寻址地址长度有16位,可寻址64KB巨细的OTP ROM或FLASH空间,其间这16位的地址线,有8位的地址线可用于内部ROM的扩展,所以内部ROM最大的寻址空间为4KB。或许16位的地址空间悉数用于片外扩展,这取决于EA脚置1或置0,当EA脚置1是程序从片内ROM开端履行,当PC值超越片内ROM容量时会主动转向外部ROM空间,当EA脚置0时程序直接从外部存储器开端履行,例如前面说到的片内无ROM的8031单片机,在实践运用中就要把8031的引脚接为低电平。其间该程序地址空间有七个地址单元用于中止向量:如下:每个向量包括8个地址单元

七个具有特别意义的单元是:

0000H —— 体系复位,PC指向此处;

0003H —— 外部中止0进口

000BH —— T0溢出中止进口

0013H —— 外中止1进口

001BH —— T1溢出中止进口

0023H —— 串口中止进口

002BH —— T2溢出中止进口

数据存储空间:

数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的用户数据存储(不同的类型有别离),片外最多可扩展64KB的RAM,构成两个地址空间,拜访片内RAM用“MOV”指令,拜访片外RAM用“MOVX”指令。它们是用于存放履行的中心成果和进程数据的。MCS-51的数据存储器均可读写,部分单元还能够位寻址。

MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:

数据存储器空间(低128单元);

特别功用存放器SFR空间(高128单元), 而与SFR重合的DATA空间由于只能做成直接寻址(indirect),所以叫iDATA空间;

这两个空间是相连的,从用户视点而言,低128单元才是真实的数据存储器。下面咱们就来具体的与咱们解说一下:

低128单元:

片内数据存储器为8位地址,所以最大可寻址的规模为256个单元地址,对片外数据存储器选用直接寻址方法,R0、R1和DPTR都能够做为直接寻址存放器,R0、R1是8位的存放器,即R0、R1的寻址规模最大为256个单元,而DPTR是16位地址指针,寻址规模就可到达64KB。也便是说在寻址片外数据存储器时,寻址规模超越了256B,就不能用R0、R1做为直接寻址存放器,而必须用DPTR存放器做为直接寻址存放器。

< xmlnamespace prefix ="v" ns ="urn:schemas-microsoft-com:vml" />

从上图中咱们能够看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。从80H—FFH地址单元(也是128个字节)为特别存放器(SFR)单元。从图1中可清楚地看出它们的结构散布。

1、通用存放器区(00H-1FH)

在00H—1FH共32个单元中被均匀地分为四块,每块包括八个8位存放器,均以R0—R7来命名,咱们常称这些存放器为通用存放器。这四块中的存放器都称为R0—R7,那么在程序中怎样区别和运用它们呢?聪明的INTEL工程师们又组织了一个存放器——程序状态字存放器(PSW)来办理它们,CPU只需界说这个存放的PSW的D3和D4位(RS0和RS1),即可选中这四组通用存放器。对应的编码联系如下表所示。惹程序中并不需要用4组,那么其他的可用做一般的数据缓冲器,CPU在复位后,选中第0组作业存放器。

组< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />

RS1 RS0

R0

R1

R2

R3

R4

R5

R6

R7

0

1

2

3

0 0

0 1

1 0

1 1

00H

08H

10H

18H

01H

09H

11H

19H

02H

0AH

12H

1AH

03H

0BH

13H

1BH

04H

0CH

14H

1CH

05H

0DH

15H

1DH

06H

0EH

16H

1EH

07H

0FH

17H

1FH

2、位寻址区(20H-2FH)

片内RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分配如下表所示:

RAM位寻址区地址表

单元地址

MSB位地址LSB

2FH

7FH

7EH

7DH

7CH

7BH

7AH

79H

78H

2EH

77H

76H

75H

74H

73H

72H

71H

70H

2DH

6FH

6EH

6DH

6CH

6BH

6AH

69H

68H

2CH

67H

66H

65H

64H

63H

62H

61H

60H

2BH

5FH

5EH

5DH

5CH

5BH

5AH

59H

58H

2AH

57H

56H

55H

54H

53H

52H

51H

50H

29H

4FH

4EH

4DH

4CH

4BH

4AH

49H

48H

28H

47H

46H

45H

44H

43H

42H

41H

40H

27H

3FH

3EH

3DH

3CH

3BH

3AH

39H

38H

26H

37H

36H

35H

34H

33H

32H

31H

30H

25H

2FH

2EH

2DH

2CH

2BH

2AH

29H

28H

24H

27H

26H

25H

24H

23H

22H

21H

20H

23H

1FH

1EH

1DH

1CH

1BH

1AH

19H

18H

22H

17H

16H

15H

14H

13H

12H

11H

10H

21H

0FH

0EH

0DH

0CH

0BH

0AH

09H

08

H

20H

07H

06H

05H

04H

03H

02H

01H

00H

CPU能直接寻址这些位,履行例如置“1”、清“0”、求“反”、搬运,传送和逻辑等操作。咱们常称MCS-51具有布尔处理功用,布尔处理的存储空间指的便是这些为寻址区。

3、用户RAM区(30H-7FH)

在片内RAM低128单元中,通用存放器占去32个单元,位寻址区占去16个单元,剩余的80个单元便是供用户运用的一般RAM区了,地址单元为30H-7FH。对这部份区域的运用不作任何规则和约束,但应阐明的是,仓库一般拓荒在这个区域。

高128单元:(80H-FFH)

前面说到,在片内的RAM中,高128位是专用存放器区,因这节比较重要,所以咱们独自的组织一节课跟咱们介绍。下节课咱们就要点介绍51单片机片内RAM的高128位,即专用存放器区。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/268471.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部