嵌入式开发学习笔记4-了解单片机中的存储器
单片机的物理结构
MCS-51单片机存储器采用哈佛结构(har-vard)(哈佛结构就是一个计算机架构,类似于冯诺伊曼结构,但是两者有很大区别)在物理结构上分为程序存储器空间和数据存储器空间,也就是我们常说的ROM和RAM
程序存储器主要用来存放程序和表格常数
数据存储器主要用来存放中间结果,采集数据灯,细分为:片内、片外程序存储器和片内、片外数据存储器
从图中可看出,这4个存储空间存在地址冲突问题:数据存储器与程序存储器的64KB地址空间重叠;程序存储器中片内与片外的低4KB地址重叠;数据存储器中片内与片外最低的256B地址重叠。
程序存储器(ROM)
程序存储器存放已编好的程序和固定数据,CPU用16位程序计数器PC做指针,取指令、数据,可寻址64k地址空间,程序存储器内部的资源分布如图所示
由于片内、外统一编址,所以片内4KB存储空间地址000H-0FFFH与片外存储器地址000H-0FFFH发生冲突。但是,CPU是访问片内存储器还是访问片外存储器,可由引脚上所接的电平来确定。
1)当EA引脚接高电平时,若程序计数器(PC)值超出片内存储空间,则自动转向片外程序存储器空间执行程序;
2)当EA引脚接低电平时,单片机只能执行片外程序存储器的程序。
MCS-51程序存储器中,有6个存储单元具有特殊用途