一种基于单片机的数字频率计的实现

发布者:快乐阳光最新更新时间:2011-12-01 关键字:单片机  数字频率计  测频  译码 手机看文章 扫描二维码
随时随地手机看文章

    在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在教学、科研、测量仪器、工业控制等方面都有较广泛的应用。测量频率的方法有多种,其中电子计数测量频率具有精度高、使用方便、测量迅速,以及便于实现测量自动化等优点,是频率测量的重要手段之一。本设计就是用计数的方法,以单片机AT89C51为控制核心,充分利用其软硬件资源,设计并制作了频率计的计数、显示部分。

1 测频设计原理
    频率计测频原理方框图如图1所示。被测输入信号通过脉冲形成电路进行放大与整形(可由放大器与门电路组成),然后送到单片机入口,单片机计数脉冲的输入个数。计数结果经LED数码管显示,从而得到被测信号频率。

2 元器件选择与使用
2.1 单片机
    选择单片机AT89C51是因为有编程灵活、易调试的特点,而且AT89C51的引脚较多,利于电路的展。它集成了CPU,RAM,ROM,定时器/计数器和多功能I/0口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。其片内集成了4 KB的FLASHPEROM用来存放应用程序,这个FLASH程序存储器除允许一般的编程器离线编程外,还允许在应用系统中实现在线编程,并且还提供了对程序进行三级加密保护的功能。AT89C51的另一个特点是工作速度更高,晶振频率可高达24 MHz,一个机器周期仅为500 ms,比MCS-51系列单片机快了一倍。
    其具体使用方法如下:
    P1.0口与寄存器74LS164的A,B端口连接,串行输出待显示的数据。
    P1.1口接移位寄存器74LS164的CLK(第8引脚),输出时钟信号。
    P1.5,P1.6,P1.7口分别与译码器74LS145的A,B,C端口连接,输出位控制信号。
    P3.5口(即T1)输入脉冲信号。
    XTAL1与XTAL2管脚接两个30 pF电容和12 MHz晶振构成时钟电路。
    RST管脚接1 kΩ,10 kΩ电阻,20 μF电容及复位开关构成开关复位电路。
2.2 显示译码单元
    显示部分采用译码器74LS145与移位寄存器74LS164,主要是考虑了性价比的原因。比如,此处可以采用HARRIS公司推出的ICM7218B共阴极数码管驱动芯片,它集BCD译码器、多路扫描器、段驱动和位驱动于一体。用此驱动可使电路相对简单,显示部分的软件设计也比较简单,但由于其价位相对较高,故采用译码器74LS145与移位寄存器74LS164。
2.3 数字显示单元
    LED显示器采用动态显示方式。显示时将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。译码器74LS145是位选部分,移位寄存器74LS164是段选部分。由于各位的段选线并联,段选码的输出对各位来说都是相同的。同一时刻,如果各位选线都处于选通状态的话,六位的LED将显示相同的字符。要各位LDE能够显示出与本位相应的显示字符,就须采用扫描显示方式。即在同一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字型码,这样同一时刻,六位LED中只有选通的那一位显示出字符,而其他五位则是熄灭的。而在下一刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,在段选线上输出相应位将要显示字符的字符码。
    这样循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其他各位熄灭,但由于人眼有视觉残留现象,只要每位显示间隔足够短,则可造成多位同时亮的效果。

3 硬件设计
    电路原理图如图2所示。以单片机AT89C51为核心,由译码器74LS145与移位寄存器74LS164实现串行输出显示,其中74LS164输出段选信号,74LS145输出位选信号。


   具体连接方法是将P1.0口与寄存器74LS164的A,B端口连接,P1.1口与移位寄存器74LS164的CLK连接,P1.5,P1.6,P1.7口分别与译码器74LS145的A,B,C端口连接,在P3.5口(即T1)输入脉冲信号。
    电路实现的关键是设法取得准确的一秒定时,并让计数器只计数一秒,这样计数结果则为频率值。实现的方法是利用单片机内的16位定时/计数器,用定时器/计数器0作为定时器,实现一秒定时;用定时器/计数器1作为计数器,对输入的脉冲进行计数。当按动开关时,开始定时及计数,时间到停止计数,计数值通过LED显示,得到频率值。再次按动开关又进行定时计数。[page]

4 软件设计
4.1 实现一秒定时
    采用12 MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时/计数器TO作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。
