任务5.6频率计的设计介绍.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.6 频率计的设计 5.6.1任务介绍 频率计在教学、科研、测量仪器、工业控制等方面都有广泛的应用。在单片机应用系统中,经常需要对一个连续脉冲的频率(周期)进行测量。在实际应用中,对于转速、位移、速度、流量等物理量的测量,一般也是先由传感器转换成脉冲信号,然后再测量频率的方式来实现。 本节的任务要求是: 开发板上有一个频率发生器,能够产生250Hz~256KHz的方波。利用单片机的定时器测量方波的频率或者周期。 5.6.2知识准备 1、测频法 频率的定义为:单位时间内完成周期性变化的次数,是描述周期运动频繁程度的量。单片机要完成周期信号的频率测量,根据频率的定义,初学者首先能想到的方法是利用51单片机的1个定时/计数器产生单位时间,然后在单位时间内利用利用另外1个定时/计数器对外界脉冲进行计数。这种方法称为“测频法”。但测频法不是万能的,适合测量高频信号。图5.6.1说明了测频的原理及误差产生的原因。 图5.6.1 测频法误差来源 在图5.6.1中,假设时基信号为1Hz,则用此法测得的待测信号为7Hz。但从图中可以看出,待测信号的频率应为为7.7Hz,误差约有7/7.7=9.1%。这个误差是比较大的。实际上,测量的脉冲个数的误差会在±1之间。假设测得的脉冲个数为N,则测量频率的误差最大为δ=1/(N-1)×100%。显然,减少误差的方法,就是增大N。举个例子,假设测频精度为0.1%,所测信号的频率为10Hz,为了达到测量的准确度,时基信号的长度超过100S,显然这是不可行的。因此得出一个初步的结论:测频法只适合于测量高频信号。 2、测周法 测频法不适用于低频信号的测量,低频信号的测量通常采用测周法。测周法顾名思义就是测量脉冲信号的周期,周期与频率呈倒数的关系,求得脉冲信号的周期,频率也就求出来了。51单片机测量脉冲信号的周期,也需要用到2个定时/计数器,其中1个定时/计数器用来对脉冲信号进行计数,另外一个定时/计数器用来测量计数时间内的时间长度。举个例子:定时/计数器0对外接脉冲计数,方式2,自动重装模式,TL0=246,每来10个脉冲,定时/计数器0溢出一次。另外一个定时/计数器从溢出后开始计量时间,到下一次溢出后停止计量时间,这是时间差值就是10个脉冲的周期,然后再除以10,就是一个脉冲的周期。 有了对测频法误差来源的分析,就不难得到测周法误差的来源。脉冲频率越低,周期越长,则测周法的精度越高。 3、频率发生器 开发板上的固定脉冲信号是由数字芯片CD4060产生的。CD4060是14位二进制串行计数器/分频器。开发板中CD4060的晶振是4.096MHz,经过14级分频后,输出10路分频信号(Q4~Q14)。开发板只引出了6路分频信号(125Hz、500Hz、2KHz、8KHz、64KHz、128KHz),电路如图5.6.2所示。 图5.6.2 CD4060构成的频率发生器 5.6.3 任务实施 任务实施中分别给出测频法的实现程序和测周法的实现程序。 测频法程序实现 测频法程序的工程结构图如图5.6.3所示。Seg7Display.c负责将测量的频率在数码管上显示,共6位数码管。FreqMeasure.c是频率测量模块。 5.6.3 测频程序工程结构图 主函数 Main.c: 测频模块 FreqMeasure.h: FreqMeasure.c 程序解释: ① 测频程序用到了2个定时/计数器,定时/计数器0用来对脉冲计数,16位计数器,方式1模式;定时/计数器1用来产生时基信号(1秒),8位定时器,方式2。 ② 在定时/计数器0的中断函数中,记录溢出次数,如果1S内外接脉冲个数超过65536,则定时/计数器0会溢出。定时/计数器1主要用于产生1秒的时基信号,1秒到,则一次测频完成。定时/计数器0的初值为0,如果定时/计数器0在1S内没有溢出,则外接脉冲的个数=TH0*256+TL0。如果溢出了,则外接脉冲的个数=溢出次数*65536+TH0*256+TL0。计算出频率值后,定时/计数器0的初值和溢出次数要重新置0,

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档