简易频率计的设计已修改_第1页
简易频率计的设计已修改_第2页
简易频率计的设计已修改_第3页
简易频率计的设计已修改_第4页
简易频率计的设计已修改_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简易频率计的设计中 文 摘 要频率测量是电子学测量中最为基本的测量之一。频率计主要是由信号输入和放大电路、单片机模块、及显示电路以及通过串口和PC机通信模块组成。STC89S52单片机是频率计的控制核心,来完成它待测信号的计数,译码,显示以及通过串口和PC机通信。利用它内部的定时/计数器完成待测信号频率的测量。在整个设计过程中,所制作的频率计采用外部计数,实现160KHz,峰峰值在110V的频率测量。以STC89S52单片机为核心,通过单片机内部定时/计数器的门控时间,方便对频率计的测量。其待测频率值使用五位共阴极数码管显示。本次采用单片机技术设计一种数字显示的频率计,具有测量准确度高,响应速

2、度快,体积小等优点。关键词:频率计;单片机;计数器;RS232前言频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。1.1频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计

3、。传统的频率计采用测频法测量频率,通常由组合电路和时序电路等大量的硬件电路组成,产品不但体积大,运行速度慢而且测量低频信号不准确。本次采用单片机技术设计一种数字显示的频率计,测量准确度高,响应速度快,体积小等优点1。1.2频率计发展与应用在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事件。单片机作为最为典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。单片机已成为电子系统的中最普遍的应用。单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快,它已成为在现代电子技术、计算机应用、网络、通信、自动控制与计量测试、数据采集与信号处理等技术中日益普及的一项新兴技术,

4、应用范围十分广泛。其中以STC89C52为内核的单片机系列目前在世界上生产量最大,派生产品最多,基本可以满足大多数用户的需要。1.3频率计设计内容1被测信号为周期性信号(包括正弦波、方波、三角波等),频率范围为160KHz,峰峰值在110V范围内。2设置“开始/停止”和“工作模式”开关。工作模式分为测量外接信号和系统自测两种模式,在测量外接信号模式下,测量外接信号频率;在系统自测模式下,测量1KHz测试信号的频率。3系统处于工作状态时,数码管实时显示测量信号频率值,每隔1秒向PC机发送频率数据,频率数据为ASCII码,单位为Hz。 通过开始/停止键控制系统。2.1测频的原理测频的原理归结成一句

5、话,就是“在单位时间内对被测信号进行计数”。被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端。通过单片机的定时器T2通道产生1秒的定时。将经过调理电路处理后的被测信号通过定时/计数器输入端T0送给,若在一定的时间间隔T内累计周期性的重复变化次数N,则频率的表达式为式: (1)图1说明了测频的原理及误差产生的原因。时基信号 待测信号 丢失(少计一个脉冲) 计到N个脉冲 多余(比实际多出了0.x个脉冲)图1 测频原理在图1中,假设时基信号为1KHZ,则用此法测得的待测信号为1KHZ×5=5KHZ。但从图中可以看出,待测信号应该在5.5KHZ左右,误差

6、约有0.5/5.59.1%。这个误差是比较大的,实际上,测量的脉冲个数的误差会在±1之间。假设所测得的脉冲个数为N,则所测频率的误差最大为=1(N-1)*100%。显然,减小误差的方法,就是增大N。本频率计要求测频误差在1以下,则N应大于1000。通过计算,对1KHZ以下的信号用测频法,反应的时间长于或等于10S,。由此可以得出一个初步结论:测频法适合于测高频信号。频率计数器严格地按照公式进行测频4。由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的量化误差,在不计其他误差影响的情况下,测量精度将为: 应当指出,测量频率时所产生的误差是由N和T俩个参数所决

7、定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。上述表明,在频率测量时,被测信号频率越高,测量精度越高。2.2总体思路频率计是我们经常会用到的实验仪器之一,频率的测量实际上就是在单位时间内对信号进行计数,计数值就是信号频率。本文介绍了一种基于单片机STC89C52 制作的频率计的设计方法,我们采用单片机直接计数,不进行外部分频。该频率计实现1HZ60KHZ的频率测量,五位共阴极动态显示测量结果,同

