一种基于MSP430单片机的交流频率检测系统

[09-12 18:11:47]   来源:http://www.88dzw.com  单片机学习   阅读:8563

文章摘要:(3)具有多个可配置输入端的捕获/比较寄存器,并且8种输出模式的多个可配置的输出单元;(4)不仅能捕获外部时间发生的时间,还可锁定外部时间发生时的高低电平,给我们的设计带来很大的方便;(5)可以以硬件方式支持串行通信。3 软件设计[7] [8] [9]软件设计的任务主要是Timer A的初始化的设定,其软件采用C语言编程。Timer A工作在捕获方式时,当满足捕获条件(触发方式)时,硬件自动将计数器TAR中的数据写入捕获/比较寄存器CCR0。图8是系统软件流程图。图8 系统软件流程图在本系统中,定时器采用连续计数模式,捕获方式采用下降沿捕获。系统初始化包括系统频率fs的选择(1MHz)、Ti

一种基于MSP430单片机的交流频率检测系统,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

  (3)具有多个可配置输入端的捕获/比较寄存器,并且8种输出模式的多个可配置的输出单元;

  (4)不仅能捕获外部时间发生的时间,还可锁定外部时间发生时的高低电平,给我们的设计带来很大的方便;

  (5)可以以硬件方式支持串行通信。

  3 软件设计[7] [8] [9]

  软件设计的任务主要是Timer A的初始化的设定,其软件采用C语言编程。Timer A工作在捕获方式时,当满足捕获条件(触发方式)时,硬件自动将计数器TAR中的数据写入捕获/比较寄存器CCR0。图8是系统软件流程图。

图8  系统软件流程图

在本系统中,定时器采用连续计数模式,捕获方式采用下降沿捕获。系统初始化包括系统频率fs的选择(1MHz)、Timer A的控制寄存器的设置,需要设置的寄存器为控制寄存器TACTL和捕获/比较控制寄存器CCTL0。Timer A中断函数在发生捕获时被触发,首先计算CCR0中的值与变量LastCCR0的差值,LastCCR0是上次捕获时记录的寄存器CCR0的值, CCR0的初始值为0。循环五次即被触发五次,五次的差值被保存在数组Timervalue[]中。考虑到计数器刚开始计数时信号不一定从零点开始,所以真正的计算应该从第二次触发开始,这样就能计算出四个脉冲周期,接着计算出平均脉冲周期,该平均周期便是所测交流信号的半周期,进而可以得出其频率。用公式表示为:

为系统频率)

  4 结论

  文中提出了一种过零检测电路,并按实际需要选取了相应参数的电子元件,同时利用MSP430单片机的脉冲捕获功能实现了交流信号频率的检测。该系统对低频交流信号频率的检测精度高、实时性强,具有一定的实际应用价值。同时本文介绍的过零检测电路其应用更加广泛,再利用MSP430单片机Timer A内部的捕获/比较器的多路PWM输出单元,便能实现一定的控制功能。

本文创新点:文中提出了一种测宽法的交流频率检测系统。该系统利用过零检测、MSP430单片机的脉冲捕获功能,较以往的频率检测系统直观、精度高、实时性强。


上一页  [1] [2] [3] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行