
C8051F310/1/2/3/4/5/6/7
19.3 。 PCA计数器
在“ REV A”的设备,如果主PCA计数器:在一个执行阶段( PCA0H PCA0L )溢出
读 - 修改 - 写指令(逐位SETB或CLR , ANL , ORL , XRL )为目标的PCA0CN寄存器,
在CF (计数器溢出)位将不会被置位。一个例子软件解决方法如下:
第1步。
步骤2 。
步骤3 。
步骤4 。
步骤5 。
步骤6 。
步骤7 。
禁止全局中断( EA = 0 ) 。
阅读PCA0L 。这将锁存PCA0H的值。
读PCA0H ,保存价值。
执行CCFn被逐位操作(例如, CLR CCF0 ,或CCF0 = 0 ) 。
阅读PCA0L 。
读PCA0H ,保存价值。
如果PCA0H的读取步骤3中的数值为0xFF和PCA0H的值读出,在步骤6是
0×00 ,然后手动设置在软件的CF位(例如, SETB CF,或CF = 1 ) 。
第8步:重新允许中断( EA = 1 ) 。
此行为是不存在的“ REV B”和更高版本的设备。软件为“REV A”的设备将运行在写
“ REV B”和不加修饰后的设备。
218
修订版1.6