通用寄存器文件是用于存放数据的寄存器。一般用于中间数据或结果数据存放。所有的通用寄存器构成了通用寄存器文件。
专用寄存器是单片机内的物理寄存器,它们与数据存储器无关,专用寄存器用于特殊用途,例如I/O断口控制等。
1.通用寄存器
PIC16C52/54/56的通用寄存器地址分配为F07H—F1FH,PIC16C55则为F08H—F1FH,这些地址组成了通用寄存器文件。PIC16C57/58的通用寄存器地址分配如下:
F08H—F0FH:常用的并与存储器块无关的通用寄存器文件。
F10H—F1FH:Bank0的通用寄存器文件。
F20H—F2FH:等同于F00—F0FH。
F30H—F3FH:Bank1的通用寄存器文件。
F40H—F4FH:等同于F00—F0FH。
F50H—F5FH:Bank2的通用寄存器文件。
F60H—F6FH:等同于F00—F0FH。
F70H—F7FH:Bank3的通用寄存器文件。
2.专用寄存器
[1].W工作寄存器
在两个操作量的指令中用于存放第二个操作量,同时,也用于内部数据传送。
[2].TRISA:A口(f5)I/O控制寄存器0-3位有效,对应于I/O(f5)4位宽度。
[3].TRISB:B口(f6)I/O控制寄存器。
[4].TRISC:C口(f7)I/O控制寄存器。
执行TRIS指令时,w寄存器的内容将传送至I/O控制寄存器,以此来定义各I/O口的输入/输出状态。
I/控制寄存器的某位为“1”,使相应的I/O线置于高阻抗状态,即输入态,某位为“0”,使相应的I/O线置输出态。I/O控制寄存器是只写寄存器,复位时全为“1”。
[5].OPTION:预分频器/RTCC选择寄存器。
分配预分频器(prescaler)给RTCC或WDT。预分频器只能分配给RTCC或WDT其中之一使用,不能同时使用。OPTION寄存器是用于定义预分频器的预分频系数,RTCC信号源及作用于RTCC的信号边缘。OPTION寄存器是一个只写6位宽度寄存器。执行OPTION指令时,会把W寄存器内容传送至OPTION寄存器中。在复位时,OPTION寄存器被置为全“1”。