关闭

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

437人阅读 评论(2) 收藏 举报
分类:
    问题描述:之前使用过STC89C51一类型的单片机,这个就是基于标准的8051核的。和计算机或当前的一些高级应用的ARM架构的芯片许多地方还是不一样的,毕竟面向的是低端应用的场合。虽然目前51受到ARM Cortex-M0的强力打压,但仍有比较大的市场,因为价格,也因为之前多年的流行的一些积累。8051速度相对较慢,代码空间最大支持64K(也有超过64K的,得需要特别的编译器的支持,器件和应用程序的编写也都要支持才行)。以前零碎对8051的核有些了解,下面参考自http://www.8052.com的内容进行了标准8051存储器基本知识的一些梳理。
    8051存储器有三类,片内存储器、片外Code存储器、片外RAM。
[标准8051]8051核的基本知识_存储器
    片内存储器可以是任何类型(Code, RAM 或其它);片外Code存储器通常为外部EPROM;片外RAM通常是标准SRAMFlash RAM
    Code存储器:
    用来存放8051要运行的程序的地方。限制为64K,有多种类型与大小:可以是片内的,也可以是外部ROMEPROM。另外Flash RAM也可以存储程序(流行的方法)。除非有特别的编译器支持,8051最大只能支持64k代码空间。
    外部RAM:
    速度较内部存储器要低。虽然牺牲了灵活性与速度,但得到了量。内部RAM限制在128字节或256字节,但外部RAM可扩展至64K
    片内存储器:
    实际有两种类型:内部RAM和特殊功能寄存器—SFR:
[标准8051]8051核的基本知识_存储器
    (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位可位寻址空间。如使用SETBCLR可以访问。位存储只是内部RAM的一个子集,任何内部RAM的操作也适用于位存储空间的。
    (6)特殊功能寄存器:用于特殊功能的操作,IO口,串口,定时器等。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:245005次
    • 积分:3801
    • 等级:
    • 排名:第8458名
    • 原创:287篇
    • 转载:16篇
    • 译文:0篇
    • 评论:18条
    最新评论