存贮器配置.ppt

上传人:本田雅阁 文档编号:2315098 上传时间:2019-03-19 格式:PPT 页数:30 大小:152.51KB
返回 下载 相关 举报
存贮器配置.ppt_第1页
第1页 / 共30页
存贮器配置.ppt_第2页
第2页 / 共30页
存贮器配置.ppt_第3页
第3页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《存贮器配置.ppt》由会员分享,可在线阅读,更多相关《存贮器配置.ppt(30页珍藏版)》请在三一文库上搜索。

1、本节主要介绍8051单片机的存贮器结构,23 8051存储器配置,3.3.1 微机的存贮器结构分类,普林斯顿结构和哈佛结构 普林斯顿结构 微机只有一个地址空间,ROM和RAM可以随意安排在这一地址范围内不同的空间,即ROM和RAM的地址同在一个队列里分配不同的地址空间。CPU访问存储器时,一个地址对应唯一的存储器单元,可以是ROM也可以是RAM,并用同类访问指令。,哈佛结构,哈佛结构 程序存储器和数据存储器分开的结构形式 8051的存储器在物理结构上采用哈佛结构; 分程序存储器空间和数据存储器空间; 有四个存储空间: 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器空间,3.3.

2、2 51存储器的结构,从用户使用的角度,8051存储器地址空间分为三类: 程序存储器地址: 片内、片外统一编址0000HFFFFH 64K字节的(用16位地址) ; 数据存储器: 64K字节片外部地址空间, 地址也从0000HFFFFH(用16位地址); 256字节片内 数据存储器地址空间 (用8位地址)。,51存储器空间配置图,8051CPU区分RAM的方法,上述三个存储空间地址是重迭的,如何区别这三个不同的逻辑空间呢? 8051的指令系统设计了不同的数据传送指令符号: 访问片内、片外ROM指令用MOVC, 访问片外RAM指令用MOVX, 访问片内RAM指令用MOV。,一、程序存储器地址空间

3、,程序存储器用于存放编好的程序和表格常数。 程序存储器通过16位程序计数器(PC)寻址,寻址能力为64K字节。这使得能在64K地址空间内任意寻址, 没有指令使程序能控制从程序存储器空间转移到数据存储器空间。,805l8751的64K程序存储器空间; 片内ROM/PROM为4K字节,地址为O000H0FFFH; 片外最多可扩至64K字节ROMEPROM,地址1FFFHFFFFH,片内外是统一编址的; 当引脚EA接高电平时,8051的程序计数器PC在0000H0FFFH范围内(即前4K字节地址)执行片内ROM中的程序;当指令地址超过0FFFH后,就自动地转向片外ROM取指令; 当引脚EA接低电平(

4、接地)时,8051片内ROM不起作用,CPU只能从片外ROMEPROM中取指令,地址从0000H开始编址。这种接法特别适用于采用8031单片机的场合,由于8031片内不带ROM,所以使用时必须使EA0,以便能够从外部扩展EPROM(如2764,2732)中取指令; 8051从片内程序存储器和片外程序存储器取指时执行速度相同。,程序存储器的某些单元留给系统使用,存储单元 保留目的 0000H一0002H 复位后初始化引导程序 0003H一000AH 外部中断0 000BH一0012H 定时器0溢出中断 0013H一001AH 外部中断1 001BH一002AH 定时器1溢出中断 0023H一00

5、2AH 串行端口中断 002BH 定时器2中断(8052才有),存储单元0000H一0002H用作8051上电复位后引导程序存放单元。 因为805180318751上电复位后程序计数器PC的内容为0000H,所以CPU总是从0000H开始执行程序。 在这三个单元中存有转移指令,那么程序就被引导到转移指令指定的ROMEPROM空间去执行。 因此,在8051的程序存贮器的开头都安排的是一条转移指令 AJMP #add13 ; LJMP #add16 ;,中断矢量区,0003H002AH单元均匀地分为五段,用作五个中断服务程序的入口。 例如,外部中断引脚INT0(P32)有效时,即引起中断申请, C

6、PU响应中断后自动将地址0003H装入PC,程序就自动转向0003H单元开始执行。 如果事先在0O03H000AH存有引导(转移)指令,程序就被引导(转移指令)到指定的中断服务程序空间去执行。 0003H称中断矢量地址。,中断矢量地址表,中断源 中断服务程序入口地址 外部中断0 0003H 定时计数器0溢出 000BH 外部中断1 0013H 定时计数器1溢出 001BH 串行口 0023H,二、数据存储器地址空间,数据存储器RAM用于存放运算的中间结果、数据暂存和缓冲、标志位等。 数据存储器空间也分成片内和片外两大部分,即片内RAM和片外RAM。 8051片外数据存储器空间为64K,从OO0

7、0HFFFFH; 片内存储器空间为256字节,地址从0000H00FFH。,(一)片外RAM,片外数据存储器与片内数据存储器空间低地址0000H00FFH是重迭的, 如何区别片内、片外RAM空间呢? 8051有MOV和MOVX两种指令、用以区分片内、片外RAM空间。 片内RAM使用MOV指令, 片外64K RAM空间专门为MOVX指令所用。,(二)片内RAM,片内数据存储器最大可寻址256个单元, 它们又分为两个部分: 低128字节(00H一7FH)是 真正的RAM区, 高128字节(80HFFH)为 特殊功能寄存器(SFR)区。,1.低128字节RAM (00H7FH),分为三个区: 工作寄

