第二章mcs51存储器配置解析ppt课件.ppt

上传人:小飞机 文档编号:2106221 上传时间:2023-01-11 格式:PPT 页数:29 大小:361KB
返回 下载 相关 举报
第二章mcs51存储器配置解析ppt课件.ppt_第1页
第1页 / 共29页
第二章mcs51存储器配置解析ppt课件.ppt_第2页
第2页 / 共29页
第二章mcs51存储器配置解析ppt课件.ppt_第3页
第3页 / 共29页
第二章mcs51存储器配置解析ppt课件.ppt_第4页
第4页 / 共29页
第二章mcs51存储器配置解析ppt课件.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《第二章mcs51存储器配置解析ppt课件.ppt》由会员分享,可在线阅读,更多相关《第二章mcs51存储器配置解析ppt课件.ppt(29页珍藏版)》请在三一办公上搜索。

1、第二章 MCS-51存储器配置,存储器的两种结构:普林斯顿结构:ROM和RAM统一编址,即在同一个空间队列内寻址哈佛结构:ROM和RAM分别编址,在物理空间上相互独立。51单片机的存储器是哈佛结构。,物理上,MCS-51有4个存储器空间:片内程序存储器和片外程序存储器;片内数据存储器和片外数据存储器;从用户使用的角度,即逻辑上,MCS-51有3个存储器空间:片内外统一的64kb的程序存储器地址空间;256b或384b的内部数据存储器地址空间;64kb的外部数据存储器地址空间;访问这3个不同逻辑空间时应采用不同形式的指令,2.1 程序存储器,程序存储器用于存放编好的程序和表格常数。在MCS-51

2、中,64kb程序存储器的地址空间是统一的。对于有内部ROM的单片机,在正常运行时,应把EA引脚接高电平,使程序从内部ROM开始执行,当PC值超出内部ROM的容量时,会自动转向外部程序存储器空间;对这类芯片,若把EA引脚接低电平,可用于调试状态,把调试程序放置在与内部ROM空间重叠的外部存储器内。对于无内部ROM的芯片,EA引脚应始终接低电平,迫使系统从外部程序存储器取指。,FFFFH,1000H,0FFFH,0000H,片内ROM,片外ROM,0FFFH,0000H,8051/8751程序存储器配置图,FFFFH,2000H,1FFFH,0000H,片内ROM,片外ROM,1FFFH,0000

3、H,8052/8752程序存储器配置图,对程序存储器可以采用立即寻址和基址+变址寻址方式64kb程序存储器中有7个单元具有特殊功能0000H单元 MCS-51复位后程序计数器PC的内容为0000H,所以系统必须从0000H单元开始取指,执行程序。该单元是系统的启动地址,一般在该单元中存放一条绝对跳转指令,而用户设计的主程序从跳转地址开始安放。,除0000H单元外,其它6个特殊单元分别对应于6种中断源的中断服务子程序的入口地址。通常在这些入口地址处都安放一条绝对跳转指令,而真正的中断服务子程序从转移地址开始安放。,程序存储器中的几个特殊单元,2.2 内部数据存储器,数据存储器在物理上和逻辑上都分

4、为两个地址空间,一个内部和一个外部数据存储器空间。访问内部数据存储器用MOV指令;访问外部数据存储器用MOVX指令。内部数据存储器在物理上又可以区分为3个不同的块:00H7FH(0127)单元组成的低128字节的RAM块;80HFFH(128255)单元组成的高128字节的RAM块(8052单片机有这一块);128b的专用寄存器(SFR)块;,在51子系列中,只有低128b的RAM块和128b的专用寄存器块,后者占有80HFFH(128255)地址空间,两块地址空间是相连的;而在52子系列中,高128字节RAM块与SFR块的地址是重合的,究竟访问哪一块是通过不同的寻址方式加以区分的。访问高地址

5、字节RAM时采用寄存器间接寻址方式,访问SFR块则采用直接寻址方式。而访问低128字节RAM时,两种寻址方式都可以采用。注意:128b的SFR块中只有26个字节是有定义的,若访问这一块中没有定义的单元,将得到一个不确定的随机数,FFH,80H,7FH,00H,专用寄存器,内部RAM,FFFFH,0000H,内部数据存储器,外部数据存储器,8051/8751数据存储器配置图,FFH,80H,7FH,00H,内部RAM,FFFFH,0000H,内部数据存储器,外部数据存储器,专用寄存器,8052/8752数据存储器配置图,内部数据存储器的00H1FH(031)单元共32b是4个通用寄存器区,每个区

