数据存储器构成
数据存储器由特殊功能寄存器(SFR)和通用寄存器(GPR)组成。SFR控制器件的 *** 作,而GPR则是数据存储和改写的通用区域。
SFR和GPR数据存储区分成不同的存储区。GPR区分成不同的存储区,以实现对超过96字节的通用RAM的寻址。SFR是用来控制外设和内核功能的寄存器。STATUS寄存器的存储区选择控制位(STATUS<7:5>)用于选择存储区。图6-5是数据存储器的构成映射,这个映射与器件型号有关。
从一个寄存器向另一个寄存器传送数据时,必须通过W寄存器。这意味着所有寄存器之间的数据传送,都需要两个指令周期。
整个数据存储器可以采用直接寻址或间接寻址来存取。直接寻址可能需要使用RP1、RP0位,间接寻址需要用到指针寄存器(FSR)。间接寻址数据存储器的存储区0/存储区1或存储区2/存储区3时,要使用状态寄存器的间接寄存器指针(IRP)位。
通用寄存器(GPR)
某些中档单片机的GPR区分成不同的存储区,上电复位并不能初始化GPR,其它的复位也不能改变GPR的值。
寄存器既可以直接寻址,也可以使用指针寄存器FSR间接寻址。某些器件具有各数据存储区共享的公用数据存储区,对公用数据存储区的读写不必考虑当前所在存储区,可使用同一个地址单元(值),我们称这个区域为公用RAM。
特殊功能寄存器(SFR)
特殊功能寄存器由CPU和外设使用,用于控制器件的 *** 作,这类寄存器实现为静态RAM形式。特殊功能寄存器可分为两类,一类与内核功能有关,另一类与外设功能有关。本章将讲述与内核功能有关的特殊功能寄存器,另一类与外设功能 *** 作有关的特殊功能寄存器将在相应的外设功能模块章节中讲述。
所有中档单片机的SFR寄存器区也分成不同的存储区。在这些存储区间切换时,需要设置状态(STATUS )寄存器的RP0、RP1位来选择所需存储区。某些SFR寄存器会被上电复位和其它复位初始化,而有些一些SFR寄存器在复位时不会被初始化。
*注: 可能有通用寄存器映射到特殊功能寄存器区。
寄存器既可以直接寻址,也可以通过指针寄存器间接寻址。
存储区划分
数据存储器分为4个存储区,每个存储区包括特殊功能寄存器和通用寄存器。使用直接寻址时,为在这些存储区之间切换,需要设置状态寄存器的RP0、RP1位以选择需要的存储区。状态寄存器的IRP位用于间接寻址。
每个存储区最多可有128字节(7FH)。特殊功能寄存器安排在存储区的低地址单元;通用寄存器安排在高地址单元。所有数据存储器都是用静态RAM。所有存储区都包括特殊功能寄存器。为了减少程序代码和提高存取速度,存储区0中某些使用率高的特殊功能寄存器映射在其它存储区中。
随着产品的发展,其数据存储器的设计布局有一些变化。对于所有新器件来说,标准的数据存储器构成如图6-5所示。在这个存储器映射中,所有存储区的最后16字节都映射到存储区0中,这可以降低用于现场切换的软件开销。用粗体表示的寄存器存在于每种单片机中,其它寄存器的有无与外设模块有关。图中没有示出所有的外设寄存器,因为针对不同的器件,在某些文件地址处的寄存器定义与这里所显示的不同。除了使用本手册所提供的所有图、表和说明外,也应参阅特定器件的数据手册来核实细节。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)