MCS-51单片机的存储器结构

上传人:woxinch****an2018 文档编号:44703118 上传时间:2018-06-14 格式:PPT 页数:41 大小:482.50KB
返回 下载 相关 举报
MCS-51单片机的存储器结构_第1页
第1页 / 共41页
MCS-51单片机的存储器结构_第2页
第2页 / 共41页
MCS-51单片机的存储器结构_第3页
第3页 / 共41页
MCS-51单片机的存储器结构_第4页
第4页 / 共41页
MCS-51单片机的存储器结构_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《MCS-51单片机的存储器结构》由会员分享,可在线阅读,更多相关《MCS-51单片机的存储器结构(41页珍藏版)》请在金锄头文库上搜索。

1、2.2.2 MCS512.2.2 MCS51单片机的存储器结构单片机的存储器结构80518051单片机在系统结构上采用了哈佛型,其存储器在物理结构单片机在系统结构上采用了哈佛型,其存储器在物理结构 上分程序存储器(上分程序存储器(ROMROM) 和数据存储器(和数据存储器(RAMRAM)。)。有四个有四个物理上物理上相互独立的存储空间相互独立的存储空间 :其配置如图:其配置如图2-32-3所示。所示。片内片内ROMROM片外片外ROMROM片内片内RAMRAM 片外片外RAM/I/ORAM/I/O口口60KB60KB4KB4KB64KB64KB128B128BRAMRAM128B 128B S

2、FRSFR存储器 程序存储器(ROM)8051及8751的片内程序存储器容量为 4KB,地址从0000H开始,存放程序和表格常数。 数据存储器(RAM)8051/8751/8031片内数据寄存器为128B,地 址为00H7FH,用于存放运算的中间结果、数据 暂存以及数据缓冲等。8051内部还有SP、DPTR、PCONIE,IP 等特殊寄存器,地址为80HFFH。存储器配置 一般微机:通常只有一个地址空间,ROM和RAM 可以随意安排在这一地址范围内不同的空间 ,CPU访问存储器时,一个地址对应唯一的存储器 单元,此类结构称为普林斯顿结构。 8051的存储器:与典型微机不同,它把程序存储 器和数

3、据存储器截然分开,各有自己的寻址系 统、控制信号和功能,这种程序存储器和数据存 储器分开的结构称为哈佛结构。物理上分4个存储器空间内部程序存储器外部程序存储器内部数据存储器外部数据存储器 逻辑上分3个存储器空间片内外统一的64KB程序存储器256B(含SFR块)片内数据存储器64KB片外数据存储器8051存储器地址空间分配在在80518051单片机的内部集成了单片机的内部集成了4K4K的程序存储器和的程序存储器和256B256B的数的数 据存储器,同时还可以使用片外的程序存储器和数据存储器,据存储器,同时还可以使用片外的程序存储器和数据存储器, 其扩展能力都是其扩展能力都是64K64K。 64

4、k程序存储器地址空间,片内外统一编 址0000hFFFFh 256B片内数据存储器地址空间指令用MOVC指令用MOV指令用MOVX64kb片外数据存储器地址空间,0000h FFFFh64KB RAM( I/O)64KB ROMFFFF100000000FFFFFFF00004KB ROM0FFF0000SFRRAM 0080 7FFF片内存储器片外扩展存储器图1 8051存储器空间分布图EA=1EA=0注意: 1、访问片内RAM20H存储单元;MOV A,20H 2、访问片外RAM存储单元; MOV R0,#20hMOVX A,R0 3、尽管片内与片外的RAM单元的00H- FFH地址相重叠

5、,但由于指令的不同不 会发生地址混乱。2.3.1程序存储器地址空间1.1.程序存储器是存放编好的程序、常数和表格的程序存储器是存放编好的程序、常数和表格的 ,只能读不能写。该空间有几个特殊单元,应用 过程中应加以注意。2.2.在在MCS-51MCS-51单片机中,当单片机中,当引脚引脚EA=1EA=1时时,系统使,系统使 用片内的用片内的ROMROM;EA=0EA=0时,时,系统使用片外的系统使用片外的ROMROM 。3.3.无论是使用片内还是使用片外的无论是使用片内还是使用片外的ROMROM(既既 EA=1EA=1或或EA=0EA=0),),其起始地址都是从其起始地址都是从0000H0000

6、H单元单元 开始开始,0000H是系统的启动地址。4.0003H002BH是中断服务程序入口地址。存储单储单 元保留地址0000H0002H复位后初始化引导导程序0003H000AH外部中断0000BH0012H定时时器0溢出中断0013H001AH外部中断1001BH0022H定时时器1溢出中断0023H002AH串行端口中断002BH定时时器2溢出中断(8052才有)8051、52系列保留的存储单元中断源中断服务务程序入口地址外部中断00003H定时时器/计计数器0溢出000BH外部中断10013H定时时器/计计数器1溢出001BH串行口0023H8051中断矢量地址表数据存储器地址空间

7、片外数据存储器 片内数据存储器 分为两个部分 :1、低128B RAM(00H7FH) 00H1FH,4个通用工作寄存 器区 20H2FH,位地址空间 堆栈的设定2、高128B特殊功能存储器 (SFR) (80HFFH) 特殊功能 寄存器 SFR片内 通用数据 存储器80H 7FH00HFFH片外数据 存储器 64KB0000HFFFFH用户RAM区( 堆栈、数据缓 冲)位寻址区(位 地址007F)第0组工作寄存器R7R0第3组工作寄存器第2组工作寄存器第1组工作寄存器R7R0R7R0R7R007H00H1FH18H17H10H0FH08H2FH20H7FH30H片内RAMSFR98H SCO

