文章分类

当前位置:首页>技术文章>PIC系列单片机数据存储器的特点和功能(中)

PIC系列单片机数据存储器的特点和功能(中)

学习 PIC 单片机数据存储器时,不仅要了解各寄存器单元的功能,而且还应在编制程序时会调用它们完成编程目的。下面笔者将以编程实例说明它们的用途。

2. 间接寻址寄存器 INDF 和 FSR 位于 PIC 数据存储器的最顶端、地址 00 单元(地址码最小)的间接寻址寄存器 INDF 是一个空的寄存器。它只有地址码,在物理上不是一个真正的寄存器。它的功能常常与寄存器 FSR(又称寄存器选择寄存器)配合工作,实现间接寻址目的。初学专用寄存器 INDF 和 FSR 时,记住下述的逻辑关系对编程是有帮助的:使用寄存器 INDF 的任何指令,在逻辑上都是对寄存器 FSR 所指向的 RAM 进行访问,即对 INDF(本身)进行间接寻址(访问),读出的应是 FSR 内容。

以下的一个简单程序是用间接寻址方式清除 RAM 地址 20h~2Fh 单元寄存器内容的实例。 MOVLW 0x20;20h→w,对指向 RAM 单元的指针;初始化 MOVWF FSR;20h→FSR,FSR 指向 RAMLOOP CLRF INDF;清除 INDF,即清除 FSR 内容所指;向的单元 20h→2Fh INCF FSR;(指针)FSR 内容加 1 BTFSS FSR,4;判别(指令)FSR 的 D3 位,若为零;执行下条循环指令;若为 1 间跳;执行。

GOTO LOOP;跳转到 LOOP(循环)CONTINUE…;已完成功能,继续执行程序由上述指令看出,因寄存器 INDF 和 FSR 的配合工作,达到了对 RAM 地址 20h~2Fh 的寄存器清零目的。由于完成上述功能的指令数很少,这就会简化指令系统,使 PIC 单片机的指令集得以精简。 说明:上述各条指令易于看懂,所以无需再复述,但其中的一条判别指令“BTFSS FSR,4”比较关键。该条指令是保证题设中要选择 RAM 地址单元上限值 2Fh 时,其对应的二进制数为 00101111B,此时 FSR 的第 4 位恰为 1。

所以上述指令中用了一条判断指令;BTFSS FSR,4,判断 FSR 的 D3 位值是否为 1,若不为 1 而为 0,则执行下条循环指令 GOTO LOOP,使 FSR 中的地址不断加 1,直到寄存器 FSR 的 D3 位为 1 时,这时它的内容代表的 RAM 地址恰为 2Fh。 由此可见,学习 PIC 单片机数据存储器中的专用寄存器时,不必要对每个产品的专用寄存器进行学习,只需先学习它们的共同点,然后选中一个产品型号的专用寄存进行详细分析,有条件时进行必要的相关指令操作,就能完全掌握单片机技术。


© 星光电子技术工作室 2021 All Rights Reserved.
如有任何问题、建议、业务、合作,请联系手机/微信:13713820066