8、时可以通过RS232实现和PC机串行通信。即每秒向上位机发送一次频率值。可以测量正弦波、三角波及方波等各种波形的频率值。2.3具体模块根据上述系统分析,频率计系统设计共包括五大模块:单片机控制模块、电源模块、放大整形模块、串口通信及显示模块。各模块作用如下:1、单片机控制模块:以STC89C52单片机为控制核心,来完成它待测信号的计数,译码,和显示以及对串口通信的控制。利用其内部的定时计数器完成待测信号周期频率的测量。单片机STC89C52内部具有3个16位定时计数器,定时计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。(因为STC89C52所需外围元件少,扩展性强,测试

9、准确度高。)2、电源模块:为整个系统提供合适又稳定的电源,主要为单片机、信号调理电路以及串口通信电路提供电源,电压要求稳定、噪声小及性价高的电源。3、放大整形模块:放大电路是对待测信号的放大,降低对待测信号幅度的要求。整形电路是对一些不是方波的待测信号转化成方波信号,便于测量。4、串口通信模块:该模块利用MAX232电平转换芯片实现TTL电平和232电平的转换。通过单片机的RX,TX引脚与上位机通信实现每秒向PC机发送一次实测频率值。5、显示模块:显示电路采用五位共阴极数码管动态显示,为了加大数码管的亮度,使用74HC573作为锁存器,74HC138作为译码器,便于观测。综合以上频率计系统设计

10、有单片机控制模块、电源模块、放大整形模块、串口通信模块及显示模块等组成,频率计的总体设计框图如图2所示。 图2 频率计总体设计框图硬件电路具体设计3.1 复位电路及时钟电路复位电路和时钟电路是维持单片机最小系统运行的基本模块。复位电路通常分为两种:上电复位(图4)和手动复位(图5)。 图4 上电复位 有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。所以本次设计选用手动复位。高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能6。但是告诉对系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适

11、的频率即可。合适频率的晶振对于选频信号强度准确度都有好处,本次设计选取12.000M无源晶振接入XTAL1和XTAL2引脚。并联2个30pF陶瓷电容帮助起振。STC89C52单片机最小系统如图6所示。图6 单片机最小系统原理图3.2信号调理模块由于输入的信号可以是正弦波,三角波。而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。在整形之前由于不清楚被测信号的强弱的情况。所以在通过整形之前通过放大衰减处理。当输入信号电压幅度较大时,通过输入衰减电路将电压幅度降低。当输入信号电压幅度较小时,前级输入衰减为零时若不能驱

12、动后面的整形电路,则调节输入放大的增益,时被测信号得以放大。根据上述分析,放大电路放大整形电路采用OP27与74LS14N等组成。其中组成放大器将输入频率为fx的周期信号如正弦波、三角波及方波等波形进行放大。与非门74LS14N构成施密特触发器,它对放大器的输出波形信号进行整形,使之成为矩形脉冲11。具体放大整形电路如图11所示。 3.3显示模块:显示电路采用五位共阴极数码管动态显示,为了加大数码管的亮度,使用74HC573作为锁存器,74HC138作为译码器,便于观测。3.4 串口通信模块:该模块利用MAX232电平转换芯片实现TTL电平和232电平的转换。通过单片机的RX,TX引脚与上位机

13、通信实现每秒向PC机发送一次实测频率值。串口通信电路图3.5 1KHz方波发生电路:利用74HC14N施密特触发器,通过电阻电容的充放电触发输入端,使其输出端产生幅值为4.97V,频率为1KHz的方波。系统的软件设计4.1 软件模块设计系统软件设计采用模块化设计方法。整个系统由初始化模块,信号频率测量模块,串口通信和显示模块等模块组成。系统软件流程如图19所示。频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时计数器的工作方式。定时计数器的工作首先被设置为计数器方式,即用来测量信号频率15。开始系统初始化频率测量计数器计

14、数测量频率测量数据显示RS232串口通信软件整体流程图首先定时计数器的计数寄存器清0,运行控制位TR置1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值(即测量频率的高量程)开始测量,计数闸门结束时TR清0,停止计数。计数寄存器中的数值经过数制转换程序从十六进制数转换为十进制数。定时计数器的工作被设置为定时器方式,定时计数器的计数寄存器清0,在判断待测信号的上跳沿到来后,运行控制位TR置为1,以单片机工作周期为单位进行计数,直至信号的下跳沿到来,运行控制位TR清0,停止计数。16位定时计数器的最高计数值为65535,当待测信号的频率较低时,定时计数器可以对被测信号直接计数

