§1.5.3 通用寄存器
PIC16C54/56:
07H~1FH
PIC16C55:
08H~1FH
PIC16C57/58:
08H-0FH:共有通用寄存器(无须体选择即可寻址)。
10H-1FH:Bank0的通用寄存器
20H-2FH:物理上等同于00H-0FH。
30H-3FH:Bank1的通用寄存器
40H-4FH:物理上等同于00H-0FH。
50H-5FH:Bank2的通用寄存器
60H-6FH:物理上等同于00H-0FH。
70H-7FH:Bank3的通用寄存器。
请参考图1.4。对寄存器体Bank的寻址请参阅F4寄存器描述和第四章的实例。
§1.5.4 特殊功能寄存器
1、工作寄存器(W)
W用来存放两操作数指令中的第二个操作数,或用以进行内部数据传送。算术逻辑单元ALU把W和寄存器连接起来,ALU的运算结果通过总据总线可以送到W保存。
2、I/O控制寄存器(TRISA、TRISB、TRISC)
TRISA、TRISB、TRISC分别对应I/O口A、B、C。其中TRISA只有4位,和A口对应。执行"TRIS f"指令可把W的值置入I/O控制寄存器,以此来定义各I/O端的输入/输出态。当写入"1"时,将相应的I/O端置成输入态(高阻态),当写入"0",则将相应的I/O端置成输出态。I/O控制寄存器都是只写寄存器,在RESET后自动置为全"1",即所有I/O口都为输入态。
3、预设倍数/RTCC选择寄存器(OPTION)
OPTION可用于:
a、定义预分频器的预分频参数。
b、分配预分频器(Prescaler)给RTCC或WDT。注意预分频器只能分配给RTCC或WDT其中之一使用,不能同时分配。
c、定义RTCC的信号源。
d、定义RTCC信号源的触发沿(上升沿触发或下降沿触发)。
图1.8显示了OPTION各位的意义。
当预分频器分配给RTCC后,所有写RTCC寄存器的指令如CLRF 1、MOVWF 1等都会清除预分频器。同理,分配给WDT时,诸如CLRWDT和SLEEP指令将清除预分频器里已有的值使其归零。
通过执行"OPTION"指令可将W值置入OPTIOW寄存器,RESET后OPTION被置成全"1"。
例:MOVLW 07H ;W=7
OPTION ;7→OPTION ;预分频器(1:256)分配给RTCC。RTCC信号源为内 部指令时钟周期。