资源描述
CH2 CH2 MCS-51MCS-51单片机的单片机的硬件结构硬件结构(2)(2)主要内容1)MCS-51存储器地址空间划分存储器地址空间划分2)数据存储器结构)数据存储器结构3)程序存储器结构)程序存储器结构4)MCS-51存储器结构的特点存储器结构的特点5)思考和练习)思考和练习普林斯顿结构:普林斯顿结构:ROMROM和和RAMRAM统一编址,即在同一个空统一编址,即在同一个空 间队列内寻址间队列内寻址哈佛结构:哈佛结构:ROMROM和和RAMRAM分别编址,在物理空间上相互分别编址,在物理空间上相互 独立独立存储器的两种结构:存储器的两种结构:2.4 MCS-512.4 MCS-51存储器的结构存储器的结构 哈佛结构(哈佛结构(HarvardHarvard):哈佛结构是哈佛结构是一一种并行体系结构将程序和数据存储在不同的种并行体系结构将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、两个独立的存储器,每个存储器独立编址、独立访问。独立访问。存储器空间可划分为存储器空间可划分为4类:类:1.内部程序存储器空间内部程序存储器空间(8031内部无此空间)内部无此空间)2.外部程序存储器空间外部程序存储器空间(最多可扩展(最多可扩展64KB)3.内部数据存储器空间内部数据存储器空间(低(低128单元和高单元和高128单元)单元)4.外部数据存储器空间外部数据存储器空间(最多可扩展(最多可扩展64KB)单片机存储器配置单片机存储器配置 7FHFFFFH0000H可寻址可寻址片外片外RAMRAM64K字节字节00H片内片内RAMRAM128字节字节FFH80H128字节字节片外片外RAMRAM64K字节字节FFFFH1000H片外片外ROMROM片外片外ROMROM0FFFH0000HFFFFH0000H片外片外 ROMROM64K字节字节EA=080C314K字节字节EA=1片内片内 ROMROM一、一、内部内部数据存储器数据存储器低低128128字节(字节(00H7FH00H7FH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中83个位个位可位寻址可位寻址内部数据存储器内部数据存储器(包括普通包括普通RAMRAM区、位寻址区、工作寄区、位寻址区、工作寄存器组区存器组区)都可以用于存放)都可以用于存放数据,也称为数据,也称为数据缓存寄存数据缓存寄存器器低低128128字节字节2.4.1 内部数据存储器内部数据存储器片内片内RAMRAM高高128128字节字节1FH1FH00H00H片内片内RAMRAM前前3232个单元个单元(00H(00H1FH)1FH)是工作寄存器区是工作寄存器区 (由由PSWPSW中的中的RS1,RS0RS1,RS0决定决定)20H20H2FH2FH7FH7FH30H30H80H80HFFHFFH特殊寄存器区特殊寄存器区普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区08H1FH工作寄存器区工作寄存器区3工作寄存器区工作寄存器区2工作寄存器区工作寄存器区107HR0R2R1R3R4R5R6R702H01H00H06H04H05H03H工工作作寄寄存存器器区区0RS1,RS0=0,0RS1,RS0=0,1RS1,RS0=1,0RS1,RS0=1,100H00H1FH1FH寄存器与寄存器与RAM地址对照表地址对照表00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区27H22H21H20H26H24H25H23H28H2FH单元地址单元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位位地址地址总共总共128个可个可按位按位寻址寻址的位的位内部数据存储器内部数据存储器中有中有128128个可按位寻址的位分布在个可按位寻址的位分布在:20H20H2FH2FH单元单元位地址位地址:00H00H7FH7FHSFR分布在分布在80H-FFH其中其中83个位个位可位寻址可位寻址片内片内RAMRAM00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H80H80HFFHFFH普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区内部数据存储器的后内部数据存储器的后8080个单元是个单元是普通普通RAMRAM区区(30H(30H7FH)7FH)SFR分布在分布在80H-FFH其中其中83个位个位可位寻址可位寻址片内片内RAMRAMSP栈顶栈顶下一个进栈的下一个进栈的数据将存在此数据将存在此数据数据进栈进栈已经进栈的数已经进栈的数据存放在此据存放在此初始初始SP普通普通RAMRAM区是用户可以使用的数据存区是用户可以使用的数据存储区域。通常将堆栈区放在这个区储区域。通常将堆栈区放在这个区域内。域内。特殊功能寄存器特殊功能寄存器(80HFFH80HFFH)00H00H20H20H2FH2FH7FH7FH1FH1FH30H30H普通普通RAM区区位寻址区位寻址区工作寄存器区工作寄存器区SFR分布在分布在80H-FFH其中其中83个位个位可位寻址可位寻址特殊功能寄存器(特殊功能寄存器(SFRSFR)又称为专用又称为专用寄存器。寄存器。专用于专用于控制、选择、管理控制、选择、管理、存放存放单片机内部各部分的单片机内部各部分的工作方式、工作方式、条件、状态、结果条件、状态、结果的寄存器的寄存器。80H80HFFHFFH128128字节字节二、内部高二、内部高128个字节单元个字节单元片内片内RAMRAMF8FFF0BF7E8EFE0AE7D8DFD0PSWD7C8CFC0C7B8IPBFB0P3B7A8IEAFA0P2A798SCONSBUF9F90P19788TCONTMODTL0TL1TH0TH18F80P0SPDPLDPHPCON871 1)程序计数器)程序计数器PCPC(Program CounterProgram Counter)一般认为:一般认为:PCPC 不是一个特殊功能寄存器不是一个特殊功能寄存器SFRSFR,但但其作用又十分重要和特殊其作用又十分重要和特殊!特点:特点:它是它是1616位位的按机器周期的按机器周期自动增自动增1 1计数器。计数器。一切分支一切分支/跳转跳转/调用调用/中断中断/复位复位 等操作的本质等操作的本质就是就是:改变改变 PC PC 值值。总指向下一条指令所在首地址总指向下一条指令所在首地址(当前当前PCPC值值),可,可寻址寻址64KB64KB。PCPC没有地址,是不可寻址的,用户无法对它进没有地址,是不可寻址的,用户无法对它进行读写。行读写。2 2)数据指针)数据指针DPTRDPTR(字节地址(字节地址82H82H,83H83H)特点:特点:它是它是1616位位的寄存器,可分成的寄存器,可分成2 2个个8 8位的寄存器。位的寄存器。它是外部数据存储器的地址指针,可寻址范围它是外部数据存储器的地址指针,可寻址范围64KB64KB。DPTRDPTR是可以访问的,但是不可以进行位寻址。是可以访问的,但是不可以进行位寻址。3 3)堆栈指针)堆栈指针SPSP(Stack Pointer)Stack Pointer)(字节地址(字节地址81H81H)特点:特点:它是它是8 8位位的寄存器。的寄存器。工作方式:先进后出。工作方式:先进后出。作用:暂存数据和地址,用于保护现场或保护断点。作用:暂存数据和地址,用于保护现场或保护断点。系统复位后,系统复位后,SPSP的内容为的内容为07H07H,一般在内部,一般在内部RAMRAM的的30H-7FH30H-7FH单元中开辟堆栈。单元中开辟堆栈。堆栈是向上生长的。堆栈是向上生长的。SPSP可初始化为不同值,所以堆栈位置是浮动的。可初始化为不同值,所以堆栈位置是浮动的。4 4)累加器)累加器 ACCACC(字节地址(字节地址E0HE0H)特点:特点:它是它是8 8位位的寄存器。的寄存器。它可以进行字节寻址和位寻址。它可以进行字节寻址和位寻址。一个被众多指令用得最频繁的特殊功能寄存器一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输如:运算、数据传输)。5 5)B B寄存器寄存器(字节地址(字节地址F0HF0H)特点:特点:它是它是8 8位位的寄存器。的寄存器。它可以进行字节寻址和位寻址。它可以进行字节寻址和位寻址。一个经常与一个经常与 ACC ACC 配合在一起使用的特殊功能寄配合在一起使用的特殊功能寄存器存器(如:乘法、除法如:乘法、除法),此外,它也经常当作普通,此外,它也经常当作普通寄存器使用。寄存器使用。6 6)程序状态字)程序状态字PSWPSW(字节地址(字节地址D0HD0H)特点:特点:它是它是8 8位位的寄存器。的寄存器。它可以进行字节寻址和位寻址。它可以进行字节寻址和位寻址。用于存放程序运行过程中的各种状态信息。用于存放程序运行过程中的各种状态信息。7 7)I/OI/O口口P0P0-P3P3(字节地址(字节地址80H80H、90H90H、A0HA0H、B0HB0H)特点:特点:均是均是8 8位位的寄存器。的寄存器。均可以进行字节寻址和位寻址。均可以进行字节寻址和位寻址。P0P0口是双向三态口是双向三态I/OI/O口,口,P1-P3P1-P3口是准双向口是准双向I/OI/O口。口。8 8)定时器)定时器/计数器计数器 (TL0TL0,TL1TL1,TH0TH0,TH1TH1)(字节地址(字节地址8AH8AH、8BH8BH、8CH8CH、8DH8DH)特点:特点:2 2个个1616位定时位定时/计数器计数器T0T0和和T1T1,各由,各由2 2个独立的个独立的8 8位位的寄存器组成。的寄存器组成。TL0TL0,TL1TL1,TH0TH0,TH1TH1只能进行字节寻址,但不能只能进行字节寻址,但不能把把TOTO和和T1T1当作当作1616位寄存器来寻址访问。位寄存器来寻址访问。9 9)串行数据缓冲器)串行数据缓冲器SBUFSBUF(字节地址(字节地址99H99H)特点:特点:物理上是有物理上是有2 2个独立的寄存器组成,一个是发送缓个独立的寄存器组成,一个是发送缓冲器,一个是接收缓冲器。冲器,一个是接收缓冲器。软件上是一个字节地址,不可位寻址。软件上是一个字节地址,不可位寻址。三、位地址空间三、位地址空间 在在MCSMCS5151的的存存储储器器中中有有一一部部分分地地址址空空间间可可以以进进行行位位操操作作,这这部部分分空空间间称称为为位位地地址址空空间间。位位地地址址空间包括两个部分,共空间包括两个部分,共211211个可寻址位:个可寻址位:内部内部RAMRAM的低的低128128单元中位寻址区(字节地址单元中位寻址区(字节地址20H-20H-2FH2FH)的可寻址位)的可寻址位128128个。个。内部内部RAMRAM的高的高128128单元专用寄存器中(字节地址单元专用寄存器中(字节地址80H-80H-FFHFFH)的可寻址位)的可寻址位8383个。个。RAMRAM中的位寻址区地址表中的位寻址区地址表 F8FFF0BF7E8EFE0AE7D8DFD0PSWD7C8CFC0C7B8IPBFB0P3B7A8IEAFA0P2A798SCONSBUF9F90P19788TCONTMODTL0TL1TH0TH18F80P0SPDPLDPHPCON87 为什么需要外部数据存储器?为什么需要外部数据存储器?由于由于MCS-51MCS-51系列单片机内部数据存储器只有系列单片机内部数据存储器只有128128字节,字节,往往不够用,这就需要扩展外部数据存储器。往往不够用,这就需要扩展外部数据存储器。可扩展多少?可扩展多少?最多可扩展至最多可扩展至64KB64KB。如何访问?如何访问?访问地址可由工作寄存器访问地址可由工作寄存器Ri(8Ri(8位位)提供,寻址空间提供,寻址空间256256字节,由字节,由P0P0口输出。口输出。访问地址可由数据指针访问地址可由数据指针DPTR(16DPTR(16位位)提供,寻址空间提供,寻址空间64KB64KB,DPLDPL由由P0P0口输出,口输出,DPHDPH由由P2P2口输出。口输出。四、外部数据存储器四、外部数据存储器 EA=12.4.2 程序存储器程序存储器64K字节字节FFFFH1000H片外片外ROMROM0FFFH0000H片内片内ROMROM4K字节字节FFFFH0000H64K字节字节EA=0片外片外 ROMROM80C31程序存储器中的几个特殊单元程序存储器中的几个特殊单元地址地址用途用途 0000H0000H复位地址复位地址0003H0003H外部中断外部中断0 0入口地址入口地址000BH000BH定时器定时器0 0中断入口地址中断入口地址0013H0013H外部中断外部中断1 1入口地址入口地址001BH001BH定时器定时器1 1中断入口地址中断入口地址0023H0023H串行口中断入口地址串行口中断入口地址数据存储器和程序存储器分开,各有数据存储器和程序存储器分开,各有自己的寻址系统、控制信号和功能。自己的寻址系统、控制信号和功能。存储器有内外之分。存储器有内外之分。分开的存储结构更有效地使用较大而分开的存储结构更有效地使用较大而固定的程序和频繁地处理大量的数据或固定的程序和频繁地处理大量的数据或变量。变量。MCS-51单片机系统的存储器结构特点思考和练习思考和练习1、内部、内部RAM中,位地址为中,位地址为40H、88H的位,该位所在字节的的位,该位所在字节的字节地址分别为字节地址分别为和和。2、片内字节地址为、片内字节地址为2AH单元的最低位的位地址是单元的最低位的位地址是;片内;片内字节地址为字节地址为88H单元的最低位的位地址是单元的最低位的位地址是。3、MCS-51片内片内20H2FH范围内的数据存储器,既可字节范围内的数据存储器,既可字节寻址又可寻址又可_寻址。寻址。4、MCS-51单片机内部单片机内部RAM的低的低128单元可划分为单元可划分为、和和。5、内部、内部RAM中,可作为工作寄存器区的单元地址为中,可作为工作寄存器区的单元地址为H。6、MCS-51单片机的内部单片机的内部RAM中共有中共有个可寻址位。个可寻址位。7、MCS-51单片机的单片机的SFR中唯一一个中唯一一个16位寄存器是位寄存器是。思考和练习思考和练习8、位地址、位地址2DH与字节地址与字节地址2DH如何区别?位地址如何区别?位地址2DH具体在具体在片内片内RAM中什么位置?中什么位置?9、单片机的位寻址空间由哪几部分组成、单片机的位寻址空间由哪几部分组成?10、64KB程序存储器空间有程序存储器空间有5个单元地址对应个单元地址对应8051单片机单片机5个个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。中断源。11、以下关于堆栈叙述内容正确的是以下关于堆栈叙述内容正确的是。A、堆栈的工作方式是先进先出。、堆栈的工作方式是先进先出。B、堆栈是向上生长的。、堆栈是向上生长的。C、堆栈可以在内部、堆栈可以在内部RAM的的00H-7FH单元中开辟。单元中开辟。D、堆栈在内部、堆栈在内部RAM中的位置是固定的。中的位置是固定的。思考和练习思考和练习12、判断以下有关判断以下有关PC和和DPTR的结论的结论是不正确的。是不正确的。ADPTR是可以访问的,而是可以访问的,而PC不能访问不能访问B它们都是它们都是16位寄存器位寄存器C在单片机运行时,它们都具有自动加在单片机运行时,它们都具有自动加“1”的功能的功能DDPTR可以分为可以分为2个个8位的寄存器使用,但位的寄存器使用,但PC不能不能13、判断下列说法判断下列说法是正确的。是正确的。A程序计数器程序计数器PC不能为用户编程时直接访问,因为它没不能为用户编程时直接访问,因为它没有地址。有地址。B内部内部RAM的位寻址区,只能供位寻址使用,而不能供的位寻址区,只能供位寻址使用,而不能供字节寻址使用。字节寻址使用。CAT89C51单片机共有单片机共有21个特殊功能寄存器,它们的位都个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的。是可用软件设置的,因此,是可以进行位寻址的。D特殊功能寄存器内存放的是栈顶首地址单元的内容特殊功能寄存器内存放的是栈顶首地址单元的内容
展开阅读全文