第二章mcs-51存储器配置_第1页
第二章mcs-51存储器配置_第2页
第二章mcs-51存储器配置_第3页
第二章mcs-51存储器配置_第4页
第二章mcs-51存储器配置_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 存储器的两种结构:存储器的两种结构: 普林斯顿结构:普林斯顿结构:ROM和和RAM统一编址,即在同统一编址,即在同一个空间队列内寻址一个空间队列内寻址 哈佛结构:哈佛结构:ROM和和RAM分别编址,在物理空间分别编址,在物理空间上相互独立。上相互独立。51单片机的存储器是哈佛结构。单片机的存储器是哈佛结构。 物理上,物理上,MCS-51有有4个存储器空间:个存储器空间: 片内程序存储器和片外程序存储器;片内程序存储器和片外程序存储器; 片内数据存储器和片外数据存储器;片内数据存储器和片外数据存储器; 从用户使用的角度,即逻辑上,从用户使用的角度,即逻辑上,MCS-51有有3个存个存储器空间:

2、储器空间: 片内外统一的片内外统一的64kb的程序存储器地址空间;的程序存储器地址空间; 256b或或384b的内部数据存储器地址空间;的内部数据存储器地址空间; 64kb的外部数据存储器地址空间;的外部数据存储器地址空间; 访问这访问这3 3个不同逻辑空间时应采用不同形式的指令个不同逻辑空间时应采用不同形式的指令 程序存储器用于存放编好的程序和表格常数。程序存储器用于存放编好的程序和表格常数。 在在MCS-51中,中,64kb程序存储器的地址空间是统一的。对于程序存储器的地址空间是统一的。对于有内部有内部ROM的单片机,在正常运行时,应把的单片机,在正常运行时,应把EA引脚接高引脚接高电平,

3、使程序从内部电平,使程序从内部ROM开始执行,当开始执行,当PC值超出内部值超出内部ROM的容量时,会自动转向外部程序存储器空间;对这类芯片,的容量时,会自动转向外部程序存储器空间;对这类芯片,若把若把EA引脚接低电平,可用于调试状态,把调试程序放置引脚接低电平,可用于调试状态,把调试程序放置在与内部在与内部ROM空间重叠的外部存储器内。对于无内部空间重叠的外部存储器内。对于无内部ROM的芯片,的芯片,EA引脚应始终接低电平,迫使系统从外部程序存引脚应始终接低电平,迫使系统从外部程序存储器取指。储器取指。EA=1 64K字节字节FFFFH1000H片外片外ROMROM 0FFFH 0000H片

4、内片内ROMROM 4K字节字节EA=0片外片外ROMROM 0FFFH 0000H8051/8751程序存储器配置图程序存储器配置图EA=1 64K字节字节FFFFH2000H片外片外ROMROM 1FFFH 0000H片内片内ROMROM 8K字节字节EA=0片外片外ROMROM 1FFFH 0000H8052/8752程序存储器配置图程序存储器配置图 对程序存储器可以采用立即寻址和基址对程序存储器可以采用立即寻址和基址+变址寻址方式变址寻址方式 64kb程序存储器中有程序存储器中有7个单元具有特殊功能个单元具有特殊功能 0000H单元单元 MCS-51复位后程序计数器复位后程序计数器PC

5、的内容为的内容为0000H,所以系统必须从,所以系统必须从0000H单元开始取指,执行程序。单元开始取指,执行程序。该单元是系统的启动地址,一般在该单元中存放一条绝对该单元是系统的启动地址,一般在该单元中存放一条绝对跳转指令,而用户设计的主程序从跳转地址开始安放。跳转指令,而用户设计的主程序从跳转地址开始安放。 除除0000H单元外,其它单元外,其它6个特殊单元分别对应于个特殊单元分别对应于6种中断源种中断源的中断服务子程序的入口地址。通常在这些入口地址处都的中断服务子程序的入口地址。通常在这些入口地址处都安放一条绝对跳转指令,而真正的中断服务子程序从转移安放一条绝对跳转指令,而真正的中断服务

