老古开发网首页
导航:老古开发网首页文章索引文章分类单片机→[用单片机设计频率计]
| -文章搜索 - 最新文章 - |

用单片机设计频率计

发布时间:2006年7月4日 点击次数:3594
来源:   作者:
 
实验目标

频率计是我们经常会用到的实验仪器之一,本实验要使用单片机和计数电路及液晶器件来设计一个宽频的频率计。

期望达到10Hz-1.1G范围的频率精确测量。

实验电路图(初步方案)

1) 计数及显示电路:

(点击图片放大)

2)前置放大及分频电路:

那位大侠有好的电路???

设计思路

频率的测量实际上就是在1S时间内对信号进行计数,计数值就是信号频率。用单片机设计频率计通常采用两种办法,1)使用单片机自带的计数器对输入脉冲进行计数,或者测量信号的周期;2)单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取。

由于单片机自带计数器输入时钟的频率通常只能是系统时钟频率的几分之一甚至几十分之一,因此采用单片机的计数器直接测量信号频率就受到了很大的限制。

本实验电路采用方式2,使用一片74LS393四位双二进制计数器和Atmega8的 T1计数器组成了24位计数器,最大计数值为16777215。如果输入信号经过MB501分频器进行64分频后再进行测量,则固定1S时基下最高测量频率为1073.741760Mhz。

为了方便得到准确的1秒钟测量闸门信号,我们使用了Atmega8的异步实时时钟功能,采用32.768Khz的晶振由TC2产生1秒钟的定时信号。

测量原理:

单片机打开测量闸门,即PB1输出高电平,同时TC2定时器启动。74LS393开始对输入脉冲进行计数,74LS393每计数达256时,Atmega8的T1计数器也向上计数1次。当1S定时到达时,单片机产生中断,PB1输出低电平关闭测量闸门,然后Atmega8读取74LS393和T1的计数值,然后送LCD显示。

实验进展

2004-09-27

根据设计思路编写程序初步获得了一些实验结果,如下图所示。下图是测量8M有源晶振的输出结果。

由于1S的测量闸门时间在业余条件下不好测试,因此,实验程序中在LCD上同时显示实时时钟用于判断1S闸门时间的准确性。实验中,我使用CDMA手机上显示的GPS卫星精确时间进行比较。手机时间显示的最小单位是分钟,测量时一旦手机分钟值发生跳变,则立即记录下LCD显示的秒值,这样的话让频率计运行一段时间后,再多次记录下LCD显示的秒,就可以准确判断频率计的异步时钟是否准确。实验过程中,我让频率计走了10个小数左右,测量的1S时钟还是非常准确的。


欢迎进入老古论坛进行讨论
[单片机] 相关文章:
实时多任务操作系统(RTOS)进入单片机开发领域
简介:
1.实时多任务操作系统(RTOS) (1)更加面向硬件系统,而不是操作者 嵌入式系统处理器一般都是独立工作的,没有人的直接参与;即使参与,也没有大量的文字信息输出,这是和桌面计算机有所不同的。因此RTOS着重面向的是硬件,而不是具有完整的人机界面。 (2)实时性 单片机系统的监测、控制、通信等工作都要求实时性,一旦出现有关情况,CPU能够及时响应,刻不容缓。为此,一个实用的RTOS都应具有完善的中断响应机制,保证中断响应潜伏时间足够短。 (3)多任务 半导体技术的发展和应用复杂性的增长促使CPU的处理能力越来越高,当今的一片16位或32位单片机,在运算速度、寻址能力等方面可以相当于8位单片机的......

编程修养
学习AVR(六)CPU中状态寄存器
如何正确选择AD/DA器件
单片机系统中红外通信接口的设计
单片机扩展中断的简便方法
Flash在线烧写实验教程
MCU应用系统调试方法
学习AVR(七)通用寄存器堆
51单片机的13×14点阵缩码汉卡
 
下一个:[单片机][转载]AVR Studio 调试快速入门
简介:
提要:本文介绍 AVR Studio Debug:调试运行方式及QuickWatch实时查看变量的数值。 以下的degug方式,英文版来自 AVR Studio 4. 为达到准确理解的效果,我试图将它翻译出来。如有不准确的地方,请大家指正: Auto Step 自动执行 它能重复执行指令。如果当前处于 source 方式时(即C语言窗口显示方式),一条的指令会被执行。如果处理 disassembly 方式 (即显示为汇编指令方式),一条汇编指令会被执行。每条指仅被执行后,窗口的所有信息会更新。 每条指令的执行延时,可以在 debug option 里选择。 当用户按下停止或有......
 

上一个:[单片机]MCU系统低功耗设计问题

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:否 执行时间:16毫秒