《存储器堆栈》PPT课件

上传人:hao****an 文档编号:245314480 上传时间:2024-10-08 格式:PPT 页数:41 大小:328KB
返回 下载 相关 举报
《存储器堆栈》PPT课件_第1页
第1页 / 共41页
《存储器堆栈》PPT课件_第2页
第2页 / 共41页
《存储器堆栈》PPT课件_第3页
第3页 / 共41页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,存储器、堆栈、,SFR,1,数据存储器,RAM,(,Random Access Memory,),程序存储器,ROM,(,Read Only Memory,),闪速存储器,Flash Memory,EPROM,(,UV,),Erazible,Programmable ROM,EEPROM/E,2,PROM,Electrical Erasable,Programmable ROM,静态存储器,SRAM,Static RAM,(,动态存储器,DRAM,Dynamic RAM,),按字节寻址:每个字节,(8,个位,),占一个地址,按位寻址:有的存储器每一个位就有一个地址,单片机的存储器,几个有关的概念:,2,8051的存储器组织,8051存储器可以分成两大类:,RAM,,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。,ROM,是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。,3,2.1.1,普林斯顿结构,一般微机通常只有,一个逻辑空间,,,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是 RAM,并用同类访问指令。,这种结构称为普林斯顿结构。,4,2.1.2 哈佛结构,8051单片机与一般微机的存储器配置方式很不相同。,51单片机的存储器在物理结构上分为程序存储空间和数据存储空间,共有四个:片内和片外程序存储空间以及片内和片外数据存储空间,这种在物理结构上,把程序存储器和数据存储器分开,的结构形式称为哈佛结构。,5,6,89C51,单片机存储器配置,片内,RAM,128字节(00H7FH);,片内RAM前32个单元是工作寄存器区(00H1FH),片内RAM有128个可按位寻址的位,占16个单元。,位地址编号为:00H7FH,分布在20H2FH单元,片内21个特殊功能寄存器(,SFR,),中:地址号能被 8整除的 SFR中的各位,也可,按位寻址,(P.33-34),可寻址片外,RAM,64K字节(0000HFFFFH),可寻址片外,ROM,64K字节(0000HFFFFH),片内 Flash,ROM,4K字节(000HFFFH),7,8051在逻辑上,即从用户角度上8051有三个存储空间:,片内外统一编址的,程序存储器,片内外不统一编址的,数据存储器,特殊功能寄存器(片内),访问这几个不同的逻辑空间时,采用的指令:,片内外程序存储器空间-,MOVC,片内数据存储器空间和SFR-,MOV,片外数据存储器地址空间-,MOVX,8,52对应的RAM有384Byte,其中多出的128Byte只能进行间接寻址用,而C51是通过对自定义的数据类型来区分访问的存储空间的:,片内外程序存储器空间-,code,片内数据存储器空间和SFR-,data,片外数据存储器地址空间-,xdata,片内间接寻址区间-idata,9,存储器配置,(,片内RAM,),片内RAM,128字节,(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH,其中92个位可位寻址,80H,FFH,所有的,RAM区,(包括,位寻址区、工作寄存器区)都可以用于存放数据,故也称为,数据缓存寄存器,89C51,128字节,10,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,R0,R2,R1,R3,R4,R5,R6,R7,07H,02H,01H,00H,06H,04H,05H,03H,08H,1FH,工作寄存器区3,工作寄存器区2,工作寄存器区1,工作寄存器区0,0FH,10H,17H,18H,片内RAM前32个单元是,工作寄存器区 (00H1FH),存储器配置,(,片内RAM,),11,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,27H,22H,21H,20H,26H,24H,25H,23H,28H,2FH,单元地址,07 06 05 04 03 02 01 00,0F 0E 0D 0C 0B 0A 09 08,17 16 15 14 13 12 11 10,1F 1E 1D 1C 1B 1A 19 18,27 26 25 24 23 22 21 20,2F 2E 2D 2C 2B 2A 29 28,37 36 35 34 33 32 31 30,3F 3E 3D 3C 3B 3A 39 38,47 46 45 44 43 42 41 40,7F 7E 7D 7C 7B 7A 79 78,位地址,总共128个可按位寻址的位,片内RAM中有128个可按位寻址的位。,位地址:,00H7FH,分布在:,20H2FH单元,存储器配置,(,片内RAM,),12,这些可位寻址的空间,可通过执行指令直接对某一位进行操作,如置1、清0或判1、判0等,可用作软件标志位或用于位(布尔)处理。,这是一般微机所不具备的,这种位寻址能力是8051所独有的。,20H2FH:既可以字节操作,又可以位操作,但是要用不同的指令来区分;,mov 20h,a,setb 00h,setb 20.0,13,存储器配置,(,片内RAM,),89C,51,片内RAM,128字节,(00H7FH),89C,52,片内RAM,256字节,(00H0FFH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH,其中92个位可位寻址,80H,FFH,89C,51,128字节,89C,52,256字节,只能直接寻址,只能寄存器间接寻址(P14),既可间接寻址,又可直接寻址,14,程序存储器,外部,ROM,内部,ROM,(EA=1),外部,ROM,(EA=0),0000H,0000H,0FFFH,0FFFH,1000H,FFFFH,15,在程序存储器中,有,6个单元具有特殊功能,0003H,:,外部中断0,入口,。,000BH,:,定时器0,溢出中断入口,。,0013H,:,外部中断1,入口,。,001BH,:,定时器1,溢出中断入口,。,0023H,:,串行口中断,入口。,52,还有,002BH,对应,T2,中断。,使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从,0000H,起始地址跳转到用户设计的初始程序上。,0000H,:,8051复位后,,PC0000H,,即程序从,0000H,开始执行指令。,16,org0000h,jmpmain,(跳过中断入口地址区),org0100h,main:movp1,#55h,mov r0,#3fh,Loop:djnzr0,loop,cpla,movp1,a,jmpmain,end,17,可寻址片外RAM 64K字节,(0000HFFFFH);,可寻址片外ROM 64K字节,(0000HFFFFH);,片内 Flash ROM 4K字节,(0000H FFFH);,FFFFH,0000H,可寻址,片外,RAM,64K字节,FFFFH,0000H,可寻址,片外,ROM,64K字节,FFFH,000H,可寻址,片内,Flash ROM,4K 字节,89C51,7FH,00H,片内 RAM,128字节,FFH,80H,存储器配置,(,片内RAM,),18,堆栈,:,在,片内RAM,中,常常要指定一个专门的区域来存放某些,特别的,数据,它遵循,先进后出,和,后进先出,(LIFO/FILO),的原则,这个,RAM区,叫,堆栈,。,功用,:,1)子程序调用,和,中断服务,时CPU自动将当前,PC,值,压栈保存,返回时自动将PC值弹栈。,2)保护现场/恢复现场,3)数据传输,19,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,下一个进栈的数据将存在此,数据进栈,已经进栈的数据存放在此,初始 SP,复位后 SP=07H,,,数据进栈时:,首先SP+1指向08H单元,第一个放进堆栈的数据将放进08H单元,然后SP再自动增 1,仍指着栈顶,堆栈区由特殊功能寄存器,堆栈指针SP,管理,堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常,放在RAM区的,靠后,的位置。,20,从堆栈取出数据时,:,取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,当前要出栈的数据,数据出栈,SP-1指向下一个将要出栈的数据,初始 SP,堆栈区由特殊功能寄存器,堆栈指针SP,管理,堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常,放在RAM区的,靠后,的位置。,21,从堆栈取出数据时,:,取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有,的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1 指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始 SP,堆栈区由特殊功能寄存器,堆栈指针SP,管理,堆栈区可以安排在 RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常,放在RAM区的,靠后,的位置。,22,在实际应用中,常需在RAM区设置堆栈。80C51的,堆栈一般设在30H7FH的范围内。,栈顶的位置由SP寄存器指示。,复位时SP的初值为07H,,在系统初始化时可以重新设置。,23,push a,push b,push PSW,.,pop a,pop b,pop PSW,这样的指令顺序对不对?,24,89C51,特殊功能寄存器,(SFR),特殊功能寄存器,SFR,(专用寄存器),专用于,控制、选择、管理、存放,单片机内部各部分的工作,方式、条件、状态、结果,的寄存器,。,不同的,SFR,管理不同的硬件模块,负责不同的功能各司其职,换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,,而软件中最重要的一项工作就是对,SFR,写命令(要求),。,25,标识符号,地址,寄存器名称,ACC,0E0H,累加器,B,0F0H,B寄存器,PSW,0D0H,程序状态字,SP,81H,堆栈指针,DPTR,82H、83H,数据指针(16位)含DPL和DPH,IE,0A8H,中断允许控制寄存器,IP,0B8H,中断优先控制寄存器,P0,80H,I/O口0寄存器,P1,90H,I/O口1寄存器,P2,0A0H,I/O口2寄存器,26,标识符号,地址,寄存器名称,P3,0B0H,I/O口3寄存器,PCON,87H,电源控制及波特率选择寄存器,SCON,98H,串行口控制寄存器,SBUF,99H,串行数据缓冲寄存器,TCON,88H,定时控制寄存器,TMOD,89H,定时器方式选择寄存器,TL0,8AH,定时器0低8位,TH0,8CH,定时器0高8位,TL1,8BH,定时器1低8位,TH1,8DH,定时器1高8位,27,P0,、,P1,、,P2,、,P3,:,四个并行输入,/,输出口的寄存器。它里面的内容对应着管脚的输出。,SCON(S,erial,Control Register,),SBUF(,Serial Date,Buf,fer,),PCO
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!