MCS单片机的存储器结构.ppt_第1页
MCS单片机的存储器结构.ppt_第2页
MCS单片机的存储器结构.ppt_第3页
MCS单片机的存储器结构.ppt_第4页
MCS单片机的存储器结构.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2.2.2 MCS51单片机的存储器结构,8051单片机在系统结构上采用了哈佛型,其存储器在物理结构上分程序存储器(ROM) 和数据存储器(RAM)。 有四个物理上相互独立的存储空间 :其配置如图2-3所示。,片内ROM,片外ROM,片内RAM,片外RAM/I/O口,60KB,4KB,64KB,128B RAM,128B SFR,存储器,程序存储器(ROM) 8051及8751的片内程序存储器容量为4KB,地址从0000H开始,存放程序和表格常数。 数据存储器(RAM) 8051/8751/8031片内数据寄存器为128B,地址为00H7FH,用于存放运算的中间结果、数据暂存以及数据缓冲等。 8051内部还有SP、DPTR、PCONIE,IP等特殊寄存器,地址为80HFFH。,存储器配置,一般微机:通常只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,CPU访问存储器时,一个地址对应唯一的存储器单元,此类结构称为普林斯顿结构。 8051的存储器:与典型微机不同,它把程序存储器和数据存储器截然分开,各有自己的寻址系统、控制信号和功能,这种程序存储器和数据存储器分开的结构称为哈佛结构。,物理上分4个存储器空间 内部程序存储器 外部程序存储器 内部数据存储器 外部数据存储器 逻辑上分3个存储器空间 片内外统一的64KB程序存储器 256B(含SFR块)片内数据存储器 64KB片外数据存储器,8051存储器地址空间分配,在8051单片机的内部集成了4K的程序存储器和256B的数据存储器,同时还可以使用片外的程序存储器和数据存储器,其扩展能力都是64K。,64k程序存储器地址空间,片内外统一编址0000hFFFFh 256B片内数据存储器地址空间,指令用MOVC,指令用MOV,指令用MOVX,64kb片外数据存储器地址空间,0000hFFFFh,注意: 1、访问片内RAM20H存储单元; MOV A,20H 2、访问片外RAM存储单元; MOV R0,#20h MOVX A,R0 3、尽管片内与片外的RAM单元的00H-FFH地址相重叠,但由于指令的不同不会发生地址混乱。,2.3.1 程序存储器地址空间,程序存储器是存放编好的程序、常数和表格的,只能读不能写。该空间有几个特殊单元,应用过程中应加以注意。 在MCS-51单片机中,当引脚EA=1时,系统使用片内的ROM;EA=0时,系统使用片外的ROM。 无论是使用片内还是使用片外的ROM(既 EA=1或EA=0),其起始地址都是从0000H单元开始,0000H是系统的启动地址。 0003H002BH是中断服务程序入口地址。,8051、52系列保留的存储单元,8051中断矢量地址表,数据存储器地址空间,片外数据存储器 片内数据存储器 分为两个部分 : 1、低128B RAM(00H7FH) 00H1FH,4个通用工作寄存器区 20H2FH,位地址空间 堆栈的设定 2、高128B特殊功能存储器 (SFR) (80HFFH),特殊功能 寄存器 SFR,片内 通用数据 存储器,80H 7FH,00H,FFH,片外数据 存储器 64KB,0000H,FFFFH,低128Bytes RAM,高128bytes RAM,R0R7寄存器分配,片内 RAM(20H-2FH)中的位寻址区结构图,2FH,20H,字节地址,位地址,位寻址区内的地址是位地址。共有00-7FH(共128个位); 要区分字节地址和位地址这两个不同的地址概念: 从物理的角度:每一个字节地址内包含了8个位,既: D7,D6,D5,D4,D3,D2,D1,D0 (我们提到的RAM地址一般都是指字节地址)。 从逻辑的角度:字节地址和位地址是靠不同类型的指令来 区分的。如, MOV A, 20H ;将RAM的20单元内容送累加器A; MOV C ,20H ;将RAM位寻址区中20H位送CY中。 在这二个例子中,第一条指令为字节传送指令,既20H为字节地址;第二个例子中的指令为位操作指令,20H为位地址。有关详细内容将在后续章节中描述。,特殊功能寄存器: 共22个(3个只属52子系列),PC在物理上是独立的,其余21个分布在SFR区,共占26个字节(5个双字节寄存器)。 这21个中,有11个寄存器具有位寻址功能,即寄存器中的每位都具有位地址,它们的特点是字节地址正好能被8整除。,注意: 1、128B的SFR区中仅有26B是有定义的,若访问没有定义的单元,将得到一个不确定的随机数。 2、访问SFR时只能采用直接寻址方式。,特殊功能寄存器简介,程序计数器PC 16位,寻址范围64KB,用于安放下一条要执行的指令地址,在物理上是独立的。 累加器A(ACC) 8位,是CPU中工作最频繁的,大部分操作数取自累加器,运算结果也存放在A中。 B寄存器 8位,用于乘除指令中,对其他指令可作RAM中的一个单元用。,程序状态字(或标志寄存器)PSW 8位,存放运算结果的一些状态信息,各位含义如下:,CY(PSW.7):进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借位,则CY自动置“1”,否则CY置“0”,在进行布尔操作运算时,CY(简称C)作为布尔处理器。 AC:辅助进位标志位。当进行加法或减法时,若低4位向高4位有进位(或借位)时,AC被置“1”,否则AC被置“0”。在十进制调整指令中AC还作为十进制调整的判别位。 F0:用户标志位。用户可用软件对F0位置“1”或清“0”以决定程序的流向。,OV:溢出标志位,当运算结果溢出时OV为“1”,否则为“0”,此标志位反映了带符号数运算结果是否溢出。OV的结果可以用一个算法来表示: OV=CPCS 其中:CP为A7的进位;CS为A6的进位。 PSW.1:未定义位。 P(PSW.0):奇偶标志位。当累加器A中“1”的个数为奇数时,P置“1”,否则P置“0”。此位反映累加器A中内容“1”的奇偶性,它常常用于单片机间通信。 RS1、RS0:工作寄存器区选择位。用来选择当前工作的寄存器区。用户通过改变RS1 、RS0的内容来选择当前工作寄存器区。RS1、RS0的内容与工作寄存器区的对应关系如表2-1所示。,数据指针DPTR 是一16位专用寄存器,其高字节寄存器用DPH表示,低字节寄存器用DPL表示。既可作为16位寄存器(DPTR)使用,又可作为两个独立的8位寄存器(DPH、DPL)来使用。DPTR主要用来保持16位地址,当对64KB外部数据存储器RAM(或I/O口)空间寻址时,作间址寄存器用,指向外部数据存储器地址。,堆栈指针SP 它是一个8位寄存器,用来存放栈顶地址。 MCS-51堆栈设在内部RAM中,是一个按“先进后出”顺序,受SP管理的存储区域。在程序中断,子程序调用等情况下,用于存放一些特殊信息(亦可作数据传送的中转站)。当数据压入堆栈时,SP就自动加“1”;当数据从堆栈中弹出时,SP就自动减“1”。因而SP指针始终指向栈顶。 MCS-51堆栈最大深度为128个字节,系统复位时硬件使SP=07H。 指令系统中的栈操作指令是:PUSH,POP。,(a)系统复位后,未改变SP初值时的堆栈操作(设(A)=0ABH),(b)系统复位后,改变SP初值为60H时的堆栈操作 堆栈操作示例,特殊单元: 0000H-0002H(开机复位单元) 3个 0003H-000AH(INT0中断地址区) 8个 000BH-0012H(T/C0中断地址区) 8个 0013H-001AH(INT1中断地址区) 8个 001BH-0022H(T/C0中断地址区) 8个 0023H-002AH(串行口中断地址区) 8个,2.2.2.1 程序存储器,当CPU的引脚EA接高电平时, PC在0000H0FFFH范围内,CPU从片内ROM取指令; 而当PC0FFFH后,则自动转向片外ROM去取指令。 当引脚EA接低电平时,8051片内ROM不起作用,CPU只能从片外ROM取指令,地址可以从0000H开始编址 对于片内无ROM的 8031、8032单片机,EA应接地。以便从外部扩展EPROM中取指令。 8051从片内ROM和片外ROM取指时执行速度相同。,数据存储器用来存放运算的中间结果、标志位,及数据的暂存和缓冲等。分为片内RAM和片外RAM。8051系列单片机内数据存储器最大可寻址256个单元,片外可寻址16位(64kB)的地址空间。片内数据存储器和片外数据存储器是单独编址的。,数据存储器,2.2.2.2.片内数据存储器(RAM),00H,7FH,1、低128字节RAM,1、工作寄存器(00H1FH) RS1 RS0 寄存器组 片内RAM地址 0 0 第0组 00H07H 0 1 第1组 08H0FH 1 0 第2组 10H17H 1 1 第3组 18H1FH,R0R7,4个,这16个单元(共计128位)的每一位都有一个8位表示的位地址,位寻址范围为00H7FH,如表2-4所示P23。 位寻址区的每一个单元既可作为一般RAM单元使用,进行字节操作,也可以对单元中的每一位进行位操作。 MCS-51布尔处理器的存储空间就是指这个位寻址空间。,47H,46H,45H,44H,43H,42H,41H,40H,D0,D1,D2,D3,D4,D5,D6,D7,28H 字节地址,位地址,2、可位寻址区(20H2FH),28H 字节地址,MOV 28H,#56H,SETB 43H,CLR 42H,1,0,字节操作,位操作,30H7FH是供用户使用的一般RAM区,也是数据缓冲区,共80个单元。对用户RAM区的使用没有任何规定或限制,一般用于存放用户数据及作堆栈区使用。,3、用户RAM区(30H7FH),内部数据存储器地址空间,2、高128字节特殊功能寄存器 SFR,Special Function Register,8051片内高128字节RAM中,除程序计数器PC外,还有21个特殊功能寄存器,又称为专用寄存器(SFR)。它们离散地分布在80H0FFH RAM空间中。 特殊功能寄存器的字节寻址 8051片内21个特殊功能寄存器的名称、符号及单元地址, 特殊功能寄存器的位寻址 在21个特殊功能寄存器中,有11个寄存器具有位寻址,它们的字节地址正好能被8整除,而且字节地址与该字节最低位的位地址相同。,2.2.2.3 片外数据存储器(RAM/I/O),2、片外RAM地址范围为0000H0FFFFH,其中在00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论