第五课--存储器.ppt_第1页
第五课--存储器.ppt_第2页
第五课--存储器.ppt_第3页
第五课--存储器.ppt_第4页
第五课--存储器.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1,存储器、堆栈、SFR,2,数据存储器RAM(RandomAccessMemory)程序存储器ROM(ReadOnlyMemory)闪速存储器FlashMemoryEPROM(UV)ErazibleProgrammableROMEEPROM/E2PROMElectricalErasableProgrammableROM静态存储器SRAMStaticRAM(动态存储器DRAMDynamicRAM)按字节寻址:每个字节(8个位)占一个地址按位寻址:有的存储器每一个位就有一个地址,单片机的存储器几个有关的概念:,3,8051的存储器组织,8051存储器可以分成两大类:,RAM,CPU在运行时能随时进行数据的写入和读出,但在关闭电源时,其所存储的信息将丢失。它用来存放暂时性的输入输出数据、运算的中间结果或用作堆栈。,ROM是一种写入信息后不易改写的存储器。断电后,ROM中的信息保留不变。用来存放固定的程序或数据,如系统监控程序、常数表格等。,4,2.1.1普林斯顿结构,一般微机通常只有一个逻辑空间,可以随意安排ROM或RAM。访问存储器时,同一地址对应唯一的存储单元,可以是ROM也可以是RAM,并用同类访问指令。这种结构称为普林斯顿结构。,5,2.1.2哈佛结构,8051单片机与一般微机的存储器配置方式很不相同。51单片机的存储器在物理结构上分为程序存储空间和数据存储空间,共有四个:片内和片外程序存储空间以及片内和片外数据存储空间,这种在物理结构上把程序存储器和数据存储器分开的结构形式称为哈佛结构。,6,7,89C51单片机存储器配置,片内RAM128字节(00H7FH);片内RAM前32个单元是工作寄存器区(00H1FH)片内RAM有128个可按位寻址的位,占16个单元。位地址编号为:00H7FH,分布在20H2FH单元片内21个特殊功能寄存器(SFR)中:地址号能被8整除的SFR中的各位也可按位寻址(P.33-34)可寻址片外RAM64K字节(0000HFFFFH)可寻址片外ROM64K字节(0000HFFFFH)片内FlashROM4K字节(000HFFFH),8,8051在逻辑上,即从用户角度上8051有三个存储空间:片内外统一编址的程序存储器片内外不统一编址的数据存储器特殊功能寄存器(片内),访问这几个不同的逻辑空间时,采用的指令:片内外程序存储器空间-MOVC片内数据存储器空间和SFR-MOV片外数据存储器地址空间-MOVX,9,52对应的RAM有384Byte,其中多出的128Byte只能进行间接寻址用而C51是通过对自定义的数据类型来区分访问的存储空间的:片内外程序存储器空间-code片内数据存储器空间和SFR-data片外数据存储器地址空间-xdata片内间接寻址区间-idata,10,存储器配置(片内RAM),片内RAM128字节(00H7FH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH其中92个位可位寻址,80H,FFH,所有的RAM区(包括位寻址区、工作寄存器区)都可以用于存放数据,故也称为数据缓存寄存器,89C51128字节,11,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,片内RAM前32个单元是工作寄存器区(00H1FH),存储器配置(片内RAM),12,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,片内RAM中有128个可按位寻址的位。位地址:00H7FH分布在:20H2FH单元,存储器配置(片内RAM),13,这些可位寻址的空间,可通过执行指令直接对某一位进行操作,如置1、清0或判1、判0等,可用作软件标志位或用于位(布尔)处理。这是一般微机所不具备的,这种位寻址能力是8051所独有的。20H2FH:既可以字节操作,又可以位操作,但是要用不同的指令来区分;mov20h,asetb00hsetb20.0,14,存储器配置(片内RAM),89C51片内RAM128字节(00H7FH)89C52片内RAM256字节(00H0FFH),00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SFR分布在80H-FFH其中92个位可位寻址,80H,FFH,89C51128字节,89C52256字节,只能直接寻址,只能寄存器间接寻址(P14),既可间接寻址,又可直接寻址,15,程序存储器,外部ROM,内部ROM(EA=1),外部ROM(EA=0),0000H,0000H,0FFFH,0FFFH,1000H,FFFFH,16,在程序存储器中,有6个单元具有特殊功能,0003H:外部中断0入口。000BH:定时器0溢出中断入口。0013H:外部中断1入口。001BH:定时器1溢出中断入口。0023H:串行口中断入口。52还有002BH对应T2中断。使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址,或者从0000H起始地址跳转到用户设计的初始程序上。,0000H:8051复位后,PC0000H,即程序从0000H开始执行指令。,17,org0000hjmpmain(跳过中断入口地址区)org0100hmain:movp1,#55hmovr0,#3fhLoop:djnzr0,loopcplamovp1,ajmpmainend,18,可寻址片外RAM64K字节(0000HFFFFH);可寻址片外ROM64K字节(0000HFFFFH);片内FlashROM4K字节(0000HFFFH);,FFFFH,0000H,可寻址片外RAM,64K字节,FFFFH,0000H,可寻址片外ROM,64K字节,FFFH,000H,可寻址片内FlashROM,4K字节,89C51,7FH,00H,片内RAM,128字节,FFH,80H,存储器配置(片内RAM),19,堆栈:在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据,它遵循先进后出和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。,功用:1)子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈。2)保护现场/恢复现场3)数据传输,20,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区的靠后的位置。,21,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SP栈顶,当前要出栈的数据,数据出栈,SP-1指向下一个将要出栈的数据,初始SP,堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,22,从堆栈取出数据时:取出的数据是最近放进去的一个数据,也就是当前栈顶的数据。然后SP再自动减1,仍指着栈顶,00H,20H,2FH,7FH,1FH,30H,80H,FFH,52子系列才有的RAM区,普通RAM区,位寻址区,工作寄存器区,SP-1指向新的栈顶,也就是下一个将要出栈的数据,数据出栈,初始SP,堆栈区由特殊功能寄存器堆栈指针SP管理堆栈区可以安排在RAM区任意位置,一般不安排在工作寄存器区和可按位寻址的RAM区,通常放在RAM区的靠后的位置。,23,在实际应用中,常需在RAM区设置堆栈。80C51的堆栈一般设在30H7FH的范围内。栈顶的位置由SP寄存器指示。复位时SP的初值为07H,在系统初始化时可以重新设置。,24,pushapushbpushPSW.popapopbpopPSW这样的指令顺序对不对?,25,89C51特殊功能寄存器(SFR),特殊功能寄存器SFR(专用寄存器)专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。,不同的SFR管理不同的硬件模块,负责不同的功能各司其职换言之:要让单片机实现预定的功能,必须有相应的硬件和软件,而软件中最重要的一项工作就是对SFR写命令(要求)。,26,27,28,P0、P1、P2、P3:四个并行输入/输出口的寄存器。它里面的内容对应着管脚的输出。SCON(SerialControlRegister)SBUF(SerialDateBuffer)PCON(PowerControlRegister),与端口相关的(7个),与定时/计数器相关的(6个),TMOD(Timer/CounterModeRegister)定时器工作模式寄存器。TCON(Timer/CounterControlRegister)定时器控制寄存器。TH0、TL0、TH1、TL1:分别是T0、T1的记数初值寄存器。,29,IP(InterruptPriorityRegister)IE(InterruptEnableRegister),与中断相关的(2个),30,程序计数器PC(ProgramCounter)PC不是一个特殊功能寄存器SFR,但其作用又十分重要和特殊!,特点:它是16位的按机器周期自动增1计数器,一切分支/跳转/调用/中断/复位等操作的本质就是:改变PC值,总指向下一条指令所在首地址(当前PC值),特殊功能寄存器(PC),31,DPTR(DataPointer)(分成DPH、DPL两个):数据指针可以用它来访问外部数据存储器中的任一单元,也可以作为通用寄存器来用,由我们自已决定如何使用。,32,数据指针寄存器DPTR数据指针DPTR是一个16位的专用寄存器,其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个16位寄存器DPTR来处理,也可作为两个独立的8位寄存器DPH和DPL来处理。DPTR主要用来存放16位地址,当对64KB外部数据存储器空间寻址时,作为间址寄存器用。在访问程序存储器时,用作基址寄存器。mova,a+dptr,33,89C51有21个SFR(89C52有26个)P.3334已知的P0、P1、P2、P3等四个8位I/O口分别由名为P0、P1、P2、P3四个SFR代表。,堆栈指针寄存器SP(StackPointer):总是指向栈顶,压栈时先(SP)+1然后数据进栈;弹栈时数据先出栈然后(SP)-1。,累加器ACC:一个被众多指令用得最频繁的特殊功能寄存器(如:运算、数据传输)。,副累加器B:一个经常与ACC配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也经常当作普通寄存器使用。,特殊功能寄存器(P0P3,SP,A,B),34,程序状态字寄存器PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,CY(PSW.7)进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。,AC(PSW.6)半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DAA”指令时自动要判断这一位,我们可以暂时不关心它。,F0(PSW.5)可由用户定义的标志位。,PSW.6,PSW.5,特殊功能寄存器(PSW),35,程序状态字寄存器PSW:,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,PSW.6,PSW.5,特殊功能寄存器(PSW),例:78H+97H01111000+10010111100001111,有进位CY=1,没有半进位AC=0,36,程序状态字寄存器PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位。,RS1,RS0=01则选择了工作寄存器组1区R0R7分别代表08H0FH单元。,RS1,RS0=10则选择了工作寄存器组2区R0R7分别代表10H17H单元。,RS1,RS0=11则选择了工作寄存器组3区R0R7分别代表18H1FH单元。,PSW.4PSW.3,RS1,RS0=00则选择了工作寄存器组0区R0R7分别代表08H0FH单元。,37,片内RAM前32个单元(00H1FH)是工作寄存器区(由PSW中的RS1,RS0决定),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,38,程序状态字寄存器PSW(续):,CY,AC,F0,RS0,OV,P,RS1,PSW.7,PSW.0,OV(PSW.2)溢出标志位。OV=1时特指累加器在进行带符号数(-128+127)运算时出错(超出范围);OV=0时未出错。,PSW.1未定义。,P(PSW.0)奇偶标志位。P=1表示累加器中“1”的个数为奇数P=0表示累加器中“1”的个数为偶数CPU随时监视着ACC中的“1”的个数,并反映在PSW中,PSW.2,PSW.1,例:某运算结果是78H(01111000),P=0。它常用在校验串行

温馨提示

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

评论

0/150

提交评论