内部的ROM及外部RAM的空间分配_第1页
内部的ROM及外部RAM的空间分配_第2页
内部的ROM及外部RAM的空间分配_第3页
全文预览已结束

下载本文档

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

文档简介

部的ROM与外部RAM的空间分配8051单片机的存储器在物理构造上分为程序存储器空间和数据存储器空间,共有4个存储空间:片程序存储器、片外程序存储器以及片数据存储器、片外数据存储器空间。这种程序存储和数据存储分开的构造形式被称为哈佛构造。MCS-51使用哈弗构造,它的程序空间和数据空间是分开编址的,即各自有各自的地址空间,互不重叠。所以即使地址一样,但因为分开编址,所以依然要说哪一个空间的*地址。而ARM〔甚至是*86]这种诺依曼构造的MCU/CPU,它的地址空间是统一并且连续的,代码存储器/RAM/CPU存放器,甚至PC机的显存,都是统一编址的,只是不同功能的存储器占据不同的地址块,各自为政。图1MCS-51单片机存储器的配置特点①部集成了4K的程序存储器ROM;②部具有256B的数据存储器RAM〔用户空间+SFR空间〕;③可以外接64K的程序存储器ROM和数据存储器RAM。从物理构造的角度讲,51单片机的存储系统可以分为四个存储空间:既片ROM,RAM和片外ROM、RAMo从逻辑构造上看〔既编程的角度〕,可以分为三个不同的空间:〔1〕片、片外统一编址的64KB的程序存储器地址空间:0000H~FFFFH(用16位地址);,其中0000H~0FFFH为片4KB的ROM地址空间,1000H~FFFFH为外卜部ROM地址空间;〔2〕 256B的部数据存储器地址空间〔用8位地址〕,00H~FFH,分为两大局部,其中00H~7FH〔共128B单元〕为部静态RAM的地址空间,80H~FFH为特殊功能存放器的地址空间,21个特殊功能存放器离散地分布在这个区域;〔3〕64KB的外部数据存储器地址空间(用16位地址):0000H~FFFFH,包括扩展I/O地址空间。上述4个存储空间地址是重叠的,如图1所示。8051的指令系统设计了不同的数据传送指令以区别这4个不同的逻辑空间:CPU片、片外ROM指令用MOVC,片外RAM指令用MOV*,片RAM指令用MOV。程序存储器用于存放编好的程序和表格常数。程序通过16位程序计数器寻址,寻址能力为64KB。这使得指令能在64KB的地址空间任意跳转,但不能使程序从程序存储器空间转移到数据存储器空间。——4、ROM的片寻址:程序存储器ROM的片和片外寻址12345.程序存储器ROM用于存放程序、常数或表格。.在51单片机中,由引脚/EA上的电平选择、外ROM:EA=1时,CPU执行片的4KROM中的程序;EA=0时,CPU选择片外ROM中的程序。.无论是使用片还是使用片外ROM,程序的起始地址都是从ROM的0000H单元开场。.尽管系统可以同时具备片ROM和外部ROM,但是在一般正常使用情况下,通过/EA的设定来选择其一〔或者使用部ROM,或者使用外部ROM〕。.如果EA=1〔执行片程序存储器中程序时):如果程序计数器的指针PC值超过0FFFH〔4K〕时,单片机就要自动的转向片外的ROM存储器且从1000H单元开场执行程序〔无法使用片外ROM的低4K空间〕。6.当程序超过4K时,有两种使用程序存储器ROM的方法:①设置EA=0,使用外部ROM。从地址=0000H开场;②设置EA=1,使用部的4KROM和外部ROM〔地址从1000H开场的单元〕。8051从片程序存储器和片外程序存储器取指时的执行速度一样。程序存储器六个特殊的单元:在ROM中有六个单元具有特定功能。000000000H单元:003H单元:00BH单元:013H单元:01BH单元:023H单元:复位时程序计数器PC所指向的单元,因此用来存放程序中的第一条指令;外部中断/INT0的矢量入口地址;定时器T0溢出中断的矢量入口地址;外部中断/INT1的矢量入口地址;定时器Tl的溢出中断矢量入口地址;串行口接收、传送的中断矢量入口地址。矢量入口单元:在编写中断程序时,写入对应的“跳板指令〃单片机第一条指令的两个特征:①存放在ROM的0000H单元;②必须是“跳转指令〃以跳过下面的5个中断矢量,转到后面的真正的主程序入口0100H单元。O

O

SRG0000HLJMP0100HRG0100HTART:MOVA,*00HEND二、ROM的外部寻址:当单片机使用外ROM存储器时〔扩展系统〕,必须设定/EA=0,此时单片机的端口功能就要发生相应的改变:②P0、P2作为外部ROM的地址和数据总线;②使用引脚/psen信号来选通外部ROM的数据三态输出。.程序存储器RAM的片和片外寻址——4、RAM片还是片外程序存储器RAM的片和片外寻址:无论在物理上还是逻辑上,系统中RAM都可分为两个独立空间:部和外部RAM。由不同的指令来。1212.部数据存储单元时,使用MOV指令;.外部数据存储器时,使用MOV*指令。部RAM从功能上将256B空间分为二个不同的块:.低128B的RAM块;,高128B的SFR〔SpecialFunctionRegister〕块。在低128B的RAM存储单元中又可划分为:123.工作存放器区;.位寻址区;.通用存储数据的“便签区〃。高128B的专用存放器区SFR中仅仅使用了21存放器〔51系列〕,其它107个单元不能使用。对于数据存储器,分为部数据存储器〔IDATA/RAM〕和外部数据存储器[*DATA]两个局部,但这两个存储器就不像Code存储器那样共享地址空间的了。一般的8051芯片,部RAM只有128B,从0*00-0*7F,而从0*80-0*FF则是SFR〔CPU工作存放器和各种外设存放器都在此〕的区域。对于8052来说,部RAM有256B,所以0*80-0*FF是高128B的RAM在使用。可这局部不是SFR专用的吗.是SFR专用,但注意,SFR的只能使用“直接寻址方式'’〔使用特定的汇编指令来实现〕,区别就在这里。只有通过直接寻址的地址才是SFR,否则就是普通的RAM。至于外扩的RAM〔*DATA],地址也是从。*。。。。-。*FFFF的,而且这里的。*。。。。和部RAM的。*。。是不同的,是完全独立的两个空间。他们的方法也是不同的。MCS-5

使用MOV*指令,来读写*DATA区。而且,*DATA区,是需要DPTR存放器来辅助的。因为只有DPTR才能装得下十六位的*DATA地址。所以说,MCS-51读写IDATA区的速度是最快的,而且方法也是最多的。*DATA区的速度相对就要慢很多。用P。口作地址/数据复用总线,用P2口的口线作高位地址线,最多可以扩展开关电源模块64KB的存储器。控制信号线包括:使用ALE作为地址锁存的选通信号,以实现,1氐8位地址的锁存;以PSEN信号作为扩展程序存储器的读选通信号;以EA信号作为、外程序存储器的选择信号;以EA和作为扩展数据存储器和I/O端口的读、写选通信号。执行MOV*指令时,RD和WR信号分别自动有效。片外数据存储器RAM的读和写由8051的RD(P3.7)和WR(P3.6)信号控制,而片外程序存储器的输出允许(OE)由读选通PSE

信号控制。N单片的21个特殊功能存放器的作用符号地址功能"BF0HB存放器ACCEOH累加器PSWD0H程序状态字IpB8H中断优先级控制存放器^P3BOHP3口锁存器"TeA8H中断允许控制存放器^P2A0HP2口锁存器SUBF99H串行口锁存器SCON98H串行口控制存放器P190HP1口锁存器THi8DH定时器/计数器1〔高8位〕TH08CH定时器/计数器1〔低8位〕TL18BH定时器/计数器。〔高8位〕TL08AH定时器/计数器0〔低8位〕TMOD89H定时器/计数器方式控制存放器~TCON88H定时器/计数器控制存放器DPH83H数据地址指针〔高8位〕DPL82H数据地址指针〔低8位〕Sp81H堆栈指针P080HP0口锁存器87H电源控制存放器 一IID^∣D6∣D5∣D4∣D3~∣D2~叵]∣D0I丁IAC∣F0∣RS1∣RS0IOV-□□I0PPV:溢出标志位。运算结果按补码运算理解。有溢出,OV=1;无溢出,OV=。。(:奇偶校验位:它用来表示ALU运算结果中二进制数位“1”的个数的奇偶性。假设为奇数,则P=1,否则为0。运算结果有奇数个1,P=1;运算结果有偶数个1,P=。。0、P1、P2、P3是四个并行输入/输出口的存放器.IE-----中断充许存放器.B7B6B5B4B3B2B1B0EAET2ESET1E*1ET0E*0〔IE.7〕:EA=0时,所有中断制止〔即不产生中断〕=1时,各中断的产生由个别的允许位决定〔IE.6〕:保存T2ST1*1T0*0〔IE.5〕:〔IE.4〕:〔IE.3〕:〔IE.2〕:〔IE.1〕:〔IE.0〕:定时2溢出中断充许〔8052用〕串行口中断充许〔ES=1充许,ES=0制止〕定时1中断充许外中断INT1中断充许定时器0中断充许外部中断INT0的中断允许7按6指复指R器作76指复指R8IP-----中断优先级控制存放器位寻址,地址位B8H,指针存放器1〕程序计数器PC明即将执行的下一条指令的地址,16位,寻址64KB围,位时PC=0000H2〕堆栈指针SP明栈顶元素的地址,8位,可软件设置初值,复位时SP=07H3〕数据指针DPTR0、R1、DPTR;指明的数据存储器的单元地址,16位,寻址围64KB。DPTR=DPH+DPL。可以用它来外部数据存储器中的任一单元,如果不用,也可以作为通用存放沫用,由我们自已决定如何使用。分成DPL^8位)和DPH(W8位)两个存放器。用来存放16位地址值,以便用间接寻址或变址寻址的方式对片外数据RAM或程序存储器;64K字节围的数据操作。、定时/计数器:1〕定时器方式存放器:TMOD:2〕定时器控制存放器:TCON、指针存放器:1〕程序计数器PCi明即将执行的下一条指令的地址,16位,寻址64KB围,:位时PC=0000H:2〕堆栈指针SPi明栈顶元素的地址,8位,可软件设置初值,复位时SP

温馨提示

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

评论

0/150

提交评论