4.2 计数部分
    将定时器/计数器的方式寄存器TMOD,用软件赋初值51H,即01010001B。这时定时器/计数器1采用工作方式1,方式选择位C/T设为1,即设T1为16位计数器。定时器/计数器O采用工作方式1,C/T设为0,即设TO为16位定时器。
    计算计数初值:设计数初值为X,本设计采用12 MHz的晶振。机器周期=12×(1/晶振频率)=12×(1/12×10。)一1×10一。,(2M—X)×1×10—0—50×10_。,X一15 536。
    所以计数初值为15 536,用十六进制表示为3CBOH。
    当定时器/计数器T1设定为计数方式时,其计数脉冲是来源T1端口的外部事件。当T1端口上出现由“1”(高电平)到“0”(低电平)的负跳变脉冲时,计数器则加1计数。计算机是在每个机器周期的S5P2状态时采样T1端口,当前一个机器周期采样为1且后一个机器周期采样为0时,计数器加1计数。计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的1/24。在采用12 MHz晶振的情况下,单片机最大计数速度为0.5 MHz即500 kHz。
    另外,此处对外部事件计数脉冲的占空比(即脉冲的持续宽度)无特殊要求,但必须保证所给出的高电平在其改变之前至少被采样1次,即至少保持1个完整的机器周期。由此可见,从T1口输入脉冲信号,T1可实现对脉冲个数的计数。
4.3 程序流程图
    计时采用定时T0中断完成,其余状态循环调用显示子程序。主程序流程如图3所示。

5 测量结果及误差分析
5.1 测量结果
    给电路加+5 V电压,输入信号,按动开关,即可得到频率值。将所测频率值与示波器测量结果比较,如表1所示。


5.2 误差来源分析
    (1)单片机计数速率的限制引起误差。从表l测量数据可以看出被测信号频率越高,测量误差越大,且所测信号频率不能超过480 kHz。这是因为采用的是12 MHz的晶振,单片机最大计数速度为500 kHz,所以当被测信号越接近500 kHz时,测量结果与实际频率的误差就越大。而当被测信号大于500 kHz时,频率计将测不出信号频率。
    (2)原理上存在±1误差。由于该设计是在计数门限时间一秒内的频率信号脉冲数,所以定时开始时的第一个脉冲和定时时间到时的最后一个脉冲信号是否被记录,存在随机性。这种误差对测量频率低的信号影响较大。其误差原理示意图如图4所示。


    (3)晶振的准确度会影响一秒定时的准确度,从而引起测量结果误差。
5.3 减小误差措施
    (1)选用频率较高和稳定性好的晶振。如选24 kHz的晶振可使测量范围扩大,稳定性好的晶振可以减小误差。
    (2)测量频率低的信号时,可适当调整程序,延长门限时间,减少原理上±1的相对误差。
    (3)测量频率较高的信号时,可先对信号进行分频,再进行测量。

6 结 语
    基于单片机设计的数字频率计具有原理简单、易于调试和测量方便等优点,主要用来测量低频信号的频率。由于其测量范围会受单片机计数速率的限制,其测量量程较小,所以可以从原理上进行改进以提高其测频范围,比如通过增加分频电路,就可实现对高频信号的测量。

 

 

关键字:单片机  数字频率计  测频  译码 引用地址:一种基于单片机的数字频率计的实现

上一篇:基于51单片机SPI器件的串口控制
下一篇:基于51单片机的家电控制系统设计

推荐阅读最新更新时间:2024-03-16 12:47

