基于单片机频率计的设计

时间:2013-07-14 13:15:46
【文件属性】:
文件名称:基于单片机频率计的设计
文件大小:808KB
文件格式:DOC
更新时间:2013-07-14 13:15:46
单片机 频率计 电子 频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用两种办法,第一种方法是使用单片机自带的计数器对输入脉冲进行计数;第二种方法是单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取。第一种方法的好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。这种方法的缺陷是受限于单片机计数的晶振频率,输入的时钟频率通常是单片机晶振频率的几分之一甚至是几十分之一,在本次设计使用的98C51单片机,由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1”,后一个周期测出“0”。故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一。第二种方法的好处是输入的时钟信号频率可以不受单片机晶振频率的限制,可以对相对较高频率进行测量,但缺点是成本比第一种方法高,设计出来的系统结构和程序也比较复杂。由于成本有限,本次设计中采用第一种方法,因此输入的时钟信号最高频率不得高于11.0592MHz/24=460.8KHz。对外部脉冲的占空比无特殊要求。 根据频率检测的原理,很容易想到利用51单片机的T0、T1两个定时/计数器,一个用来定时,另一个用来计数,两者均应该工作在中断方式,一个中断用于1s时间的中断处理,一个中断用于对频率脉冲的计数溢出处理,(对另一个计数单元加一),此方法可以弥补计数器最多只能计数65536的不足。

网友评论

  • 还可以,挺详细的
  • 楼主介绍得很详细,有些东西稍微改一下就行
  • 很详细 思路也很清晰 要是C语言的话就好了
  • 还可以,挺详细的,只是程序是汇编语言的
  • 大致还是可以用的,只要把周期时间改下就好了,挺不错的。