1822的规格书P176页有这样的一段话:
Timer0 模块有8 个预分频比选项,范围从1:2 至1:256。预分频值可通过 OPTION 寄存器的 PS<2:0> 位进行选择。为了让 Timer0 模块使用 1:1 预分频值,必须通过将OPTION 寄存器的 PSA 位置 1 来禁止预分频器。预分频器是不可读写的。写 TMR0 寄存器的所有指令都会清零预分频器。
这里有两个疑问:
1)“预分频器是不可读写的”
在P177页描述分频比的寄存器时,PS<2:0>都是R/W的。
用软件仿真,也的确可以读出分频比的值。
2)“如果对TMR0进行操作了,那分频比就会被清。”
用软件操作如下代码:
TMR0 = 0;
OPTION_REG = 3;
TMR0 = 3; 如果按照规格书的意思,这句执行完后,OPTION_REG应该为0,但用软件仿真OPTION_REG值并没有变。
|