MSP430频率计程序.docx

上传人:小飞机 文档编号:3161777 上传时间:2023-03-11 格式:DOCX 页数:4 大小:38.22KB
返回 下载 相关 举报
MSP430频率计程序.docx_第1页
第1页 / 共4页
MSP430频率计程序.docx_第2页
第2页 / 共4页
MSP430频率计程序.docx_第3页
第3页 / 共4页
MSP430频率计程序.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《MSP430频率计程序.docx》由会员分享,可在线阅读,更多相关《MSP430频率计程序.docx(4页珍藏版)》请在三一办公上搜索。

1、MSP430频率计程序这两天在搞频率计的问题,开始的时候思路很清晰,但是实现起来比较麻烦。 想测量一个方波的频率,有两种方法,一个是测频率,就是定时1S然后计数方波的高电平个数。另一个是测周期法,就是测量方波的一个周期的时长,从而得到频率。 第一种方法很简单,下面讲讲我用的第二种方法。 思路是这样的,利用定时器的捕获功能,捕获方波的上升沿,将两次比较的值相减,就能得出两个上升沿之间定时器的计数值,然后处理一下计数值,就能得到正确的频率。 设置两个变量,一个是new_cap,一个是old_cap。捕获得到新的TAR数值赋给new_cap,再将上一次捕获的数值赋给old_cap,然后两值相减就能得

2、到一个周期的计数值。 最开始写的时候,显示的频率不对,今天改动了一下。用定时器A1,然后比较TAIV的值再进行频率数值计算。再将显示函数放在主函数里面循环就对了。 程序贴出来供大家参考 /*/ /*P1.2为定时器A1的CCI1A输入端,信号从P1.2输入*/ /*定时器时钟为SMCLK,不用分频*/ /* */ /*P1.0 -|(比较器输入) |*/ /*P1.1 -|(LCDRS) P2.0|-D0*/ /*P1.2 -|(定时器输入)|(LCDEN) | P2.7|-D7*/ /*P1.7 -|(比较器输出)- |*/ /*| msp30g2553 |*/ /*| 制作人:wusong

3、 |*/ /*/ #include #include #define uchar unsigned char #define uint unsigned int uchar table=frequency:; uchar table_num=0123456789; uint new_cap,old_cap,cap_diff,fre; void LCD_display write_com(0x80); fre = 10000000/cap_diff;/这个是将计数值转换为频率。1Mhz的频率,理应该是100000/cap_diff的,但是为了显示出小数,所以用的10000000 int i; for(i=0;iold_cap) cap_diff=new_cap-old_cap-30; else cap_diff=65536-old_cap+new_cap-30;/这里要注意,因为有可能old_capnew_cap。就是计时溢出的问题,特别注意这个 old_cap=new_cap;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号