MAX194在ARM单片机系统中的应用
引言 为了实现计算机的自动测量与控制,越来越多的领域采用了A/D转换技术。随着大规模集成电路芯片技术的发展,速度更快、精度更高、使用更方便的集成电路芯片层出不穷。本文介绍了一种笔者使用后取得良好效果的新型A/D转换芯片—MAX194。另外,由于32位处理器的价格不断下降,用户已可以大量使用,而32位RISC处理器则更是受到青睐,并将在某些领域替代原来的8位单片机。其中,ARM嵌入式微处理器系列处于领先地位。笔者所介绍的数据采集系统中采用的是PHILIPS公司生产的以ARM7处理器作为内核的LPC2104单片机。 1 MAX194简介 MAX194是MAXIM公司推出的一种逐次逼近型模数转换器(ADC),具有高速、高精度
[单片机]
MAX194在ARM<font color='red'>单片机</font>系统中的应用
51单片机应用中5个常见问题总结
本文就51单片机应用中一些常见问题作个总结,这都是我实际碰到过的,因为文章篇幅所限,这些问题远远不足以表达单片机的常见问题。希望对初学者有所帮助,文中不完善的地方务请指点。谢谢! 1:C51编译器如何区分位地址和字节地址 是靠预定义实现的,比如:sfr P0 = 0x80; sbit P0_0 = 0x80;前者声明了P0端口地址位于0x80,后者说明了P0端口的bit0,即P0.0位于位地址空间0x80处。这2个0x80具有完全不同的含义,靠关键字sfr和sbit来区别。这样当程序被编译时,编译器会依此编译成相应的汇编语言。例如: C51语句: P0 = 1; P0声明为sfr,因此编译成:mov 80h,01h,将把0
[单片机]
51<font color='red'>单片机</font>应用中5个常见问题总结
基于单片机的智能照明控制系统设计
随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。本文介绍了基于单片机AT89C51的室内灯光控制系统及其原理,提出了有效的节能控制方法。该系统采用了当今比较成熟的传感技术和计算机控制技术,利用多参数来实现对学校教室室内照明的控制。系统以单片微型计算机为核心外加多种接口电路组成,共有六个主要部分:AT89C51芯片、光信号采集电路、人体信号采集电路、时钟控制电路DS12887、输出控制电路、定时监视器电路。 主控制
[单片机]
基于<font color='red'>单片机</font>的智能照明控制系统设计
巧用单片机进行多气体检测系统设计的实例
气体传感器是一种能将气体种类及其与浓度有关的信息转换成电气信号的装置。根据这些电气信号的强弱就可以获得与待测气体在环境中存在情况有关的信息,从而可以进行检测、监控、报警。 本设计采用酒精传感器、甲烷传感器、一氧化碳传感器等多种气体传感器组成传感器阵列,通过传感器阵列能把气体中的特定成分检测出来,并将其转化为电信号,然后采用ADC0809 将传感器输出的模拟信号转换为数字信号,运用AT89C51 进行数据处理和计算,并通过LED 显示气体种类和浓度信息,实现了对多种气体的识别和检测。 1 硬件电路设计 本设计硬件电路由数据采集、数据转换、数据处理、结果显示和报警等部分组成,涉及的芯片有AD0809 模数转换芯片、AT89C5
[单片机]
巧用<font color='red'>单片机</font>进行多气体检测系统设计的实例
未来汽车芯片趋势 将从MCU转至SoC
福特(Ford Motor)在1983年首次于Escort车系导入16位元英特尔(Intel)微控制器(MCU)为基础的引擎喷射系统,而汽车产业发展至今,市面上许多高阶汽车已搭载超过100个微处理器,而当初的Escort仅搭载1个微处理器。 据Semiconductor Engineering网站报导,汽车内部系统控制所用的电子控制单元(ECU)设计,这些规范都随时间不断演进。福特汽车旗下创新部门全球执行长Jim Buczkowski表示,汽车的基本系统历史悠久,并随着时间全面电子化且整合,像是窗户从手摇式、电动式、演变到今日的智能型窗户。 最早的汽车电子系统各自独立运作,灯光、门锁、传动、防锁死煞车等功能的控制器系统均
[汽车电子]
51单片机外部中断的C51编程
学习到中断这卡壳了,先是理解不了两种触发,现在是自己写查询方式的也不对。可能是心不静,也没好好来想想到底是为啥不行?从网上粘点学习的过来吧!我越来越懒了。 以下来自网址: http://bbs.cepark.com/forum.php?mod=viewthread&tid=35813&page=1 谢谢原创! 相关知识: 1、51单片机的5大中断源:串行口中断、定时中断1、外部中断1、定时中断0、外部中断0; 2、中断源的编号: 串行口中断为4、定时中断1为3、外部中断1为2、定时中断0为1、外部中断0为0; 3、中断源的优先级:按以上顺序排列,串行口中断最低、外部中断0最高; 4、使用外部中断0和1,必
[单片机]
单片机的常见输入输出电路介绍(一)
针时电气控制产品的特点,讨论了几种单片机常用输入/ 输出电路 的设计方法,对合理地设计电气控制系统,提高电路的接口能力,增强系统稳定性和抗干扰能力有实际指导意义。   引 言   传统电气设备采用的各种控制信号,必须转换到与单片机输入/输出口相匹配的数字信号。用户设备须输入到单片机的各种控制信号,如限位开关,操作按钮、选择开关、行程开关以及其他一些传感器输出的开关量等,通过输入电路转换成单片机能够接收和处理的信号。输出电路则应将单片机送出的弱电控制信号转换、放大到现场需要的强输出信号,以驱动功率管、电磁阀和继电器、接触器、电动机等被控制设备的执行元件,能方便实际控制系统使用。   1 输入电路设计   一般输入信号最终会以
[模拟电子]
<font color='red'>单片机</font>的常见输入输出电路介绍(一)
PSD813器件在单片机系统中应用
    摘要: 可编程外围器件PSD813应用于单片机系统后,可大幅度地简化CPU外围电路的设计,减小系统体积,降低功耗,增强系统可靠性。介绍了PSD813系列产品的特点,并结合实例介绍了系统硬件设计以及使用流程。     关键词: 可编程外围芯片(PSD)  在线编程(ISP)  PSDSOFT开发软件     随着单片机系统的广泛应用,其功能不断加强,集成度日益增高。但是,由于在传统的单片机系统设计中必须使用许多分立器件组成单片机的外围电路,诸如地址锁存器、PLD、RAM、EPROM等,因此使得整个系统变得十分复杂、可靠性降低、功耗费用增高。由于各个系统的要求不尽一致,这样在开发每一个单片机系统时都必须
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved