单片机程序存储空间和数据存储空间详解

单片机程序存储空间和数据存储空间详解

ID:25342844

大小:815.50 KB

页数:9页

时间:2018-11-19

单片机程序存储空间和数据存储空间详解_第1页
单片机程序存储空间和数据存储空间详解_第2页
单片机程序存储空间和数据存储空间详解_第3页
单片机程序存储空间和数据存储空间详解_第4页
单片机程序存储空间和数据存储空间详解_第5页
资源描述:

《单片机程序存储空间和数据存储空间详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、单片机程序程序存储空间(ROM)和数据存储空间(RAM)详解问题:STC89C52RC单片机:8K字节程序存储空间,512字节数据存储空间,内带2K字节EEPROM存储空间;它们分别存的是什么?8K的程序存储空间是存储代码,也就是你写的程序生成的HEX文件的,相当于电脑系统的C盘。512字节相当于内存,存储空间存储变量,像u8x,y,z,u32a之类的临时变量掉电后数据丢失。2Keeprom相当于电脑系统的硬盘,数据写入后掉电不丢失。主要是单片机在运行的过程中写入数据或者读取数据。像设置的闹铃值,设置好了就不用每次都去设置了,保存在单片机里面,即使掉电了,设置的数据也不会丢失,

2、只需单片机上电再读取就好了。单片机原理及系统结构在此先详细分析51单片的存储器结构和寻址方法,再分析片外存储器的扩展,最后给出设计原理并分析系统结构。图一:存储空间分布51单片机存储器结构分析8051单片机的存储器在物理结构上分为程序存储器空间和数据存储器空间,共有4个存储空间:片内程序存储器、片外程序存储器以及片内数据存储器、片外数据存储器空间。这种程序存储和数据存储分开的结构形式被称为哈佛结构。MCS-51使用哈弗结构,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间内的某地址。而ARM(甚至是x

3、86)这种冯诺依曼结构的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU寄存器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。MCS-51单片机存储器的配置特点①内部集成了4K的程序存储器ROM;②内部具有256B的数据存储器RAM(用户空间+SFR空间);③可以外接64K的程序存储器ROM和数据存储器RAM。从物理结构的角度讲,51单片机的存储系统可以分为四个存储空间:既片内ROM,RAM和片外ROM、RAM。从逻辑结构上看(既编程的角度),可以分为三个不同的空间:(1)片内、片外统一编址的64KB的程序存储器地址空

4、间:0000H~FFFFH(用16位地址);,其中0000H~0FFFH为片内4KB的ROM地址空间,1000H~FFFFH为外部ROM地址空间;(2)256B的内部数据存储器地址空间(用8位地址),00H~FFH,分为两大部分,其中00H~7FH(共128B单元)为内部静态RAM的地址空间,80H~FFH为特殊功能寄存器的地址空间,21个特殊功能寄存器离散地分布在这个区域;(3)64KB的外部数据存储器地址空间(用16位地址):0000H~FFFFH,包括扩展I/O地址空间。上述4个存储空间地址是重叠的,如图1所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的

5、逻辑空间:CPU访问片内、片外ROM指令用MOVC,访问片外RAM指令用MOVX,访问片内RAM指令用MOV。程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间内任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。程序存储器ROM的片内和片外寻址1.程序存储器ROM用于存放程序、常数或表格。2.在51单片机中,由引脚/EA上的电平选择内、外ROM:EA=1时,CPU执行片内的4KROM中的程序;EA=0时,CPU选择片外ROM中的程序。3.无论是使用片内还是使用片外ROM,程序的起始地址都是从ROM

6、的0000H单元开始。4.尽管系统可以同时具备片内ROM和外部ROM,但是在一般正常使用情况下,通过/EA的设定来选择其一(或者使用内部ROM,或者使用外部ROM)。5.如果EA=1(执行片内程序存储器中程序时):如果程序计数器的指针PC值超过0FFFH(4K)时,单片机就要自动的转向片外的ROM存储器且从1000H单元开始执行程序(无法使用片外ROM的低4K空间)。6.当程序超过4K时,有两种使用程序存储器ROM的方法:①设置EA=0,使用外部ROM。从地址=0000H开始;②设置EA=1,使用内部的4KROM和外部ROM(地址从1000H开始的单元)。8051从片内程序存储

7、器和片外程序存储器取指时的执行速度相同。程序存储器六个特殊的单元:在ROM中有六个单元具有特定功能。0000H单元:复位时程序计数器PC所指向的单元,因此用来存放程序中的第一条指令;0003H单元:外部中断/INT0的矢量入口地址;000BH单元:定时器T0溢出中断的矢量入口地址;0013H单元:外部中断/INT1的矢量入口地址;001BH单元:定时器T1的溢出中断矢量入口地址;0023H单元:串行口接收、传送的中断矢量入口地址。矢量入口单元:在编写中断程序时,写入对应的“跳板指令”单片机第

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。