51单片机存储程序和数据

51单片机存储程序和数据,第1张

初学51总是会有这样的疑问,从电脑下载程序到开发板后,程序去哪了? C51中,用户或应用程序,系统程序和数据都是存放在哪的?

51单片机从物理结构上,可分为片内,片外程序存储器,片内片外数据存储器。

51单片机从功能上,有程序存储器,片内数据存储器,特殊功能寄存器,位地址空间,片外数据存储器。

程序存储器

51单片机的程序存储器用于存储代码和一些固定表格常数。
可寻址的程序存储器空间为64KB。

51单片机的从物理角度上可分为:片内,片外程序存储器,作为编址空间,编址规律是:先片内,后片外,片内片外连续,不重叠。
如图:为51单片机程序存储器编址图。

 

51单片机存储程序和数据,51单片机存储程序和数据,第2张

 

单片机如何执行指令?
如图:

 

51单片机存储程序和数据,51单片机存储程序和数据,第3张

无论片内程序存储器,还是片外程序存储器,他们的地址是共享的。如果片内4KROM的话,地址就是0x0000-0x0FFF,从0x1000-0xFFFF就是外部ROM的地址空间。可外部ROM的0x0000-0x0FFF的这一部分是否使用呢,这取决于单片机EA引脚的电平值。EA=1时就是使用内部ROM的这一部分,外部ROM的这一部分浪费不用;EA=0时就是使用外部ROM的这一部分,内部ROM浪费不用。从CODE段读取数据要使用汇编的MOVC指令,单片机会根据MOVC指令、EA状态、要读取的地址值,来自动地判断从什么存储器里取数据。

程序地址空间一般可以根据用户需要任意安排使用,但是cpu执行特殊程序的入口地址,用户必须按照规定存放相应的程序。
特殊程序入口地址如图:

 

51单片机存储程序和数据,51单片机存储程序和数据,第4张

 

数据存储器

51单片机内外数据存储器是两个独立的地址空间,应单独编址。
片内数据存储器地址空间"00H-FFH",RAM地址空间“00H-7FH”特殊功能寄存器SFR地址空间“80H-FFH”
片外数据存储器地址空间“0000H-FFFFH”
如图:

 

51单片机存储程序和数据,51单片机存储程序和数据,第5张

 

为了使片内数据存储器的存储空间合理运用,对低128字节的RAM划分了不同的功能区。
如图:

51单片机存储程序和数据,51单片机存储程序和数据,第6张

 

51单片机存储程序和数据,51单片机存储程序和数据,第7张

位寻址区,地址空间20H-2FH,16个单元,共128位。

数据缓冲区,地址空间30H-7FH,共80个单元。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2582981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存