6、子程序从转移地址开始安放。地址开始安放。程序存储器中的几个特殊单元程序存储器中的几个特殊单元地址地址用途用途 0000H0000H复位地址复位地址0003H0003H外部中断外部中断0 0入口地址入口地址000BH000BH定时器定时器0 0中断入口地址中断入口地址0013H0013H外部中断外部中断1 1入口地址入口地址001BH001BH定时器定时器1 1中断入口地址中断入口地址0023H0023H串行口中断入口地址串行口中断入口地址002BH002BH定时器定时器2 2溢出或溢出或T2EXT2EX(P1.1P1.1)端负跳变时)端负跳变时 数据存储器在物理上和逻辑上都分为两个地址空间,一

7、个数据存储器在物理上和逻辑上都分为两个地址空间,一个内部和一个外部数据存储器空间。访问内部数据存储器用内部和一个外部数据存储器空间。访问内部数据存储器用MOV指令;访问外部数据存储器用指令;访问外部数据存储器用MOVX指令。指令。 内部数据存储器在物理上又可以区分为内部数据存储器在物理上又可以区分为3个不同的块:个不同的块:00H7FH(0127)单元组成的低)单元组成的低128字节的字节的RAM块;块;80HFFH(128255)单元组成的高)单元组成的高128字节的字节的RAM块块(8052单片机有这一块);单片机有这一块); 128b的专用寄存器(的专用寄存器(SFR)块;)块; 在在5

8、1子系列中,只有低子系列中,只有低128b的的RAM块和块和128b的专用寄存的专用寄存器块,后者占有器块,后者占有80HFFH(128255)地址空间,两块)地址空间,两块地址空间是相连的;地址空间是相连的; 而在而在52子系列中,高子系列中,高128字节字节RAM块与块与SFR块的地址是重块的地址是重合的,究竟访问哪一块是通过不同的寻址方式加以区分的。合的,究竟访问哪一块是通过不同的寻址方式加以区分的。访问高地址字节访问高地址字节RAM时采用寄存器间接寻址方式,访问时采用寄存器间接寻址方式,访问SFR块则采用直接寻址方式。而访问低块则采用直接寻址方式。而访问低128字节字节RAM时,时,两

9、种寻址方式都可以采用。两种寻址方式都可以采用。 注意:注意:128b128b的的SFRSFR块中只有块中只有2626个字节是有定义的,若访问个字节是有定义的,若访问这一块中没有定义的单元,将得到一个不确定的随机数这一块中没有定义的单元,将得到一个不确定的随机数 FFH 80H 7FH 00H专用寄存器专用寄存器内部内部RAM片外片外RAMRAM FFFFH 0000H内部数据存储器内部数据存储器外部数据存储器外部数据存储器8051/8751数据存储器配置图数据存储器配置图 FFH 80H 7FH 00H内部内部RAM片外片外RAMRAM FFFFH 0000H内部数据存储器内部数据存储器外部数

10、据存储器外部数据存储器专用寄存器专用寄存器8052/8752数据存储器配置图数据存储器配置图 内部数据存储器的内部数据存储器的00H1FH(031)单元共)单元共32b是是4个通个通用寄存器区,每个区有用寄存器区,每个区有8个个8位寄存器,编号为位寄存器,编号为R0R7。在专用寄存器在专用寄存器PSW(程序状态字)中有(程序状态字)中有2位(位(RS0、RS1)可以用来确定采用哪一个工作寄存器区。可以通过两种方可以用来确定采用哪一个工作寄存器区。可以通过两种方法改变这两位的值:法改变这两位的值:1)对)对PSW寻址,通过改变寻址,通过改变PSW的值的值来间接改变这来间接改变这2位的值;位的值;

11、2)直接对)直接对RS0、RS1寻址,改变寻址,改变它们的值。例如,它们的值。例如, RS0=0、RS1=1选择的是区选择的是区1,而,而RS0=0、RS1=0选择区选择区0 片内片内RAMRAM 低低128128字节字节(00H00H7FH7FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中92个位个位可位寻址可位寻址80H80HFFHFFH所有的所有的RAMRAM区区( (包括包括位位寻址区、工作寄存器寻

12、址区、工作寄存器区)都可以用于存放区)都可以用于存放数据,故也称为数据,故也称为数据数据缓存寄存器缓存寄存器89C51 128128字节字节00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区1工作寄存器区工作寄存器区00FH10H17H18H 片内片内RAMRAM前前3232个单元是工作寄

13、存器区个单元是工作寄存器区 (00H(00H1FH)1FH) MCS-51内部数据存储器中可以设置堆栈,但是其位置不内部数据存储器中可以设置堆栈,但是其位置不固定。可以通过一个专用寄存器固定。可以通过一个专用寄存器SP(栈指针)来确定栈(栈指针)来确定栈顶的地址。堆栈深度可达顶的地址。堆栈深度可达128b,但是以不超出内部,但是以不超出内部RAM空间为限。空间为限。 内部内部RAM块中的块中的20H2FH(3247)单元和)单元和SFR块中的块中的12个单元构成了布尔处理机的存储器空间,这个单元构成了布尔处理机的存储器空间,这28单元的单元的221位(位(288减去减去3个未定义位)各自都有专

14、门的位地址,个未定义位)各自都有专门的位地址,可以被直接寻址。可以被直接寻址。00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH52子系列才有子系列才有的的RAM区区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C