8、N82H DPL81H SP80H P08DH TH18CH TH08BH TL18AH TL089H TMOD88H TCON87H PCON83H DPH90H P1IP B8HPSW D0HB F0HFFHACC E0HP3 B0HIE A8HP2 A0HSBUF 99H低128Bytes RAM高128bytes RAMRS1RS0R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H10108H09H0AH0BH0CH0DH0EH0FH21010H11H12H13H14H15H16H17H31118H19H1AH1BH1CH1DH1EH1FHR0R7寄

9、存器分配片内 RAM(20H-2FH)中的位寻址区结构图7F7E7D7C7B7A797877767574737271706F6E6D6C6B6A696867666564636261605F5E5D5C5B5A595857565554535251504F4E4D4C4B4A494847464544434241403F3E3D3C3B3A393837262524232221202F2E2D2C2B2A292827262524232221201F1E1D1C1B1A191817161514131211100F0E0D0C0B0A090807060504030201002FH20H字节地址位地址 位寻

10、址区内的地址是位地址。共有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为位地址 。有关详细内容将在后续章节中描述。特殊功能寄存器:特殊功能寄存器

11、:共共2222个(个(3 3个只属个只属5252子系列),子系列),PCPC在物理上是独立的,其在物理上是独立的,其 余余2121个分布在个分布在SFRSFR区,共占区,共占2626个字节(个字节(5 5个双字节寄存器)。个双字节寄存器)。 这这2121个中,有个中,有1111个寄存器具有位寻址功能,即寄存器中个寄存器具有位寻址功能,即寄存器中 的每位都具有位地址,它们的特点是字节地址正好能被的每位都具有位地址,它们的特点是字节地址正好能被8 8整除整除 。 注意: 1、128B的SFR区中仅有26B是有定义的,若访问没有定义的单元 ,将得到一个不确定的随机数。2、访问SFR时只能采用直接寻址

12、方式。特殊功能寄存器简介 程序计数器PC16位,寻址范围64KB,用于安放下一条要执行的指令地址 ,在物理上是独立的。 累加器A(ACC)8位,是CPU中工作最频繁的,大部分操作数取自累加器, 运算结果也存放在A中。 B寄存器8位,用于乘除指令中,对其他指令可作RAM中的一个单元 用。 程序状态字(或标志寄存器)PSW8位,存放运算结果的一些状态信息,各位含义如下: C CY Y(PSW.7PSW.7):):进位标志位。在进行加法(或进位标志位。在进行加法(或减法)运算时,若运算结果最高位有进位或借减法)运算时,若运算结果最高位有进位或借 位,则位,则C CY Y自动置自动置“ “1”1”,否

13、则,否则C CY Y置置“ “0”0”,在进行布,在进行布 尔操作运算时,尔操作运算时,C CY Y(简称简称C C)作为布尔处理器作为布尔处理器。 ACAC:辅助进位标志位。当进行加法或减法时,辅助进位标志位。当进行加法或减法时, 若低若低4 4位向高位向高4 4位有进位(或借位)时,位有进位(或借位)时,ACAC被置被置 “ “1”1”,否则,否则ACAC被置被置“ “0”0”。在十进制调整指令。在十进制调整指令中中 ACAC还作为十进制调整的判别位。还作为十进制调整的判别位。 F0F0:用户标志位。用户可用软件用户标志位。用户可用软件对对F0F0位置位置“ “1”1” 或清或清“ “0”

14、0”以决定程序的流向。以决定程序的流向。 OVOV:溢出标志位,当运算结果溢出时溢出标志位,当运算结果溢出时OVOV为为“ “1”1”,否则为,否则为 “ “0”0”,此标志位反映了带符号数运算结果是否溢出。,此标志位反映了带符号数运算结果是否溢出。OV的 结果可以用一个算法来表示: OV=CPCS 其中:CP为A7的进位;CS为A6的进位 。 PSW.1PSW.1:未定义位。未定义位。 P P(PSW.0PSW.0):):奇偶标志奇偶标志位位。当累加器。当累加器A A中中“ “1”1”的个数为奇数的个数为奇数 时,时,P P置置“ “1”1”,否则,否则P P置置“ “0”0”。此位反映累加

15、器。此位反映累加器A A中内容中内容“ “1”1”的的奇偶性,它常常用于单片机间通信。奇偶性,它常常用于单片机间通信。 RS1RS1、RS0RS0:工作寄存器区选择位。用来选择当前工作的寄工作寄存器区选择位。用来选择当前工作的寄 存器区。用户通过改变存器区。用户通过改变RS1 RS1 、RS0RS0的内容来选择当前工作的内容来选择当前工作 寄存器区。寄存器区。RS1RS1、RS0RS0的内容与工作寄存器区的对应关系如的内容与工作寄存器区的对应关系如 表表2-12-1所示。所示。数据指针DPTR是一16位专用寄存器,其高字节寄存 器用DPH表示,低字节寄存器用DPL表示 。既可作为16位寄存器(

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)=0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号