基于单片机的数字频率计及信号发生器

2012-03-15 07:46浙江大学电气工程学院
电子世界 2012年14期
关键词:方波数码管计数器

浙江大学电气工程学院 夏 禹

设计一个低频光控/手动非正弦信号发生器,用稳压电源提供的和电源供电,实现光控方波(方波信号幅度符合逻辑电平规范)与三角波信号的频率控制和显示输出。该系统主要由光控器件、非正弦信号发生电路、信号周期检测电路和周期显示电路等四个部分组成。波形发生电路可在光控两种方式之间切换,当用手控方式时,输出信号的新能指标要求与光控时一致。

光控器件对所处环境的光照强度进行检测,并且根据光的强弱控制非正弦信号发生电路产生不同频率的方波、三角波信号输出。与此同时,信号周期检测电路对输出信号(可以为外接的正弦或非正弦信号)的周期进行检测,并通过显示器将检测结果显示出来。

一、方案论证

1.系统框图

本系统是以AT89C2051为核心,由方波三角波发生电路、波形整形电路、CPU电路、显示电路和系统软件所组成。方波三角波发生电路用于产生所要求的方波和三角波,其中信号的频率可以又光敏电阻或者电位器控制;波形整形电路将方波三角波发生电路产生的信号或者外接信号(包括方波、三角波、正弦波)转换为单片机可以接受的CMOS方波信号。CPU用Atmel公司的AT89C2051芯片。显示电路由数码管、三极管等组成。

2.波形发生电路

由三角波、方波发生器产生三角波和方波信号,其中三角波输出经过比较器产生方波该电路方式是本系统信号产生部分采用的方案。这种电路在一定的频率范围内,具有良好的三角波和方波信号。

3.波形整形电路

方案中使用LM311作为运放,可以不需要稳压管和之后的三级管电路而直接输出标准的5VCMOS电平,这样做可以减少连线以及元件带来的干扰和其他不稳定因素。

4.主控电路

单片机控制模块:以AT89C2051单片机为控制核心,来完成它待测信号的计数,译码,和显示以及对分频比的控制。利用其内部的定时/计数器完成待测信号周期/频率的测量。单片机AT89C2051内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。(因为AT89C51所需外围元件少,扩展性强,测试准确度高。)如图1。

图1

5.周期频率测量原理

计数法测频的原理是“在单位时间内对被测信号进行计数”。被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入单片机计数。若在一定的时间间隔T内累计周期性的重复变化次数N,则频率的表达式为式:

应当指出,测量频率时所产生的误差是由N和T俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。上述表明,在频率测量时,被测信号频率越高,测量精度越高。

本系统中采用计数法测率,通过软件实现将频率转换为周期,以AT89C2051单片机为核心,利用他内部的定时/计数器完成待测信号周期/频率的测量。单片机AT89C2051内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在1s时间间隔内,计数器对外部输入信号自动计数,当定时器1s时间结束时,计数器停止对外部输入信号计数,从寄存器中读取相应的计数值,再通过软件处理送到数码管显示,如图2所示。

图2

6.显示模块

在周期频率测量中,显示是最重要的模块。显示模块由频率值显示电路和量程转换指示电路组成。频率值显示电路采用四位共阳极数码管动态显示频率计被测数值,使用三极管9012进行驱动,使数码管亮度变亮,便于观察测量。量程转换指示电路由红、绿两个LED分别指示Hz、KHz档,使读数简单可观。

本系统中采用三位共阳极数码管来显示测到的周期或频率。LED数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。在一定范围内,其正向电流与发光亮度成正比。由于常规的数码管起辉电流只有1~2mA,最大极限电流也只有10~30mA,所以它的输入端在5V电源或高于TTL高电平(3.5V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。

二、系统硬件电路设计

1.单片机AT89C2051简介

本设计采用的是AT89C2051芯片,AT89C2051是ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有2K字节可反复擦写的只读存储器(PEROM)和128字节的随机存取数据存储器(RAM)。该单片机采用ATMEL公司的高密度、非易失性存储技术,并且兼容标准的MCS-51指令,片内含有通用8位中央处理器的快速集成电路芯片,AT89C2051是一种功能强大的单片机,它有很高的性价比而被广泛深入的应用。

2.单片机最小系统

复位电路和时钟电路是维持单片机最小系统运行的基本模块。有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。所以本次设计选用手动复位。

高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能。但是告诉对系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适的频率即可。合适频率的晶振对于选频信号强度准确度都有好处,本次设计选取12.000M无源晶振接入XTAL1和XTAL2引脚。并联2个20pF陶瓷电容帮助起振。

3.数码管显示模块

数码管电路设计不加三极管驱动时,数码管显示数值看不清,不便于频率值的测量与调试。因此加入三极管9012进行驱动数码管。

在本系统中采用黄、绿两个LED分别指示KHz、Hz档,根据被测信号的频率值大小,可以自动切换量程单位,无需手动切换,便于测量和读数,简单方便。

三、软件设计

系统软件设计采用模块化设计方法。整个系统由初始化模块、显示模块和信号频率测量模块等各种功能模块组成。上电后,进入系统初始化模块,系统软件开始运行。在执行过程中,根据运行流程分别调用各个功能模块完成频率测量、周期频率切换、测量结果显示。

显示子程序将存放在显示缓冲区的频率或周期值送往数码管上显示出来,由于所有3位数码管的8根段选线并联在一起由单片机的P7口控制,因此,在每一瞬间3位数码管会显示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一瞬间只点亮某一位显示字符,在此瞬间,段选控制口P3输出相应字符。由P3.2、P3.4、P3.7逐位轮流点亮各个数码管,每位保持1mS,在10mS-20mS之内再点亮一次,重复不止,利用人的视角暂留,好像3位数码管同时点亮。

四、完整电路图

五、结论

频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。单片机具有功能强、体积小、可靠性高、价格低廉等特点。为适应实际工作的需要,本次设计给出了一种较小规模和单片机(AT89C2051)相结合的频率计的设计方案,不但切实可行,而且体积小、设计简单、成本低、可测频带宽,大大降低了设计成本和实现复杂度。

[1]张志良等.单片机原理与控制技术[M].北京:机械工业出版社,2006.

[2]孙育才.MCS-51系列单片微型计算机及其应用第四版[M].南京:东南大学出版社,2007:194-204.

[3]康华光,陈大钦,张林.电子技术基础模拟部分(第五版)[M].北京:高等教育出版社,2006:262-280.

猜你喜欢
方波数码管计数器
便携式多功能频率计的设计与实现
采用虚拟计数器的电子式膜式燃气表
微课教学设计之“数码管动态显示”
Arduino编程
测绘技术在土地资源管理中的应用
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
碳纳米管方波电沉积铂催化剂的制备及其催化性能研究
计数器竞争冒险及其处理的仿真分析
基于方波脉冲电压绝缘寿命实验的漏电流检测