15、2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址位地址总共总共128个可个可按位按位寻址寻址的位的位 片内片内RAMRAM中有中有128128个可按位寻址的位。个可按位寻址的位。 位地址位地址: :00H00H7FH 7FH 分布在分布在: :20H20H2FH2FH单元单元内部内部RAM块中专用位的寻址块中专用位的寻址SFR中的位地址分布中的位地址分布 8051/8052中共有中共有22个专用寄存器(个专用寄存器(3个只属于个只属

16、于8052),),其中其中5个是双字节寄存器。个是双字节寄存器。PC寄存器在物理上是独立的,寄存器在物理上是独立的,其余其余21个寄存器都属于内部数据存储器的个寄存器都属于内部数据存储器的SFR块,共占了块,共占了26个字节个字节标识符号标识符号地址地址寄存器名称寄存器名称ACCACC0E0H0E0H累加器累加器B B0F0H0F0HB B寄存器寄存器PSWPSW0D0H0D0H程序状态字程序状态字SPSP81H81H堆栈指针堆栈指针DPTRDPTR82H82H、83H83H数据指针数据指针(16(16位位) )含含DPLDPL和和DPHDPHIEIE0A8H0A8H中断允许控制寄存器中断允许

17、控制寄存器IPIP0B8H0B8H中断优先控制寄存器中断优先控制寄存器P0P080H80HI/OI/O口口0 0寄存器寄存器P1P190H90HI/OI/O口口1 1寄存器寄存器P2P20A0H0A0HI/OI/O口口2 2寄存器寄存器P3P30B0H0B0HI/OI/O口口3 3寄存器寄存器专用寄存器(专用寄存器(PC除外)除外)标识符号标识符号 地址地址寄存器名称寄存器名称PCONPCON87H87H电源控制及波特率选择寄存器电源控制及波特率选择寄存器SCONSCON98H98H串行口控制寄存器串行口控制寄存器SBUFSBUF99H99H串行数据缓冲寄存器串行数据缓冲寄存器TCONTCON

18、88H88H定时控制寄存器定时控制寄存器TMODTMOD89H89H定时器方式选择寄存器定时器方式选择寄存器TL0TL08AH8AH定时器定时器0 0低低8 8位位TH0TH08CH8CH定时器定时器0 0高高8 8位位TL1TL18BH8BH定时器定时器1 1低低8 8位位TH1TH18DH8DH定时器定时器1 1高高8 8位位TL2TL20CCH0CCH定时器定时器2 2低低8 8位位TH2TH20CDH0CDH定时器定时器2 2高高8 8位位专用寄存器(专用寄存器(PC除外)除外)1程序计数器程序计数器PC 程序计数器程序计数器PC用于存放下一条要执行指令的地址(用于存放下一条要执行指令

19、的地址(PC总总是指向程序存储器地址),是一个是指向程序存储器地址),是一个16位专用寄存器,寻址位专用寄存器,寻址范围范围64K字节,字节,PC在物理结构上是独立的,不属于特殊在物理结构上是独立的,不属于特殊功能寄存器功能寄存器SFR块。块。 2累加器累加器A 累加器累加器A是一个最常用的专用寄存器,系统运转时工作最是一个最常用的专用寄存器,系统运转时工作最频繁,大部分单操作数指令的操作数取自累加器频繁,大部分单操作数指令的操作数取自累加器A,很多,很多双操作数指令的一个操作数取自双操作数指令的一个操作数取自A;加、减、乘、除算术;加、减、乘、除算术运算以及逻辑操作指令的结果都存放在累加器运

