我是这个论坛的新手。我正在录制的RPM,并显示在4x7段与CCP2。实际上,从3.81赫兹到166赫兹,这已经足够了。我根据每个上升边缘(等待上升边缘)来测量频率,从而计算频率。我不使用外部中断。我使用的是Fosc/4 =2 2MHz和预售8的Timer1。问题是频率比3.81Hz低。我试着计算溢出量,并从中确定正确的RPM,但不幸的是,它不起作用。
周期= ov_cnt * 65536 + Second_Edge - First_Edge
是否有可能将Timer1从16位增加到19位或24位?
或者还有另一种测量和显示较低频率的可能性?
还是我做错什么了?
我使用: MPLAB v5.50 XC8 v2.32编译器PIC18F45K22 Pickit3程序员/调试器
我希望你能帮助我。
非常感谢并致以最良好的问候
发布于 2022-02-22 15:51:10
我建议您只增加一个8位变量,并使用它作为24位计数的MSByte,Timer1寄存器作为较低的16位。这是您询问的计时器的扩展(某种程度上)。其他选项是设置定时中断和I/O中断,以提高脉冲的边缘,并在每秒钟重置两个变量。
https://stackoverflow.com/questions/71223941
复制相似问题