15、,4.2 中断服务子程序T0中断服务子程序流程如图20所示。测频时,定时器T2 工作在定时方式,每次定时50mS ,则T2 中断20 次正好为1秒,即T0用来产生标准秒信号,定时器T0 用作计数器,对待测信号计数,每秒钟的开始启动T2,每秒钟的结束关闭T2 ,则定时器T2 之值就为待测信号的频率。T0中断服务子程序定时计数器T1工作在计数方式, 对信号进行计数,计数器1中断流程图如图21所示。计数器1中断服务子程序4.3 显示及串口通信子程序显示子程序将存放在显示缓冲区的频率或周期值送往数码管上显示出来,由于所有4 位数码管的8 根段选线并联在一起由单片机的P2口 控制,因此,在每一瞬间4位数

16、码管会显示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一瞬间只点亮某一位显示字符,在此瞬间,段选控制口P0输出相应字符。由P2.0-P2.4逐位轮流点亮各个数码管, 每位保持1mS ,在10mS20mS 之内再点亮一次,重复不止,利用人的视角暂留,好像5 位数码管同时点亮。数码管显示子程序流程如图22所示。每秒钟通过单片机的TX引脚发送一次频率值通过MAX232转换送到上位机显示。开始数据各位分离延时结束送数据显示显示及串口通信子程序5.1 硬件调试5.1.1整形模块调试硬件电路图如下整形电路采用与非门74LS14N构成施密特触发器,它对正弦波、三角波等各种波

17、形信号进行整形,使之成为矩形脉冲。整形电路在Multisim10中进行电路的仿真与调试,在Multisim10绘制的整形电路下图所示。选择虚拟函数发生器输入不同的信号,同时使用数字示波器测的输出波形,经测试施密特触发器可以把正弦波等波形整形为方波信号,仿真结果如图所示5.1.2显示调试 通过调节显示子程序的时间可以看到当延时时间太长时数码管一个一个的点亮,当减小延时时间到2ms左右,数码管能够全亮且亮度适中。实测结果如下。5.1.3串口调试每秒钟通过单片机的TX引脚发送一次频率值通过MAX232转换送到上位机显示。实测结果图如下5.2 软件调试5.2.1软件调试根据系统设计要求,不断调试程序,

18、直到符合功能要求。ALTISIM DESIGNER 总体仿真图29所示。5.3系统调试5.3.1 系统软件调试经软件的调试修改再调试,如此反复,排除各种故障最终基本完成了设计所要求的任务。由单片机内部定时器计数器构成基本测量电路,外加整形,由系统软件设计可以测出1HZ-60kHZ的量程范围,使用的动态显示测量时会出现闪烁现象,但显示数值准确,稳定时显示不闪烁。 5.3.2 系统软硬件调试软件系统测试只能测试方波信号,外加硬件整形电路,可以测试正弦波、三角波等各种波形的频率值,把各模块组合在一起,做成完整的频率计,实物图如下图所示。经过不断的软硬件联合调试,修改程序和硬件,最终符合设计功能要求。

19、表9:数据记录表待测值100100010k20k30k40k60k测量值10010009.999k19.998k29.996k39.996k59.992k附录源程序如下#include <reg52.h>#include <intrins.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned int sbit conta=P14;sbit contb=P15;sbit key1=P12;sbit key2=P13;uchar flag,wan,qian,bai,shi,ge,

20、t1,th1,th2,fs;uint M;uint vale;unsigned char const dofly=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/毫秒延时程序delay(uint xms)uint i,j;for(i=0;i<xms;i+)for(j=0;j<110;j+);/定时器T0初始化void T0init()TMOD=0x25;/定时器T1工作在8位初值自动重装模式,T0工作在计数模式TH0=0;TL0=0;TR0=1;/定时器T2初始化voi

21、d TIM2Inital(void) RCAP2H = (65536-46050)/256;/晶振12M 10ms 16bit 自动重载 RCAP2L = (65536-46050)%256; ET2=1; /打开定时器中断 EA=1; /打开总中断 TR2=1; /打开定时器开关/串行口初始化void initchuangkou()SCON=0x50;TH1=0xfd;TL1=0xfd;TR1=1;ES=1;/数码管显示程序void display()P0=doflywan;P2=0;delay(2);P0=doflyqian;P2=1;delay(2);P0=doflybai;P2=2;delay(2);P0=doflyshi;P2=3;delay(2);P0=doflyge;P2=4;delay(2);void TIM2(void) interrupt 5 using 1/定时器2中断 TF2=0;/a=a;flag+;if(flag=20) /定时时间1STR2=0;TR0=0;M=1; /定时1S串口发送一次频率值 /键盘扫描函数void scan_key()if

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论