1

我在我的项目中使用 msp430f2013 微控制器..因为我需要计算输入的脉冲信号频率序列..我不知道该怎么做..有人可以帮我吗..示例代码对我更有用....提前感谢

4

2 回答 2

2

您需要阅读微控制器的手册,然后了解如何设置一个计时器,该计时器可以测量两个脉冲沿之间的间隔(例如,从一个前沿到下一个前沿)。频率 f 将是该时间间隔 t 的倒数,即

f = 1 / t
于 2011-02-19T09:44:47.253 回答
1

有多种方法可以做到这一点,也许最容易理解的是将计时器设置为简单的计数器。轮询输入引脚,当它改变状态时保存计时器上的计数,当它再次改变状态时保存计时器上的计数,从另一个中减去一个时间,这就是每秒多少个频率 X 滴答声的时钟滴答声。您的区别是每个输入脉冲的 y 滴答声。y / x 滴答声抵消,你得到每个脉冲的秒数。如果您正在测量整个周期的上升沿到上升沿或下降沿到下降沿,那么它是相同的解决方案,区别在于要减去哪个定时器采样(例如最后一个上升沿和当前上升沿)。

一些微控制器能够在输入引脚上的状态变化(或至少相同的边沿,上升或下降)时中断,您可能更喜欢使用该方法对定时器进行采样,减去并获取每个周期的滴答声,等获得每秒周期(频率)。

使用计时器可能很棘手,我总是先使用计时器闪烁 LED,首先每秒一次进入球场,然后每 5 或 10 或 30 秒一次,并将其与手表上的秒针进行比较或其他一些参考来验证您的准确性,而不是这样或那样的百分之十。这建立了对计时器及其除数的理解,从那里您可以开始使用它来测量输入。为了确保我的 gpio 编程正确(led 练习已经涵盖了其中的一些内容)我对输入引脚进行采样并使用输入引脚状态更改 LED 状态,然后通常可以查看 LED 以查看闪烁或暗光看到我能够对 gpio 引脚进行采样。然后将它们放在一起并在输入更改状态时对定时器进行采样,首先轮询然后如果需要中断或其他。

于 2011-02-21T08:00:20.800 回答