首页 > 编程知识 正文

pic单片机编程入门(单片机c语言直接寻址 间接寻址,pic单片机教程之数据存储器的直接间接寻址方式...)

时间:2023-05-04 06:43:27 阅读:123155 作者:3920

数据存储器结构

数据存储器由特殊功能寄存器(SFR )和通用寄存器)构成。 SFR控制设备的操作,GPR是数据存储和重写的共同区域。

SFR数据存储区和GPR数据存储区分为不同的存储区。 GPR被划分为不同的存储区域,以允许对超过96字节的通用RAM进行寻址。 SFR是用于控制外围设备和内核功能的寄存器。 STATUS寄存器的存储体选择控制位(STATUS7:5 )用于选择存储体。 图6-5是数据内存配置图,该图与设备型号相关。

要从一个寄存器向另一个寄存器传输数据,必须通过w寄存器。 也就是说,所有寄存器之间的数据传输需要两个指令周期。

整个数据存储器可以使用直接寻址或间接寻址来访问。 直接寻址可能需要RP1、RP0位,间接寻址可能需要指针寄存器(FSR )。 间接地址数据存储器的bank0/bank 1或bank2/bank 3时,使用状态寄存器的间接寄存器指针(IRP )位。

通用寄存器(GPR )

一些中端单片机的GPR被划分在不同的存储区,上电复位不能初始化GPR,其他复位也不能改变GPR的值。

寄存器可以直接寻址,也可以使用指针寄存器FSR间接寻址。 在某些设备中,各数据存储器具有共享的公共数据存储器,对公共数据存储器的读写不需要考虑当前存在的存储器,可以使用相同的地址单元(值),将该区域称为公共RAM。

特殊功能寄存器(SFR )。

特殊功能寄存器用于CPU和外围设备,用于控制设备的动作,这些寄存器以静态RAM格式实现。 特殊功能寄存器有内核功能和外围设备功能两种。 本章介绍与内核功能相关的特殊功能寄存器。 另外,与外围设备的功能动作相关的其他特殊功能寄存器将在对应的外围设备功能模块一章中介绍。

中速单片机的SFR寄存器区也被分为不同的存储器区。 切换这些内存区间时,需要设置状态寄存器的RP0、RP1位,选择所需的内存区域。 部分SFR寄存器通过上电复位或其他复位初始化,部分SFR寄存器在复位时不初始化。

*注:特殊功能寄存器区域可能有映射的通用寄存器。

寄存器可以直接寻址,也可以通过指针寄存器间接寻址。

银行分类

数据存储器分为包括特殊功能寄存器和通用寄存器在内的4个存储器区域。 使用直接地址时,为了切换这些存储体,必须设定状态寄存器的RP0、RP1位,选择所需的存储体。 状态寄存器的IRP位用于间接寻址。

每个存储区最多128字节(7FH )。 特殊功能寄存器配置在存储器区域的行地址单元中。 通用寄存器配置在高地址单元中。 所有的数据存储器都使用静态RAM。 所有存储区域都包含特殊功能寄存器。 为了减少程序代码和提高访问速度,存储体0中的一些高利用率的特殊功能寄存器被映射到其他存储体。

随着产品的发展,其数据存储的设计布局有一些变化。 所有新设备的标准数据内存配置如图6-5所示。 此内存映射将所有存储区的最后16个字节映射到存储区0,从而减少了用于字段切换的软件开销。 粗体显示的寄存器每个单片机都存在,其他寄存器的有无与周边模块有关。 所有外围设备寄存器未显示。 这是因为对于每个设备,某些文件地址中的寄存器定义与这里所示的不同。 除了使用本文档中提供的所有图、表和说明外,还必须参考特定设备的数据手册以了解详细信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。