8、存器 区(00H1FH) 位寻址区 (20H2FH) 真正的RAM区 (30H7FH),工作寄存器 区(00H1FH),00HlFH地址安排为四组工作寄存器区, 每组有8个工作寄存器(R0一R7),共占32个单元。 通过对程序状态字PSW中RSl、RS0的设置, 每组寄存器均可选作CPU的当前工作寄存器组。 若程序中并不需要四组,那么其余可用作一般RAM单元。 CPU复位后,选中第0组工作寄存器。,工作寄存器组 选择,位寻址区 (20H2FH),字节地址 D7 D6 D5 D4 D3 D2 D1 D0 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 2EH 77H 76

9、H 75H 74H 73H 72H 7 1H 70H 20H 07H 06H 05H 04H 03H 02H 01H 00H,低128字节RAM单元地址范围也是00H一7FH, 805l采用不同寻址方式来加以区分, 即访问128个位地址用位寻址方式, 访问低128字节单元用直接寻址和间接寻址,这样就可以区分开00H一7FH是位地址还是字节地址。 这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0或判l、判0等,可用作软件标志位或用于位(布尔)处理。 这种位寻址能力是8051的一个重要特点。,真正的RAM区,地址范围:30H7FH 真正用作RAM:非常灵活 应合理安排;如:堆栈区,显示区

10、 单片机软件水平的高低 与RAM区的应用有很大关系,2. 高128字节RAM一特殊功能寄存器(SFR),8051片内高128字节RAM中,除程序计数器PC外,有21个专用寄存器(SFR),也称特殊功能寄存器, 它们离散地分布在80HFFH的RAM空间中。 访问特殊功能仅允许使用直接寻址方式。 在21个特殊功能寄存器SFR中,有11个特殊功能寄存器具有位寻址能力,它们的字节地址正好能被8整除,,下面介绍部分特殊功能寄存器(SFR),其余将在后续的章节中讲述。 累加器ACC(E0H) 累加器ACC是8051最常用、最繁忙的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算结果也存放于ACC

11、中。在指令系统中采用A作为累加器ACC的助记符。 寄存器B(FOH) 在乘、除指令中,用到了8位B寄存器。乘法指令的两个操作数分别取自A和B,乘积存于B、A两个8位寄存器中。除法指令中,A中存放被除数,B中放除数,商存放于A中,B中存放余数。 在其它指令中,B可作为一般通用寄存器或一个RAM单元使用。,程序状态寄存器PSW(D0H) PSW是一个8位特殊功能寄存器,它的各位包含了程序执行后的状态信息,供程序查询或判别之用。各位的含义及其格式如下:,CY(PSW7) 进位标志位。在执行加法(或减法)运算指令时,如果运算结果最高位(位7)向前有进位(或借位),CY位由硬件自动置“1”;如运算结果最

12、高位(位7)无进位(或借位),则CY清“0”。CY也是8051在进行位操作(布尔操作)时的位累加器。 AC(PSW6) 半进位标志位,也称辅助进位标志。当执行加法(或减法)操作时,其运算结果(和或差)产生由低半字节(位3)向高半字节有半进位(或借位)时,AC位将被硬件自动置“1”,否则AC被自动情“0”。 F0(PSW5) 用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置拉、复位,作为软件标志。 RSO和RSl(PSW4和PSW5) 工作寄存器组选择控 制位。,OV(PSW2) 溢出标志位。当进行补码运算时,如有溢出,即当运算结果超出+127128的范围时,OV位由硬件自动置

13、OV1;无溢出时,OV0。 PSW1为保留位,805l末用,8052为Fl用户标志位。 P(PSWo) 奇偶检验标志位。每条指令执行完后,该位始终跟踪指示累加器A中“l”的个数:如结果A中有奇数个“l”,则置P1,否则P0。常用于校验串行通讯中的数据传送是否出错。,(4) 栈指针SP(81H),8051同一般微处理器一样,设有堆栈。在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出”的结构方式处理的。这种数据结构方式对于处理中断、调用子程序都非常方便。 堆栈指针SP为8位特殊功能寄存器,SP的内容即堆栈指针可指向8051片内00H7FH RAM的任何单元。 实际堆栈区只能在30H7F

14、H之间 系统复位后,SP初始化为07H,即指向07H的RAM单元。,8051的堆栈结构属于向上生长型的堆栈。 在使用堆栈之前,先给SP赋值,以规定堆栈的起始位置,称为栈底。 当数据压入堆栈后,SP自动加1,即RAM地址单元加1以指出当前栈顶位置。,(5) 数据指针DPTR(83H,82H),DPTR是一个16位的特殊功能寄存器,其高位字节寄存器用DPH表示(地址83H),低位字节寄存器用DPL表示(地址82H)。 DPTR既可以作为一个16位寄存器来处理,也可以作为两个独立的8位寄存器DPH和DPL使用。 DPTR主要用以存放16位地址,以便对64K片外RAM作间接寻址。,(6) IO端口P0P3(80H,90H,A0H,B0H),P0P3为四个8位特殊功能寄存器,分别是四个并行IO端口的锁存器。它们都有字节地址,每一个口锁存器还有位地址,所以每一条IO线独立地用作输入或输出时,数据可以锁存;作输入时,数据可以缓冲。 当IO端口某一位用于输入信号时,对应的锁存器位须先置“1”。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1