您的位置:首页 > 其它

[标准8051]8051核的基本知识_存储…

2015-07-11 00:17 281 查看
问题描述:之前使用过STC89C51一类型的单片机,这个就是基于标准的8051核的。和计算机或当前的一些高级应用的ARM架构的芯片许多地方还是不一样的,毕竟面向的是低端应用的场合。虽然目前51受到ARM
Cortex-M0的强力打压,但仍有比较大的市场,因为价格,也因为之前多年的流行的一些积累。8051速度相对较慢,代码空间最大支持64K(也有超过64K的,得需要特别的编译器的支持,器件和应用程序的编写也都要支持才行)。以前零碎对8051的核有些了解,下面参考自http://www.8052.com的内容进行了标准8051存储器基本知识的一些梳理。
8051存储器有三类,片内存储器、片外Code存储器、片外RAM。





片内存储器可以是任何类型(Code, RAM 或其它);片外Code存储器通常为外部EPROM;片外RAM通常是标准SRAM或Flash
RAM。

Code存储器:
用来存放8051要运行的程序的地方。限制为64K,有多种类型与大小:可以是片内的,也可以是外部ROM或EPROM。另外Flash
RAM也可以存储程序(流行的方法)。除非有特别的编译器支持,8051最大只能支持64k代码空间。
外部RAM:

速度较内部存储器要低。虽然牺牲了灵活性与速度,但得到了量。内部RAM限制在128字节或256字节,但外部RAM可扩展至64K。
片内存储器:
实际有两种类型:内部RAM和特殊功能寄存器—SFR:





(1)前面128字节是内部RAM,芯片复位后都会清空的。00h-07h的前8个字节为“寄存器组0”,通过操作SFR,程序可以选择使用寄存器组1,2,3。
(2)位存储地址为20h-2Fh。

(3)30h-7Fh的内部RAM可用作频繁访高速的用户变量。这个区域也被用于操作系统堆栈的存储区域。这样其实8051的堆栈空间是很受限制的,因为还要放一些用户变量。
(4)寄存器组(Register Banks):
每组由R0, R1, R2, R3, R4, R5, R6,
R7组成,这些寄存器用于操作变量和转移数据。8051初启动时,默认使用寄存器组0,可以通过程序改变使用的寄存器组。寄存器组非常灵活,对于中断的处理非常有用,当程序中确保其他寄存器不使用时,可将其用作用户内部RAM。
(5)位存储:128位可位寻址空间。如使用SETB和CLR可以访问。位存储只是内部RAM的一个子集,任何内部RAM的操作也适用于位存储空间的。

(6)特殊功能寄存器:用于特殊功能的操作,IO口,串口,定时器等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: