首页 51单片机存储器结构介绍

51单片机存储器结构介绍

举报
开通vip

51单片机存储器结构介绍MCS-51单片机存储器构造从顾客的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。【程序内存ROM】寻址范畴:0000H~FFFFH容量64KBEA=1,寻址内部ROM;EA=0,寻址外部ROM地址长度:16位作用:寄存程序及程序运营时所需的常数。七个具有特殊含义的单元是:0000H——...

51单片机存储器结构介绍
MCS-51单片机存储器构造从顾客的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC)2、256B的片内数据存储器的地址空间(MOV)3、以及64K片外数据存储器的地址空间(MOVX)在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。【程序内存ROM】寻址范畴:0000H~FFFFH容量64KBEA=1,寻址内部ROM;EA=0,寻址外部ROM地址长度:16位作用:寄存程序及程序运营时所需的常数。七个具有特殊含义的单元是:0000H——系统复位,PC指向此处;0003H——外部中断0入口000BH——T0溢出中断入口0013H——外中断1入口001BH——T1溢出中断入口0023H——串口中断入口002BH——T2溢出中断入口【内部数据存储器RAM】物理上分为两大区:00H~7FH(低128单元顾客RAM和高128单元SFR区)作用:作数据缓冲器用。一、程序存储器    一种微解决器可以聪颖地执行某种任务,除了它们强大的硬件外,还需要它们运营的软件,其实微解决器并不聪颖,它们只是完全按照人们预先编写的程序而执行之。那么设计人员编写的程序就寄存在微解决器的程序存储器中,俗称只读程序存储器(ROM)。程序相称于给微解决器解决问题的一系列命令。其实程序和数据同样,都是由机器码构成的代码串。只是程序代码则寄存于程序存储器中。    MCS-51具有64kB程序存储器寻址空间,它是用于寄存顾客程序、数据和 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 等信息。(对于内部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的EA端必须接地。强制CPU从外部程序存储器读取程序。)对于内部有ROM的8051等单片机,正常运营时,则需接高电平,使CPU先从内部的程序存储中读取程序,当PC值超过内部ROM的容量时,才会转向外部的程序存储器读取程序。    当=1时,程序从片内ROM开始执行,当PC值超过片内ROM容量时会自动转向外部ROM空间。    当=0时,程序从外部存储器开始执行,例如前面提到的片内无ROM的8031单片机,在实际应用中就要把8031的引脚接为低电平。    8051片内有4kB的程序存储单元,其地址为0000H—0FFFH,单片机启动复位后,程序计数器的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 为0000H,因此系统将从0000H单元开始执行程序。但在程序存储中有些特殊的单元,这在使用中应加以注意:    其中一组特殊是0000H—0002H单元,系统复位后,PC为0000H,单片机从0000H单元开始执行程序,如果程序不是从0000H单元开始,则应在这三个单元中寄存一条无条件转移指令,让CPU直接去执行顾客指定的程序。    另一组特殊单元是0003H—002AH,这40个单元各有用途,它们被均匀地分为五段,它们的定义如下:   0003H—000AH  外部中断0中断地址区。   000BH—0012H  定期/计数器0中断地址区。   0013H—001AH  外部中断1中断地址区。   001BH—0022H  定期/计数器1中断地址区。   0023H—002AH  串行中断地址区。可见以上的40个单元是专门用于寄存中断解决程序的地址单元,中断响应后,按中断的类型,自动转到各自的中断区去执行程序。从上面可以看出,每个中断服务程序只有8个字节单元,用8个字节来寄存一种中断服务程序显然是不也许的。因此以上地址单元不能用于寄存程序的其她内容,只能寄存中断服务程序。但是一般状况下,我们是在中断响应的地址区安放一条无条件转移指令,指向程序存储器的其他真正寄存中断服务程序的空间去执行,这样中断响应后,CPU读到这条转移指令,便转向其她地方去继续执行中断服务程序。右图是ROM的地址分派图:从图中人们可以看到,0000H-0002H,只有三个存储单元,3个存储单元在我们的程序寄存时是寄存不了实际意义的程序的,一般我们在实际编写程序时是在这里安排一条ORG指令,通过ORG指令跳转到从0033H开始的顾客ROM区域,再来安排我们的程序语言。从0033开始的顾客ROM区域顾客可以通过ORG指令任意安排,但在应用中应注意,不要超过了实际的存储空间,否则程序就会找不到。二、数据存储器  数据存储器也称为随机存取数据存储器。数据存储器分为内部数据存储和外部数据存储。MCS-51内部RAM有128或256个字节的顾客数据存储(不同的型号有分别),片外最多可扩展64KB的RAM,构成两个地址空间,访问片内RAM用“MOV”指令,访问片外RAM用“MOVX”指令。它们是用于寄存执行的中间成果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。  MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:数据存储器空间(低128单元);特殊功能寄存器空间(高128单元);这两个空间是相连的,从顾客角度而言,低128单元才是真正的数据存储器。下面我们就来具体的与人们解说一下:(一)低128单元:  片内数据存储器为8位地址,因此最大可寻址的范畴为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范畴最大为256个单元,而DPTR是16位地址指针,寻址范畴就可达到64KB。也就是说在寻址片外数据存储器时,寻址范畴超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。从图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。其一是地址从00H—7FH单元(共128个字节)为顾客数据RAM。从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清晰地看出它们的构造分布。通用寄存器区(00H-1FH)  在00H—1FH共32个单元中被均匀地分为四块,每块涉及八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。这四块中的寄存器都称为R0—R7,那么在程序中怎么辨别和使用它们呢?聪颖的INTEL工程师们又安排了一种寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。相应的编码关系如下表所示。惹程序中并不需要用4组,那么其他的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。位寻址区(20H-2FH) 内部RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H—7FH。位地址分派如表1所示,CPU能直接寻址这些位,执行例如置“1”、清“0”、求“反”、转移,传送和逻辑等操作。我们常称MCS-51具有布尔解决功能,布尔解决的存储空间指的就是这些为寻址区。3、顾客RAM区(30H-7FH)在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩余的80个单元就是供顾客使用的一般RAM区了,地址单元为30H-7FH。对这部份区域的使用不作任何规定和限制,但应阐明的是,堆栈一般开辟在这个区域。(二)高128单元:(80H-FFH) 1、特殊功能寄存器  特殊功能寄存器(SFR)也称为专用寄存器,特殊功能寄存器反映了MCS-51单片机的运营状态。诸多功能也通过特殊功能寄存器来定义和控制程序的执行。  MCS-51有21个特殊功能寄存器,它们被离散地分布在内部RAM的80H—FFH地址中,这些寄存的功能已作了专门的规定,顾客不能修改其构造。表2是特殊功能寄存器分布一览表,我们对其重要的寄存器作某些简朴的简介。程序计数器PC(programCounter)程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。PC是一种16位的计数器,用于寄存一条要执行的指令地址,寻址范畴为64kB,PC有自动加1功能,即完毕了一条指令的执行后,其内容自动加1。PC自身并没有地址,因而不可寻址,顾客无法对它进行读写,但是可以通过转移、调用、返回等指令变化其内容,以控制程序按我们的规定去执行。  累加器ACC(Accumulator)累加器A是一种最常用的专用寄存器,大部分单操作指令的一种操作数取自累加器,诸多双操作数指令中的一种操作数也取自累加器。加、减、乘、除法运算的指令,运算成果都寄存于累加器A或AB累加器对中。大部分的数据操作都会通过累加器A进行,它形象于一种交通要道,在程序比较复杂的运算中,累加器成了制约软件效率的“瓶颈”,它的功能较多,地位也十分重要。以至于后来发展的单片机,有的集成了多累加器构造,或者使用寄存器阵列来替代累加器,即赋予更多寄存器以累加器的功能,目的是解决累加器的“交通堵塞”问题。提高单片机的软件效率。寄存器B  在乘除法指令中,乘法指令中的两个操作数分别取自累加器A和寄存器B,其成果寄存于AB寄存器对中。除法指令中,被除数取自累加器A,除数取自寄存器B,成果商寄存于累加器A,余数寄存于寄存器B中。  程序状态字(ProgramStatusWord)  程序状态字是一种8位寄存器,用于寄存程序运营的状态信息,这个寄存器的某些位可由软件设立,有些位则由硬件运营时自动设立的。寄存器的各位定义如下,其中PSW.1是保存位,未使用。下表是它的功能阐明,并对各个位的定义简介如下:PSW.7(CY)进位标志位,此位有两个功能:一是寄存执行某写算数运算时,寄存进位标志,可被硬件或软件置位或清零。二是在位操作中作累加位使用。PSW.6(AC)辅助进位标志位,当进行加、减运算时当有低4位向高4位进位或借位时,AC置位,否则被清零。AC辅助进位位也常用于十进制调节。PSW.5(F0)顾客标志位,供顾客设立的标志位。PSW.4、PSW.3(RS1和RS0)寄存器组选择位。可参见本章的图2定义。PSW.2(OV)溢出标志。带符号加减运算中,超过了累加器A所能表达的符号数有效范畴(-128—+127)时,即产生溢出,OV=1。表白运算运算成果错误。如果OV=0,表白运算成果对的。执行加法指令ADD时,当位6向位7进位,而位7不向C进位时,OV=1。或者位6不向位7进位,而位7向C进位时,同样OV=1。除法指令,乘积超过255时,OV=1。表面乘积在AB寄存器对中。若OV=0,则阐明乘积没有超过255,乘积只在累加器A中。除法指令,OV=1,表达除数为0,运算不被执行。否则OV=0。PSW.0(P)奇偶校验位。声明累加器A的奇偶性,每个指令周期都由硬件来置位或清零,若值为1的位数奇数,则P置位,否则清零。数据指针(DPTR)数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。DPTR重要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:MOVXA,@DPTRMOVX@DPTR,A在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。MOVCA,@A+@DPTR堆栈指针SP(StackPointer)堆栈是一种数据构造,它是一种8位寄存器,它批示堆栈顶部在内部RAM中的位置。系统复位后,SP的初始值为07H,使得堆栈事实上是从08H开始的。但我们从RAM的构造分布中可知,08H—1FH从属1—3工作寄存器区,若编程时需要用到这些数据单元,必须对堆栈指针SP进行初始化, 原则 组织架构调整原则组织架构设计原则组织架构设置原则财政预算编制原则问卷调查设计原则 上设在任何一种区域均可,但一般设在30H—1FH之间较为合适。数据的写入堆栈我们称为入栈(PUSH,有些文献也称作插入运算或压入),从堆栈中取出数据称为出栈(POP,也称为删除运算或弹出),堆栈的最重要特性是“后进先出” 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf ,也即最先入栈的数据放在堆栈的最底部,而最后入栈的数据放在栈的顶部,因此,最后入栈的数据出栈时则是最先的。这和我们往一种箱里寄存课本同样,需将最先放入箱底部的书取出,必须先取走最上层的书籍。这个道理非常相似。那么堆栈有何用途呢?堆栈的设立是为了中断操作和子程序的调用而用于保存数据的,即常说的断点保护和现场保护。微解决器无论是在转入子程序和中断服务程序的执行,执行完后,还是要回到主程序中来,在转入子程序和中断服务程序前,必须先将现场的数据进行保存起来,否则返回时,CPU并不懂得本来的程序执行到哪一步,本来的中间成果如何?因此在转入执行其他子程序前,先将需要保存的数据压入堆栈中保存。以备返回时,再复原当时的数据。供主程序继续执行。转入中断服务程序或子程序时,需要保存的数据也许有若干个,都需要一一地保存。如果微解决器进行多重子程序或中断服务程序嵌套,那么需保存的数据就更多,这规定堆栈还需要有相称的容量。否则会导致堆栈溢出,丢失应备份的数据。轻者使运算和执行成果错误,重则使整个程序紊乱。MCS-51的堆栈是在RAM中开辟的,即堆栈要占据一定的RAM存储单元。同步MCS-51的堆栈可以由顾客设立,SP的初始值不同,堆栈的位置则不一定,不同的设计人员,使用的堆栈区则不同,不同的应用规定,堆栈规定的容量也有所不同。堆栈的操作只有两种,即进栈和出栈,但不管是向堆栈写入数据还是从堆栈中读出数据,都是对栈顶单元进行的,SP就是即时批示出栈顶的位置(即地址)。在子程序调用和中断服务程序响应的开始和结束期间,CPU都是根据SP批示的地址与相应的RAM存储单元互换数据。堆栈的操作有两种 措施 《全国民用建筑工程设计技术措施》规划•建筑•景观全国民用建筑工程设计技术措施》规划•建筑•景观软件质量保证措施下载工地伤害及预防措施下载关于贯彻落实的具体措施 :其一是自动方式,即在中断服务程序响应或子程序调用时,返回地址自动进栈。当需要返回执行主程序时,返回的地址自动交给PC,以保证程序从断点处继续执行,这种方式是不需要编程人员干预的。第二种方式是人工指令方式,使用专有的堆栈操作指令进行进出栈操作,也只有两条指令:进栈为PUSH指令,在中断服务程序或子程序调用时作为现场保护。出栈操作POP指令,用于子程序完毕时,为主程序恢复现场。I/O口专用寄存器(P0、P1、P2、P3)I/O口寄存器P0、P1、P2和P3分别是MCS-51单片机的四组I/O口锁存器。MCS-51单片机并没有专门的I/O口操作指令,而是把I/O口也当作一般的寄存器来使用,数据传送都统一使用MOV指令来进行,这样的好处在于,四组I/O口还可以当作寄存器直接寻址方式参与其她操作。定期/计数器(TL0、TH0、TL1和TH1)MCS-51单片机中有两个16位的定期/计数器T0和T1,它们由四个8位寄存器构成的,两个16位定期/计数器却是完全独立的。我们可以单独对这四个寄存器进行寻址,但不能把T0和T1当作16位寄存来使用。定期/计数器方式选择寄存器(TMOD)TMOD寄存器是一种专用寄存器,用于控制两个定期计数器的工作方式,TMOD可以用字节传送指令设立其内容,但不能位寻址,各位的定义如下,更具体的内容,我们将在《MCS-51定期器和中断系统》章节中论述。串行数据缓冲器(SBUF)串行数据缓冲器SBUF用来寄存需发送和接受的数据,它由两个独立的寄存器构成,一种是发送缓冲器,另一种是接受缓冲器,要发送和接受的操作其实都是对串行数据缓冲器进行。其她控制寄存器(TMOD)除了以上我们简述的几种专用寄存外,尚有IP、IE、TCON、SCON和PCON等几种寄存器,这几种控制寄存器重要用于中断和定期的,我们将在《MCS-51定期器和中断系统》中具体阐明。
本文档为【51单片机存储器结构介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_704284
暂无简介~
格式:doc
大小:238KB
软件:Word
页数:15
分类:
上传时间:2019-09-18
浏览量:0