数显简易频率计的设计制作
摘要
本文主要论述了利用单片机 AT89C52 进行频率、周期、时间间隔、占空
比测量的设计过程。该频率计采用测量 N 个信号波形周期的算法,充分利用
单片机 AT89C52 中三个可编程定时/计数器,结合部分中规模数字电路,克服
了基于传统测频原理的频率计的测量精度随被测信号频率的下降而降低的缺
点,实现了频率、周期、时间差、占空比的高精度测量,结果的显示。该数
字频率计的硬件系统电路由前置整形电路、分频电路 、基准信号源 、单片
机电路、数字显示电路、稳压直流电源电路构成。其中单片机电路又由单片
机、数据选择器、键盘、状态指示电路构成。软件系统由主程序、键盘子程
序、显示子程序、NT 和 N 测量子程序、脉冲高、低电平宽度测量子程序构成,
由汇编语言编写。通过硬件系统和软件系统的相互配合,成功的实现了频率、
周期、时间差、占空比的高精度测量,系统的自校和测量结果的显示。
关键词 数字频率计,周期,单片机
数显简易频率计的设计制作
Abstract
This article mainly discusses the design process of using single-chip
AT89C52 to measure frequency, cycle, time interval and duty cycle. Using the
algorithm of measuring N signal cycle, making full use of the three programmable
timer / counter of single-chip AT89C52, combined with some digital circuits, the
frequency meter overcomes the shortcomings of the measurement accuracy
reduces with the reduction of the frequency of the measured signal by the
frequency meter based on the principle of traditional measurement of frequency ,
achieves high-precision measurements of the frequency, cycle, time difference
and duty cycle, displays the results. The hardware system circuits of the digital
frequency meter is made up of the pre-shaping circuit, sub-frequency circuit,
reference signal source, single-chip circuit, digital display circuit and DC power
supply regulator circuit. Of it, the single-chip circuit consists of single-chip, data
selector, keyboards and status indication circuit. The software system is made up
of main program, keyboard subroutine, display subroutine, NT and N
measurement subroutine, pulse high and low level width measurement subroutine,
prepared by the assembly language. Through the cooperation with each other of
the hardware system and software system, the frequency meter successfully
achieves high-precision measurements of frequency, cycle, time difference, and
duty cycle, finishes system calibration and the display of measurement results.
Keywords digital frequency meter, cycle, single-chip
- 2 -
数显简易频率计的设计制作
目录
摘要 ........................................................ 2
Abstract........................................................................................................................................... 3
1 引言.............................................................................................................................................5
2 方案比较及论证.........................................................................................................................6
2.1 方案选择与比较..................................................................................................................6
2.2 测量方法..............................................................................................................................8
2.2.1 频率、周期测量方法...............................................................................................8
2.2.2 频率、周期测量方法实现.......................................................................................8
2.2.3 信号周期计算...........................................................................................................8
2.2.4 信号频率计算...........................................................................................................9
2.2.5 脉冲宽度及占空比测量...........................................................................................9
3 简易数字频率计的硬件设计...................................................................................................10
3.1 前置整形电路....................................................................................................................10
3.2 分频电路............................................................................................................................11
3.3 自校电路............................................................................................................................12
3.4 单片机电路........................................................................................................................13
3.5 数字显示电路....................................................................................................................14
3.6 直流稳压电源....................................................................................................................15
3.7 整体电路原理图................................................................................................................16
4 简易数字频率计的软件设计...................................................................................................18
4.1 主程序................................................................................................................................18
4.2 键盘子程序........................................................................................................................19
4.3 显示子程序........................................................................................................................21
4.4 NT 和 N 测量子程序...........................................................................................................22
4.5 脉冲高、低电平宽度测量子程序....................................................................................25
5 误差分析...................................................................................................................................28
5.1 理论误差分析....................................................................................................................28
5.1.1 频率误差分析.........................................................................................................28
5.1.2 周期误差分析.........................................................................................................30
5.2 测量误差分析....................................................................................................................30
结论 ........................................................ 31
参考文献 .................................................... 32
附录 ........................................................ 33
- 3 -
数显简易频率计的设计制作
1 引言
在电子技术中,频率是最基本的参数之一。随着现代科技的发展,时间及
频率计量的意义已日益明显。例如,在卫星发射、导弹跟踪、飞机导航、潜
艇定位、大地测量、天文观测、邮电通讯、广播电视、交通运输、科学研究、
生产及生活等各个方面,都需要对时间及频率的计量,也都离不开对时间及
频率的计量。因此,频率的测量就显得尤为重要。而常用的直接测频方法在实
用中有较大的局限性,其测量精度随着被测信号频率的下降而降低,并且对
被测信号的计数要产生±1 个数字误差。随着科学技术的发展,单片机因其
功能独特和廉价,在全球内得到了广泛应用,在我国的发展也日趋成熟,而且
逐渐深入到人们生产生活的各个方面。随着硬件功能的升级和软件设计的多
元化,单片机在电子技术领域中的作用将得到更进一步的提升。在单片机上实
现的频率计,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬
件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。利用单
片机进行测频具有高速、精确、可靠、抗干扰性强和现场可编程等优点。
数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器, 被
测信号可以是正弦波,方波或其它周期性变化的信号。它在工业测量、科学
研究等领域作为一种测量工具有着比较广泛的应用。它既能直接测量方波、
尖峰波脉冲信号、正弦信号的频率,又可以扩展应用到非电量频率的测量,
如机械振动的频率,声音的频率,电动机的转速,行驶的车辆轮胎的转速,
自动流水生产线上单位时间内传送零件的个数等,通过一定的传感器,将这
些非电量频率转换成电信号的频率,再用频率计显示出来。当今国内外厂家
生产的数字频率计在功能和性能方面都比较优良,而且还在不断发展中,但
其结构比较复杂,价位也比较高,在测量精准度要求比较低的测量场合,使
用这些数字频率计就不够经济合算。在实际工程中,也并不是对所有信号的
频率测量都要求达到非常高的精度。本文提出了一种数字频率计实现方案,
以单片机 AT89C52 为核心,结合部分中规模数字电路,采用测量 N 个信号波
形周期的算法,巧妙地实现了频率、周期、时间差、占空比等的测量。
- 4 -
数显简易频率计的设计制作
2 方案比较及论证
2.1 方案选择与比较
根据任务要求,本设计要进行特定信号的频率测量、周期测量、脉冲宽度测量、占空
比测量,并进行十进制数字显示,具有自校功能,测量误差低,并实现抗干扰。基于上述
要求,反复查阅资料,经过以下几种方案的选择与比较,最终确立了总体方案。
方案一:系统测频部分采用中小规模数字集成电路,用机械式功能转换开关换挡,
完成测频率、测周期及测脉宽等功能。该方案的特点是中小规模集成电路应用技术成熟,
能可靠的完成频率计的基本功能,但由于系统功能要求过高,所以电路过于复杂,而且多
量程换挡开关使用不便。原理框图如图 2-1 所示。
通道放大
主 门
计数,锁存,显示
电 源
门 控
晶体振荡源
分频及功能切换
图 2-1 方案一原理框图
方案二:系统采用可编程逻辑器件(PLD,如 ATV2500)作为信号处理及系统控制中
心,完成包括计数、门控、显示等一系列工作。原理框图如图 2-2 所示。该方案利用了
PLD 的可编程和大规模集成的特点,使电路大为简化,但此题使用 PLD 不能充分发挥其特
点及优势,并且测量精度不够高,导致系统性能价格比降低,系统功能扩展受到限制。
- 5 -
数显简易频率计的设计制作
晶体产生的高频信号
由 PLD 进行的多级分频
通 道
PLD 计数,功能切换及 BCD 译码
显 示
图 2-2 方案二原理框图
方案三:用单片机实现。目前单片机种类很多,单片机功能越来越强。根
据设计要求,选用 MCS-51 系列单片机中的 AT89C52 作为控制核心,该芯片内含
3 个 16 位定时/计数器,能最大限度地简化频率计外围硬件。AT89C52 还含一
个全功能串行口、8K 程序存储器等,因此该方案具有硬件构成简单,功能灵活,
易于修改等优点。原理框图如图 2-3 所示。
高频信号
高频自校信号
整形电路
分频电路
AT89C52
显示电路
信号输入
低频信号
键 盘
图 2-3 方案三原理框图
方案比较及选用依据:显然方案二要比方案一简洁、新颖,但从系统设计的指标要求
上看,要实现频率的测量范围 1Hz~10MHz,以频率下限 1Hz 来说,要达到误差为 0.01%的
目的,必须显示 4 位有效数字,而使用直接测频的方法,要达到这个测量精度,需要主门
连续开启 1000s,由此可见,直接测频方法对低频测量是不现实的,而采用带有运算器的
单片机则可以很容易的解决这个问题,实现课题要求。也就是采用先求信号的周期,然后
再通过单片机求周期的倒数的方法,从而得到我们所需要的低频信号的测量精度。另外由
于使用了功能较强的 AT89C52 芯片,使本系统具有极为灵活的可编程性,可以通过对软件
- 6 -
数显简易频率计的设计制作
改进而扩展功能,提高测量精度,因此选用方案三作为具体实施的方案。
2.2 测量方法
2.2.1 频率、周期测量方法
由于频率和周期之间存在倒数关系(f=1/T), 所以只要测得两者中的一个, 另一个可
通过计算求得。本设计采用直接测周期法, 而频率则通过计算得出。但是, 单片机内部计
数器一个计数值为 1μs, 在 f 很高时仅测量一个周期, 无法保证测量精度。为此, 本设
计采用在闸门时间内, 最大限度地测量多个信号的周期, 从而保证信号频率、周期测量的
精度。通过闸门信号与被测信号同步, 将闸门时间 T 控制为被测信号周期的整数倍。测
量时, 先打开参考闸门, 当检测到被测信号脉冲沿到达时开始计时, 对标准时钟计数;
参考闸门关闭时, 计时器并不立即停止计时, 而是待检测到被测信号脉冲沿到达时才停
止计时, 完成测量被测信号整数个周期的过程。测量原理如图 2-4 所示。
图 2-4 N 周期测量原理
2.2.2 频率、周期测量方法实现
为实现上述测量方法, 需要启动 AT89C52 中的 3 个定时/计数器。其中 T0 设置成 16
位定时方式, 用于产生闸门时间; T2 设置成 16 位定时方式, 用于记录 NTx 值; T1 设置成
16 位计数方式, 用于记录闸门时间内波形个数 N。为了提高精度, T0~T2 通过软件中断方
式分别扩展一字节内部 RAM, 与 16 位定时/计数器一起构成 24 位定时/计数器。AT89C52
单片机内部定时/计数器的响应频率低于 10MHz, 当信号输入为高频时,需先进行分频。根
据实验, 当 AT89C52 单片机晶振频率等于 12MHz, 输入信号频率≤500kHz 时, 内部定时/
计数器能够进行可靠计数。当信号频率 f 为 500kHz≤f≤10MHz 时, 需进行分频, 兼顾
500kHz 与 10MHz, 取分频数为 128。 因此, 当输入信号为低频(≤500kHz)时, 不进行分
频; 当输入信号为高频(≥500kHz)时, 进行 128 分频。
2.2.3 信号周期计算
设 T1 计数值 N 为 X1, T2 计数值 NT 为 X2, 则信号周期为:
低频段(不分频) T= X2/ X1 μs (1)
- 7 -
数显简易频率计的设计制作
高频段(128 分频) T= X2/(128* X1) μs (2)
2.2.4 信号频率计算
X1, X2 含义同上, 则信号频率 f 为:
低频段: f=( X1/ X2)*106 Hz (3)
高频段: f=(128* X1/ X2)* 106 Hz (4)
2.2.5 脉冲宽度及占空比测量
T1 采用定时工作方式,当信号正跳变时启动定时器 T1,当信号负跳变时存储 T1 计数值
X3 (高电平宽度),并清 0,信号再次正跳变时存储计数值 X4(低电平宽度),则高电平脉冲
宽度 W= X3 μs (5),占空比 P=〔X3 /( X3 +X4)〕*100% (6)。为了增加计算位数,除定
时器 T1 自身 16 位外, 扩展 1 字节内存与 T1 共同形成一个 24 位计数器(定时器)。
- 8 -