摘 要
:
为了能够精确测量频率等参数
,
提出了一种基于单片机的数字频率计的设计方法
,
以
AT89S51
单片机作为系统的主控芯片
,
待测信号经过放大整形电路和分频后
,
输入到单片机中进行采样测量,
最后通过显示和存储电路将结果显示并存储起来
,
可以测量待测信号的频率
、
周期
、
脉冲宽度和占空比等参数。
并基于
Multisim
仿真软件设计了仿真电路
,
结合
keil
软件进行了软硬联调
,
结果表明该电路能精确的测量待测信号的各种参数,
频率测量误差低于
0.05%
,
测量范围为
1 Hz~1 MHz
,
仿真效果良好。
关键词
:
频率计
;
单片机
;
Multisim
;
仿真
频率作为电子电工学里非常重要的一个参数
,是对电压、
电流和电阻等参数的补充
。
同时由于频率信号抗干扰能力强,
且易获得较高的测量精度
,
所以在实际应用中可以把大量的待测量先由传感器转换为脉冲信号,
然后通过测量频率的方法
,
最后经过一定的计算处理来实现。
传统的频率计大多由组合逻辑电路和时序逻辑
电路所构成
,
结构复杂
,
测量精度低
,
应用范围有限
。
一种基于单片机和
FPGA
的等精度频率计的设计方法,
具有测量速度快
,
范围宽
,
可靠性高等优点,
但成本较高
,
不利于推广
。
为此
,
设计了一种基于 51
单片机的数字频率计
,
采用定时和计数的方法测量频率,
并设计了相应的单片机程序
。
1 硬件电路设计
设计的数字频率计的电路框图如图
1
所示
,
主要包括以下 5
个组成部分
:
放大与整形电路
、
分频电路、
单片机主控电路
、
显示及存储电路和电源电路
。

1.1 放大与整形电路
放大与整形电路示意图如图
2
所示。 待测信号
首先通过高精度大带宽运算放大器
OPA690
进行放
大
,
采用同相比例的接法
,
可以通过调整电阻大小来改变电路的放大倍数。
放大后的信号再利用高速精密 电 压 比 较 器 AD8561
进 行 整 形
,
AD8561
是 美 国AD 公司生产的低功耗
7 ns
精密比较器
,
具有单独的输入和输出部分,
非常适合于信号整形电路
。
经过放大整形电路后,
待测信号会变为幅度适中
、
频率相等的方波信号,
以便后端单片机进行处理
。

1.2 分频电路
放大与整形电路输出的方波信号若为高频信号,
则需经过分频电路之后
,
才能送入到单片机中再进行测量
。
分频电路如图
3
所示
,
核心器件为
12
位二进制串行计数/
分频器
CD4040
,
所有计数器均为主从触发器,
计数器在时钟下降沿进行计数
,
CR
为高电平时,
对计数器进行清零
,
它有
12
个分频输出端,
最小可得
2
(
2
1
)
分频
,
最大可得
4 096
(
2
12
)
分频
,完全满足电路的需求。

分频后的信号再通过
8
选
1
数 据 选 择 器74LS151,
利用单片机控制地址码来选择分频系数
,由于 CD4040
低位分频系数过小
,
仅选择高八位作为 74LS151
的数据输入
,
从数据选择器输出的信号可直接送入单片机进行测量。
1.3 其他电路
单片机主控电路的核心器件为
AT89S51
,
是低功耗、
高性能的
8
位单片机
[6]
,
采用了
CMOS
工艺和ATMEL 公 司 高 密 度
NVRAM
(
非易失性随机存储器),
片内带有一个
4KB
的
FLASH FPROM
,
兼容标准 8051
指令系统及引脚
,
集成
FLASH
程序存储器
,既可在线编程(
ISP
),
也可以用传统方法进行编程
,具有集成度高、
系统简单
、
价格便宜等优点
。经过放大整形和分频电路后的待测信号,
输入到 AT89S51
的外部中断端
,
由单片机内部定时器测量数据并输出到显示及存储电路中。
显示及存储电路用来显示单片机测量出来的频率,
并可以把数据保存下来。
2 基于 Multisim 的仿真系统的设计
Multisim
仿真软件是由加拿大
Interactive Image Technologies 公司开发的一种基于
SPICE
工业标准的 EDA
软件
,
它的元件库提供了数千种电路元器件供实验选用,
虚拟测试仪器仪表种类齐全
,
可以对模拟、
数字和模拟
/
数字混合电路进行仿真
,
具有界面形象、
易学易用
、
采用图形方式创建电路等特点
。
2.1 仿真系统电路设计
打开
Multisim
软件
,
点击文件
—
新建
—
设计
,
然后根据需要设计 Multisim
仿真电路
,
并采用
keil
软件进行软硬联调。
设计好的单片机仿真电路如图
4所示,
仿真电路采用
AT89S51
单片机做为 主 控 芯片,
分频电路的输出信号从单片机的外部中断
0
端输入,
开启内部定时器
,
在一定的时间内由外部中断0检测方波信号的下降沿的数目
,
从而测量出待测信号的频率。
占空比和脉冲宽度的测量可以通过单片机内部的定时器来实现,
采用定时器记录待测信号一个周期内上升沿和下降沿的时刻,
然后再使用各种运算将占空比和脉冲宽度计算出来
。

仿真电路设计完成后将编写好的
keil C51
程序导入到 Multisim
软件中
,
即可在 Schematic Capture
环境下点击
Run
按键
,
观察电路仿真结果,
或者也可以利用
MCU Module
全面的高级调试功能,
详细了解仿真过程中程序的运行情况
。
2.2 软件设计
单片机控制程序流程图如图
5
所示
,
单片机上电后,
系统进行初始化
,
首先由单片机判断待测信号是否是方波信号,
若不是方波信号
,
则进入到整形电路中将其他类型的信号转换为方波信号,
再进行测量;
若为方波信号
,
则直接送入到频率测量模块
。
在频率测量模块中,
由单片机判断输入信号频率的高低,
从而自动选择合适的分频系数来实现对待测信号的分频处理,
最后将测量结果送
LCD
显示输出
。一次测量结束之后,
程序不断循环
,
持续判断
,若带测信号频率发生变化,
则
LCD
显示器的显示的结果也随之变化,
从而达到动态检测待测信号各项电参数的功能。
2.3 仿真结果
数字频率计的最终测试结果如表
1
所示
,
可以看出在各种不同信号类型和频段的情况下,
对频率
、周期和占空比的测量误差均不高于 0.05%
,
实现了设计目标。

3 结束语
利用
Multisim
作为仿真平台
,
基于
AT89C51
单片机设计的数字频率计,
能够测量不同类型的信号
,实现频率、
周期
、
脉冲宽度和占空比等参数的测量
,精度能够达到预期的要求,
采用
LCD
显示各个测量出来的参数,
且设计有存储电路
,
可将数据批量存储
起来
,
具有体积小
、
结构简单
、
成本低
、性能高等特人的稳定性也具有一定程度的提高,
所设计的水下机器人控制器具有一定的实用性。