20、算以及逻辑操作指令的结果都存放在累加器A或或AB寄存寄存器中;输入器中;输入/输出大多数指令都以累加器输出大多数指令都以累加器A为核心操作。指为核心操作。指令系统中采用令系统中采用A作累加器的助记符。作累加器的助记符。 3寄存器寄存器B 它是一个它是一个8位寄存器。一般用于乘除法指令,与累加器位寄存器。一般用于乘除法指令,与累加器A配合使用。寄存器配合使用。寄存器B存放第二操作数、存放第二操作数、 乘积的高位字节或乘积的高位字节或除法的余数部分。在其他指令中,可作为中间结果的暂存除法的余数部分。在其他指令中,可作为中间结果的暂存器使用,相当于器使用,相当于RAM中的一个特殊单元。中的一个特殊单

21、元。 程序状态字是一个程序状态字是一个8位寄存器,用来存放程序的状态位寄存器,用来存放程序的状态信息,表征指令的执行状态,供程序查询和辨别之用。其信息,表征指令的执行状态,供程序查询和辨别之用。其PSW格式如下:格式如下: CYACF0RS1RS0OVP(1)CY:(:(PSW.7)进)进/借位标志借位标志 在执行加在执行加/减法指令时,如果操作结果减法指令时,如果操作结果D7位有进位有进/借位,借位,CY置置“1”,否则清,否则清“0”。在布尔处理机中被定义为布尔(位)累。在布尔处理机中被定义为布尔(位)累加器(或称位累加器)。加器(或称位累加器)。(2)AC:(:(PSW.6)辅助进位标志

22、或称为半进位标志)辅助进位标志或称为半进位标志 当进行加法操作而产生由低当进行加法操作而产生由低4位数(十进数的位数(十进数的1位数)向高位数)向高4位数进位时,位数进位时,AC将被硬件置将被硬件置“1”,否则被清,否则被清“0”。AC被用于被用于BCD码加法调整,详见码加法调整,详见DA指令。指令。4程序状态字程序状态字PSW(3)F0:(:(PSW.5)用户标志)用户标志0 由用户定义的一个状态标志。可以用软件来使它置由用户定义的一个状态标志。可以用软件来使它置“1”或清或清 “0”,也可以由软件测试,也可以由软件测试F0来控制程序流向。来控制程序流向。(4)RS1、RS0:(:(PSW.

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

24、向位i+1有进位,则有进位,则OV=C6 C7即当位即当位6向位向位7有进位,而位有进位,而位7不向不向CY进位时;或位进位时;或位6不向位不向位7进位,而位进位,而位7向向CY进位时,溢出标志进位时,溢出标志OV被置被置“1”,否则被清,否则被清“0”。同样,若以同样,若以Ci表示减法运算时,位表示减法运算时,位i向位向位i+1有借位,则执行减有借位,则执行减法指令法指令SUBB时,时, OV=C6 C7 无符号数乘法指令无符号数乘法指令MUL的执行结果也会影响溢出标志;的执行结果也会影响溢出标志; 除法指令除法指令DIV也会影响溢出标志,当除数为也会影响溢出标志,当除数为0时,时,OV=1

25、,否,否则则OV=0。 5堆栈指针堆栈指针SP 它是一个它是一个8位寄存器,用来存放栈顶地址。位寄存器,用来存放栈顶地址。 MCS-51堆栈设在内部堆栈设在内部RAM中,是一个按中,是一个按“先进后出先进后出”顺序,顺序,受受SP管理的存储区域。在程序中断,子程序调用等情况下,用管理的存储区域。在程序中断,子程序调用等情况下,用于存放一些特殊信息(亦可作数据传送的中转站)。当数据压入于存放一些特殊信息(亦可作数据传送的中转站)。当数据压入堆栈时,堆栈时,SP就自动加就自动加“1”;当数据从堆栈中弹出时,;当数据从堆栈中弹出时,SP就自动就自动减减“1”。因而。因而SP指针始终指向栈顶。指针始终指向栈顶。 MCS-51堆栈最大深度为堆栈最大深度为128个字节,系统复位时硬件使个字节,系统复位时硬件使SP=07H。 6数据指针数据指针DPTR 是一是一16位专用寄存器,其高字节寄存器用位专用寄存器,其高字节寄存器用DPH表示,

温馨提示

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

评论

0/150

提交评论