单片机课件--8051存贮器配置

上传人:德****1 文档编号:1091483 上传时间:2017-05-27 格式:PPT 页数:30 大小:201.50KB
返回 下载 相关 举报
单片机课件--8051存贮器配置_第1页
第1页 / 共30页
单片机课件--8051存贮器配置_第2页
第2页 / 共30页
单片机课件--8051存贮器配置_第3页
第3页 / 共30页
单片机课件--8051存贮器配置_第4页
第4页 / 共30页
单片机课件--8051存贮器配置_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《单片机课件--8051存贮器配置》由会员分享,可在线阅读,更多相关《单片机课件--8051存贮器配置(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外部中断0000BH一0012H定时器0溢出中断0013H一001AH外部中断1001BH一002AH定时器1溢出中断0023H一002AH串行端口中断002BH定时

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

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

7、。,(一)片外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),分为三个区:工作寄存器 区(00H1FH)位寻址区 (20H2FH)真正的RAM区 (30H7FH),工作寄

8、存器 区(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 76H 75H 74H 73H 72H 7 1H 70H 20H 07H 06H 05H 04H 03H 0

9、2H 01H 00H,低128字节RAM单元地址范围也是00H一7FH,805l采用不同寻址方式来加以区分,即访问128个位地址用位寻址方式,访问低128字节单元用直接寻址和间接寻址,这样就可以区分开00H一7FH是位地址还是字节地址。 这些可寻址位,通过执行指令可直接对某一位操作,如置1、清0或判l、判0等,可用作软件标志位或用于位(布尔)处理。这种位寻址能力是8051的一个重要特点。,真正的RAM区,地址范围:30H7FH真正用作RAM:非常灵活应合理安排;如:堆栈区,显示区单片机软件水平的高低与RAM区的应用有很大关系,2. 高128字节RAM一特殊功能寄存器(SFR),8051片内高1

10、28字节RAM中,除程序计数器PC外,有21个专用寄存器(SFR),也称特殊功能寄存器,它们离散地分布在80HFFH的RAM空间中。访问特殊功能仅允许使用直接寻址方式。在21个特殊功能寄存器SFR中,有11个特殊功能寄存器具有位寻址能力,它们的字节地址正好能被8整除,,下面介绍部分特殊功能寄存器(SFR),其余将在后续的章节中讲述。 累加器ACC(E0H) 累加器ACC是8051最常用、最繁忙的8位特殊功能寄存器,许多指令的操作数取自于ACC,许多运算结果也存放于ACC中。在指令系统中采用A作为累加器ACC的助记符。 寄存器B(FOH) 在乘、除指令中,用到了8位B寄存器。乘法指令的两个操作数

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

12、标志位,也称辅助进位标志。当执行加法(或减法)操作时,其运算结果(和或差)产生由低半字节(位3)向高半字节有半进位(或借位)时,AC位将被硬件自动置“1”,否则AC被自动情“0”。 F0(PSW5) 用户标志位。用户可以根据自己的需要对F0位赋予一定的含义,由用户置拉、复位,作为软件标志。 RSO和RSl(PSW4和PSW5) 工作寄存器组选择控 制位。,OV(PSW2) 溢出标志位。当进行补码运算时,如有溢出,即当运算结果超出+127128的范围时,OV位由硬件自动置OV1;无溢出时,OV0。 PSW1为保留位,805l末用,8052为Fl用户标志位。 P(PSWo) 奇偶检验标志位。每条指

13、令执行完后,该位始终跟踪指示累加器A中“l”的个数:如结果A中有奇数个“l”,则置P1,否则P0。常用于校验串行通讯中的数据传送是否出错。,(4) 栈指针SP(81H),8051同一般微处理器一样,设有堆栈。在片内RAM中专门开辟出来一个区域,数据的存取是以“后进先出”的结构方式处理的。这种数据结构方式对于处理中断、调用子程序都非常方便。堆栈指针SP为8位特殊功能寄存器,SP的内容即堆栈指针可指向8051片内00H7FH RAM的任何单元。实际堆栈区只能在30H7FH之间系统复位后,SP初始化为07H,即指向07H的RAM单元。,8051的堆栈结构属于向上生长型的堆栈。在使用堆栈之前,先给SP

14、赋值,以规定堆栈的起始位置,称为栈底。当数据压入堆栈后,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备13022795号 | 川公网安备 51140202000112号