我试图将计时器1设置为具有0.25 s的延迟,但遇到了困难。
我使用以下计算来获取寄存器值:
FCPU = FOSC / 4 = 16 MHz / 4 = 4 MHz
Ftimer = FCPU /预分频器= 4MHz / 8 = 0.5 MHz
Ttimer = 1 / Ftimer = 1 / 0.5 MHz = 2 us
计数=所需延迟/ Ftimer = 0.25 / 2 us = 125000
该特定芯片具有以下预分频器值:
计时器0:2,4,8,16,32,64,128,256
计时器1、1、2、4、8
计时器2:1,4,16
由于此计数对于16位寄存器而言太大,我计算错误吗?还是我只是因为想要的特定延迟而感到运气不佳?
最佳答案
如果您想要一个纯粹的硬件解决方案,那您真不走运。如果您的应用程序允许,将您的想法间隔不远,将CPU速度减半将为您提供所需的时间间隔。另一种选择是使用软件计数器来跟踪溢出次数。在上面的示例中,您想对第二个溢出采取措施。
关于c - 在PIC16F723上设置定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46836746/