我想使用PIC16F628找出两个脉冲之间的时间差。 我使用的是4MHz外部振荡器,MikroC编译器。
作为一个简单的例子,我们假设有一个按钮。当我们按它时,它会向引脚发送一个高信号。我们按下这个按钮两次,中间有一些延迟,我想找到这两个按钮之间的时差。
谢谢。
答案 0 :(得分:0)
正如评论中所提到的,最简单的方法是使用计时器/计数器组合。我找到了关于如何专门为PIC执行此操作的快速教程:http://www.mikroe.com/chapters/view/17/chapter-4-examples/#c4v5。
看看4.5和4.6,它们可以准确地为您提供获得脉冲之间的定时器间隔计数所需的信息。基本技术是启动计时器,将中断处理程序(读取:函数)与计时器相关联,然后在每次调用中断处理程序时递增计数器。下次看到脉冲时,请读取计数器值。
之后,您需要知道的是您设置计数器的时基(这将是振荡器速率的某些整数细分,并且通常可在代码中选择)并且您可以转换定时器间隔的#时间以秒/毫秒/纳米为单位。