您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 236-MCS-51单片机的多存储器
Copyright个独立的存储空间:片内/片外程序存储器64K(0000-0FFFFH);128B的片内数据存储器(00-7FH);128B特殊功能寄存器SFR(80-0FFH);位寻址区(20H-2FH);片外数据存储器64K(0000-0FFFFH)。注:MCS-51系列单片机各型号芯片在各个存储器空间的物理单元个数可能是不同的。1.3MCS-51单片机的存储器Copyright(字节)4K64K64KCopyright单片机的程序存储器分为:片内程序存储器片外程序存储器MCS-51单片机的最大存储空间为64KB。MCS-51单片机程序存储器的地址指针为程序计数器PC。MCS-51单片机程序存储器的读取顺序由EA确定。MCS-51单片机存储空间的6个特殊功能区域。程序存储器Copyright一、对于片内有4KB程序存储器的单片机EA=1时,则PC的值在0000H-0FFFH之间,CPU先从片内程序存储器空间取指执行;当PC的值大于0FFFH时才访问外部的程序存储器空间。若EA=0时,则片内程序存储器空间被忽略,CPU只从片外程序存储器空间取指执行。二、对于片内没有程序存储器的单片机在构成系统时必须在外部扩展程序存储器,其EA必须接地。(最好不要扩展片外程序存储器的单片机,单片机型号多达数百种,可选用片内Flash容量大的型号,除非特殊原因。)EA作用Copyright(1)程序存储器程序存储器内部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序执行的起始单元,在这三个单元存放一条无条件转移指令中断5中断4中断3中断2中断10003H000BH0013H001BH0023H002BH外部中断0定时器0中断外部中断1定时器1中断串行口中断8位...0FFFH0FFEHEA=1EA=0程序存储器资源分布中断入口地址Copyright:系统的启动单元(系统复位后,单片机从此处开始取指令开始执行)0003H:外部中断0入口地址000BH:定时器/计数器0中断入口地址0013H:外部中断1入口地址001BH:定时器/计数器1中断入口地址0023H:串行中断入口地址程序存储器空间的6个特殊功能区域Copyright单片机的内部数据存储器有以下几个部分:工作寄存器区(00H—1FH)位寻址区(20H—2FH)该区域的16个字节单元可以用于位寻址(共128个位单元,位地址为:00H—7FH);另外也可以作为一般的RAM使用。举例:SETB0FH(21H.7);置位0FH为“1”CLR0FH(21H.7);置位0FH为“0”用户区(30H—7FH)该区域的80个字节单元,主要用于用户的数据存储,在该区域的单元只能以地址单元的形式进行操作。128B的片内数据存储器(00H-7FH)(2)片内数据存储器SRAMCopyright(64K)内部外部(2)片内数据存储器SRAM数据存储器00HFFH7FH80H(高128B)(低128B)RAM专用寄存器00H07H08H0FH10H17H18H1FH0区R0R7R0R7R0R7R0R71区2区3区工作寄存器区可位寻址区20H2FH7F78070030H7FH数据缓冲区/堆栈区内部RAM存储器11第3区18H~1FH01第1区08H~0FHRS1RS0寄存器区片内RAM地址00第0区00H~07H10第2区10H~17H工作寄存器区选择位RS0、RS1PSW位地址CYACF0RS1RS0OVF1PCopyright个区(由RS0和RS1的状态决定当前的工作寄存器组别),每个区有8个单元,分别用R0-R7来表示。第0组工作寄存器:地址范围为00H-07H;第1组工作寄存器:地址范围为08H-0FH;第2组工作寄存器:地址范围为10H-17H;第3组工作寄存器:地址范围为18H-1FH。举例:如果RS0:RS1=00时;则(R0)=00H(使用第0组)如果RS0:RS1=01时;则(R0)=08H(使用第1组)如果RS0:RS1=10时;则(R0)=10H(使用第2组)如果RS0:RS1=11时;则(R0)=18H(使用第3组)工作寄存器区(00H—1FH)Copyright单片机中,有21个具有特殊功能的寄存器,它主要是用来存放单片机的相应功能部件的控制命令、状态或数据。其中常用的有以下几个:ACC(累加器,8位):特殊用途的寄存器,专门存放操作数或运算结果。例如:MOVA,30H(把30H单元的数据传送给A)ADDA,30H(30H的数据和A的内容相加,并保存在A中)B(8位):专门为乘除法而设置的寄存器。又如:MULA,B;A和B相乘,结果的高低字节分别放入A和B中DIVA,B;(A)/(B),商存A,余数存B128B特殊功能寄存器SFR(80H-0FFH)Copyright个单元☆离散分布有21个特殊功能寄存器SFR。(SpecificFunctionregister)☆11个可以进行位寻址。☆特别提示:对SFR只能使用直接寻址方式,书写时可使用寄存器符号,也可用寄存器单元地址。Copyright(C):进位和借位标志,当指令执行中有进位和借位产生时,CY为1,反之为0。AC:辅助进位、借位标志(低半字节对高半字节的进位和借位),有进位和借位产生时,AC为1,反之为0。F0:用户标志位,由用户自定义。RS1和RS0:工作寄存器选择标志位。OV:溢出标志位。P:奇偶校验位,当A中1的个数为偶数时P=0,反之为1。位序D7D6D5D4D3D2D1D0位标志CYACF0RS1RS0OV/PPSW(程序状态字,8位):存放指令执行后的有关状态。CopyrightDPTR(数据地址指针,16位):存放程序存储器的地址或外部数据存储器的地址。可分DPH和DPL两个独立8位寄存器使用。PC(程序地址寄存器,16位):执行指令后自动加一,常将PC值设置成程序第一条指令的内存地址。访问范围:0000-0FFFFH。SP(堆栈指针,8位):专门存放堆栈的栈顶位置。遵循“先进后出”的原则。注意:禁止用传送指令存放数据。Copyright——堆栈堆栈——是在RAM区中划定的一个区域,对该区域RAM单元的读写操作必须遵守特定的顺序。比如先入先出,或先入后出原则。堆栈的作用——主要用在子程序的调用过程中或作为特殊的数据交换区。堆栈的开辟栈顶的位置由SP(堆栈指针)寄存器指示。复位时SP的初值为07H,在系统初始化时可以根据用户的需要重新设置。标准8051的堆栈一般设在30H~7FH的范围内。51单片机的数据存储器管理Copyright——堆栈堆栈的操作65H64H63H62H61H栈底60H59H内部RAMPUSHPUSHPUSHXYZ入栈过程65H64H63H62H61H栈底60H59H内部RAMPOPZPOPYPOPXXYZ出栈过程先入后出后入先出Copyright、8031有四个工作寄存器区,由PSW状态字中的RS1、RS0两位的状态来决定,单片机复位后,若执行SETBRS0指令,此时只能使用()区的工作寄存器。A.0区B.2区D.1区C.3区Copyright、CPU主要的组成部分为()。D.加法器,寄存器A.运算器,指令译码器B.运算器,寄存器C.运算器,控制器
本文标题:236-MCS-51单片机的多存储器
链接地址:https://www.777doc.com/doc-3278023 .html