6、有8个8位寄存器,编号为R0R7。在专用寄存器PSW(程序状态字)中有2位(RS0、RS1)可以用来确定采用哪一个工作寄存器区。可以通过两种方法改变这两位的值:1)对PSW寻址,通过改变PSW的值来间接改变这2位的值;2)直接对RS0、RS1寻址,改变它们的值。例如,RS0=0、RS1=1选择的是区1,而RS0=0、RS1=0选择区0,片内RAM 低128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH其中92个位可位寻址,80H,FFH,所有的RAM区(包括位寻址区

7、、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,89C51 128字节,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,片内RAM前32个单元是工作寄存器区(00H1FH),MCS-51内部数据存储器中可以设置堆栈,但是其位置不固定。可以通过一个专用寄存器SP(栈指针)来确定栈顶的地址。堆栈深度可达128b,但是以不超出内部RAM空间为限。内部RAM块中的20H2FH(3247)单元和SFR块中的12个单元构成了布尔处理机的存储器空间,这28单元的221位(288减去3个未定义位)各自都有专门的位地址,

8、可以被直接寻址。,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,片内RAM中有128个可按位寻址的位。位地址:00H7FH 分布在:20H2FH单元,内部RAM块中专用位的寻址,SFR中的位地址分布,2.3 专用寄存器,8051/8052中共有22个专用寄存器(3个只属于8052),其中5个是双字节寄存器。PC寄存器在物理上是独立的,其余21个寄存器都属于内部数据存储器的SFR块,共占了26个字节,专用寄存器(PC除外),专用寄存器(PC除外),1程序计数器PC程序计数器PC用于存放下一条要执行指令的地址(PC总

9、是指向程序存储器地址),是一个16位专用寄存器,寻址范围64K字节,PC在物理结构上是独立的,不属于特殊功能寄存器SFR块。,2累加器A 累加器A是一个最常用的专用寄存器,系统运转时工作最频繁,大部分单操作数指令的操作数取自累加器A,很多双操作数指令的一个操作数取自A;加、减、乘、除算术运算以及逻辑操作指令的结果都存放在累加器A或AB寄存器中;输入/输出大多数指令都以累加器A为核心操作。指令系统中采用A作累加器的助记符。3寄存器B 它是一个8位寄存器。一般用于乘除法指令,与累加器A配合使用。寄存器B存放第二操作数、乘积的高位字节或除法的余数部分。在其他指令中,可作为中间结果的暂存器使用,相当于

10、RAM中的一个特殊单元。,程序状态字是一个8位寄存器,用来存放程序的状态信息,表征指令的执行状态,供程序查询和辨别之用。其PSW格式如下:,(1)CY:(PSW.7)进/借位标志 在执行加/减法指令时,如果操作结果D7位有进/借位,CY置“1”,否则清“0”。在布尔处理机中被定义为布尔(位)累加器(或称位累加器)。(2)AC:(PSW.6)辅助进位标志或称为半进位标志 当进行加法操作而产生由低4位数(十进数的1位数)向高4位数进位时,AC将被硬件置“1”,否则被清“0”。AC被用于BCD码加法调整,详见DA指令。,4程序状态字PSW,(3)F0:(PSW.5)用户标志0 由用户定义的一个状态标

11、志。可以用软件来使它置“1”或清“0”,也可以由软件测试F0来控制程序流向。(4)RS1、RS0:(PSW.4、PSW.3)工作寄存器区选择控制位 可由软件来改变RS1和RS0的组合以确定当前工作寄区。(5)P:(PSW.0)奇偶标志 每个指令周期都由硬件来置位或清零,以表示累加器A中值为“1”的位数的奇偶数。若P=1,则A中“1”的位数为奇数,否则P=0。,(6)OV:(PSW.2)溢出标志用于补码运算,以指示溢出状态。当执行加法指令时,若以Ci表示i位向位i+1有进位,则OV=C6C7即当位6向位7有进位,而位7不向CY进位时;或位6不向位7进位,而位7向CY进位时,溢出标志OV被置“1”

12、,否则被清“0”。同样,若以Ci表示减法运算时,位i向位i+1有借位,则执行减法指令SUBB时,OV=C6C7 无符号数乘法指令MUL的执行结果也会影响溢出标志;除法指令DIV也会影响溢出标志,当除数为0时,OV=1,否则OV=0。,5堆栈指针SP 它是一个8位寄存器,用来存放栈顶地址。MCS-51堆栈设在内部RAM中,是一个按“先进后出”顺序,受SP管理的存储区域。在程序中断,子程序调用等情况下,用于存放一些特殊信息(亦可作数据传送的中转站)。当数据压入堆栈时,SP就自动加“1”;当数据从堆栈中弹出时,SP就自动减“1”。因而SP指针始终指向栈顶。MCS-51堆栈最大深度为128个字节,系统

13、复位时硬件使SP=07H。,6数据指针DPTR 是一16位专用寄存器,其高字节寄存器用DPH表示,低字节寄存器用DPL表示。既可作为16位寄存器(DPTR)使用,又可作为两个独立的8位寄存器(DPH、DPL)来使用。DPTR主要用来保持16位地址,当对64KB外部数据存储器RAM(或I/O口)空间寻址时,作间址寄存器用,指向外部数据存储器地址。7I/O端口P0P3 专用寄存器P0、P1、P2和P3分别是I/O端口P0P3的锁存器。8串行数据缓冲器SBUF 串行数据缓冲器SBUF用于存放欲发送或已接收的数据。它由两个独立的寄存器组成,一个是发送缓冲器,一个是接受缓冲器(两个缓冲器共用一个地址)。,9定时器/计数器 MCS-51子系列中有两个16位定时器/计数器T0和T1,MCS-52子系列增加了一个16位定时器/计数器T2。它们各由两个独立的8位寄存器组成,共分为6个独立的寄存器;TH0、TL0,TH1、TL1,TH2和TL2。可以对这6个寄存器寻址,但不可把T0、T1和T2当作一个16位寄存器来对待。10其他控制寄存器 IP、IE、TMOD、TCON、T2CON、SCON和PCON寄存器分别包括有中断系统、定时器/计数器、串行口和供电方式的控制和状态位,这些寄存器将在有关章节中一一介绍。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号