A. 怎么用msp430F149定时器A或定时器B的比较捕获模式测试一个方波的频率
1.一开始让430的内部定时器跑起来,你要做的就是设置定时器的时钟,是否分频,是否中断,计数模式这些。要是用到捕获模式测频率就要选择成捕获模式,还有上升沿或者下降沿捕获这些。
2.之后的过程是这样的,当单片机的特殊引脚检测到你设定的触发信号之后就会立刻把当前时刻的TAR(定时器的16位计数器)中的数据记录到CCR中(也是一个16位计数器)。然后就跳进一个中断,如果你要测频的话就记录下此刻的CCR值,挑出中断,随后在下一个触发信号到来时再记录一次CCR的值,两次数据之差就是再除以定时器时钟频率就得到了被测信号一个方波的时间了。
3.关于特殊引脚,就是一个复用的脚,可以作为一般IO口,也可以作为捕获信号入口,就像msp430F449中P2.0还可以作为定时器A,CCR2的信号捕获口。
4.如果你要测的信号频率太低还需要一个溢出中断,溢出的话就是一个62256,最后溢出了几个就加上几个62256即可。
B. 用msp430单片机如何检测输入方波频率 望哪位大神给个程序 讲解一下 类型是149的,不胜感激!
430单片机的定时器模块有一个捕获比寄存器,通过设置相关的寄存器,让其工作在捕获模块,捕获的方式可选择,分别为上升沿捕获,下降沿捕获和上升下降都捕获。测方波频率的话,选第一个吧。捕获模块的工作原理是:当外部事件发生时,也就是你的方波的上升沿到来时,单片机的捕获端口就会捕获到一个脉冲,然后定时器的16位计数器就会计数,最后计数器的值就是你测得的脉冲个数。测频率一般有两种方法,一个是测周法,一个是测频法,网络一下这两个方法,了解一下原理。我们采用最简单的方法,那就是测一秒内捕获的脉冲个数,那个值就是频率。至于相关寄存器的设置,自己多看看430的常用模块介绍,了解一下定时器的那些寄存器的功能和设置方法。程序网上很多,我这儿也有,想要的话,看我ID,然后发邮件给我,我给你发过去。
多查查资料,只要愿意去学,一定会懂的,祝成功!