1. 概要
寄存器是什么?
寄存器是硬件单元的配置、设置选项。在CPU用户手册中,有整个CPU的模块图(Block Diagram),以及在各个章节中,各个硬件单元的详细模块图。哪些模块被使用,以及以什么样的方式使用,如何配置参数,都需要配置相应的寄存器。
下图为CPU模块图,以GPIO为例,CPU提供了14组GPIO,每组GPIO在特殊功能寄存器(SFR)中,都有一个对应的寄存器,P0~P14,在访问P0的第一PIN脚时,P0.1 = 0;这样的方式即可。
对应的寄存器定义
下图为中断的硬件模块图(类型A),从图中可以看到的硬件单元有,IF,MK,IE,PR0,PR1,ISP0,ISP1,它们都是用于配置中断相关参数的。每个硬件模块都会有对应的寄存器。
硬件单元对应的寄存器有,IF0L,IF0H,MK0L,MK0H,PR00L,PR10L,PR00H,PR10H…
2. 寄存器种类
2.1. 通用寄存器
通用寄存器用于传送和暂存数据,也可参与算数逻辑运算,并保存运算结构。除此以外,它们还有一些特殊的功能。
2.2. SFR
特殊功能寄存器,用于存放CPU内硬件单元的控制命令、状态、数据。
如何使用SFR。
#pragma sfr
语句,可以在文件中使用SFR所有的寄存器。如
P0.1 = 0;
SFR地址范围0xFFF00~0xFFFFF,定义如下表: