网站大量收购独家精品文档,联系QQ:2885784924

多通道采集分析.pptVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多通道采集分析.ppt

多通道采集分 测频 测占空比 频率测试 占空比测量 利用捕获测试占空比 MSP430G2553定时器A具有捕获功能,可以设置相应的定时器控制寄存, 器TACCTL0,TACCTL1,TACCTL2,来设置定时器的工作模式有捕获和比较模式,当 选择为捕获模式时,有上升沿捕获和下降沿捕获,和上升沿下降沿都捕获捕获。先 设为上升沿捕获当捕获发生时清掉TAR的值立即将捕获设为下降沿捕获 这样将捕获到高电平的时间,不清TAR将捕获设为上升沿捕获当捕获发生 时就是一个周期的计数值。 步骤1.设置捕获控制寄存器捕获上升沿清TAR中的数 2. .设置捕获控制寄存器捕获下降沿清若捕到将TAR中的数读出来A1 3 .设置捕获控制寄存器捕获上升沿降沿清若捕到将TAR中的数读出来A2   4.计算显示占空比为A1/A2 例如。TACCTL1 = CM_1+CCIS_0+CAP+SCS;//1上升,2下降 3下降上升捕获/同步捕获CCIS_0= TACCTL1 =~CCIFG; //清CCR2 的标志位0x01 while(!(CCIFGTACCTL1)); //查CCR1 标志位 TACTL |= MC_2+TACLR;//连续计算模式清TAR的值 TACCTL1 =~CCIFG; //清CCR2 的标志位 TACCTL1 = CM_2+CCIS_0+CAP+SCS; while(!(CCIFGTACCTL1)); //查CCR1 标志位 first_value=TACCR1; //第二个捕获值存入second_value TACCTL1 =~CCIFG; //清CCR2 的标志位 TACCTL1 = CM_1+CCIS_0+CAP+SCS; while(!(CCIFGTACCTL1)); //查CCR2 标志位 second_value=TACCR1; //第一个捕获值存入first_value TACCTL1 =~CCIFG; //清CCR2 的标志位 TACTL = TASSEL_2+MC_0+TACLR; 占空比= first_value/second_value*100.0; 峰值测量 相位测量 * * 一.实现方法 利用I/O中断测频率 MSP430单片机的I/O口都具有中断能力. 可以利用I/O口得中断输入口来测试被测信号的频率。 例如.设置I/O为上升沿中断,在I/O中断程序中响应程序对被测信号进行计算没进来一次f++, 同时开定时器对计算时间进行设置,如果定时器 为1S那么此时的f值就是要测的频率 1.初始化I/O口 2.初始化定时时器设定时间 3.计数时间到了计算显示标志位置1 4.算出频率并且显示 初始化I/O中断P1.3 P1DIR=0xf7;//P1.3设置为中断测评输入端口 P1OUT=0x08; P1REN=0x08;//上拉电阻 P1IE|=0x08;//开P1.0口 P1IES|=BIT3;//触发方式选择 P1IFG=0x00; P1.3口得中断服务程序 #pragma vector=PORT1_VECTOR __interrupt void Port (void) { if(P1IFGBIT3)//0x03 { n++; if(n==50000)//目地为了扩展,让频率计达到65536hz以上的测试。 { n=0; a++; } P1IFG=~BIT3; } } 定时器初始化 //=========定时器的初始化===========// void init() { n=0; TACTL=TASSEL_2+MC_1;//SMCLK upmode CCTL0=CCIE; // CCR0=1581;//100us CCR0=1583; } //=========100us定时中断服务函数=======// #pragma vector=TIMER0_A0_VECTOR __interrupt void timer(void) { irtime++; //P1OUT^=0x41; if(irtime==10005)//1s { irtime=0; // P1OUT^=0x01; flag=1;//1s计数完成 } } 最终F=a*50000+n; * * *

文档评论(0)

wuyouwulu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档