目录1功能分析与设计目标 (1)2 频率计的硬件电路设计 (3)2.1 控制、计数电路 (3)2.2 译码显示电路 (5)3 频率计的软件设计与调试 (6)3.1 软件设计介绍 (6)3.2 程序框图 (8)3.3 功能实现具体过程 (8)3.4 测试数据处理,图表及现象描述 (10)4 讨论 (11)5 心得与建议 (12)6 附录 (13)1功能分析与设计目标背景:在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
为了实现智能化的计数测频,实现一个宽领域、高精度的频率计,一种有效的方法是将单片机用于频率计的设计当中。
用单片机来做控制电路的数字频率计测量频率精度高,测量频率的范围得到很大的提高。
题目要求:用两种方法检测(Δm ,ΔT )要求显示单位时间的脉冲数或一个脉冲的周期。
设计分析:电子计数式的测频方法主要有以下几种:脉冲数定时测频法(M法),脉冲周期测频法(T法),脉冲数倍频测频法(AM法),脉冲数分频测频法(AT法),脉冲平均周期测频法(M/T法),多周期同步测频法。
下面是几种方案的具体方法介绍。
脉冲数定时测频法(M法):此法是记录在确定时间Tc内待测信号的脉冲个数Mx,则待测频率为:Fx=Mx/ Tc脉冲周期测频法(T法):此法是在待测信号的一个周期Tx内,记录标准频率信号变化次数Mo。
这种方法测出的频率是:Fx=Mo/Tx脉冲数倍频测频法(AM法):此法是为克服M法在低频测量时精度不高的缺陷发展起来的。
通过A倍频,把待测信号频率放大A倍,以提高测量精度。
其待测频率为:Fx=Mx/A To脉冲数分频测频法(AT法):此法是为了提高T法高频测量时的精度形成的。
由于T法测量时要求待测信号的周期不能太短,所以可通过A分频使待测信号的周期扩大A倍,所测频率为:Fx=AMo/Tx脉冲平均周期测频法(M/T法):此法是在闸门时间Tc内,同时用两个计数器分别记录待测信号的脉冲数Mx和标准信号的脉冲数Mo。
若标准信号的频率为Fo,则待测信号频率为:Fx=FoMx/Mo多周期同步测频法:是由闸门时间Tc与同步门控时间Td共同控制计数器计数的一种测量方法,待测信号频率与M/T法相同。
以上几种方法各有其优缺点:脉冲数定时测频法,时间Tc为准确值,测量的精度主要取决于计数Mx的误差。
其特点在于:测量方法简单,测量精度与待测信号频率和门控时间有关,当待测信号频率较低时,误差较大。
脉冲周期测频法,此法的特点是低频检测时精度高,但当高频检测时误差较大。
脉冲数倍频测频法,其特点是待测信号脉冲间隔减小,间隔误差降低;精度比M法高A倍,但控制电路较复杂。
脉冲数分频测频法,其特点是高频测量精度比T法高A倍,但控制电路也较复杂。
脉冲平均周期测频法,此法在测高频时精度较高,但在测低频信号时精度较低。
多周期同步测频法,此法的优点是,闸门时间与被测信号同步,消除了对被测信号计数产生的±1个字误差,测量精度大大提高,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。
功能描述:由于水平有限,本次设计采用相对简单的M法和T法两种方法测量简单方波的频率或脉宽(由于是输入简单方波信号,省去了被测输入信号通过脉冲形成电路进行放大与整形这个步骤)。
利用AT89C51单片机的T0、T1的定时计数器功能,来完成对输入的信号进行频率计数或脉宽计时,计数(计时)的频率结果通过5位八段LED数码管显示器显示出来。
设计指标:M 法由于T0、T1对外部脉冲信号的最高计数频率为振荡频率的1/24,而振荡频率为12MHz ,得M 法最高计数频率为500KHz ,而本设计设定最高计数频率即为500KHz 。
误差要求尽量小。
T 法仅设定能测的外部脉宽范围为65536×20us ,以使定时计数器在不产生溢出中断的情况下进行测量。
本设计的频率测量误差要求尽量小,实践证明误差控制在1/100范围内。
2 频率计的硬件电路设计原理介绍图2-1 数字式频率计原理框图由上图可以看出,待测信号经过放大整形电路后得到一个待测信号的脉冲信号,然后通过计数器计数,可得到需要的频率值,最后送入译码显示电路中显示出来。
但是控制部分相对重要,它在整个系统的运行中起至关重要的作用。
本设计控制电路和计数器电路以A T89C51为核心,译码显示电路采用单片机静态显示计数来显示,采用5位七段LED 数码管显示器。
下面分节介绍各部分硬件电路: 放大整形电路 控制门电路计数器电路 译码显示电路待测信号2.1 控制、计数电路单片机作为控制系统和计数器,是本次设计的最重要的部分,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
所以本次设计采用AT89C51单片机。
89C51单片机, 它提供下列标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,,一个5中断源两个优先级的中断结构,一个双工的串行口,片上震荡器和时钟电路。
其引脚说明如下:引脚说明:·VCC:电源电压。
·GND:接地。
·P0口:P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。
当对0端口写入1时,可以作为高阻抗输入端使用。
当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。
在这种模式下,P0口具有内部上拉电阻。
在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。
程序校验时需要外接上拉电阻。
·P0口:P0口是一带有内部上拉电阻的8位双向I/O口。
P0口的输出缓冲能接受或输出4个TTL逻辑门电路。
当对P0口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。
当作为输入端使用时,P0口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。
·P1口:P2是一带有内部上拉电阻的8位双向的I/O端口。
P1口的输出缓冲能驱动4个TTL逻辑门电路。
当向P1口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX @DPTR)时,P2口送出高8位地址数据。
在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。
当利用8位地址线访问外部数据存储器时(例MOVX @R1),P2口输出特殊功能寄存器的内容。
当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。
·P3口:P3是一带有内部上拉电阻的8位双向的I/O端口。
P3口的输出缓冲能驱动4个TTL逻辑门电路。
当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。
作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。
P3口同时具有A T89C51的多种特殊功能,P3.0的第二功能是串行输入口RXD,P3.1的第二功能是串行输出口TXD,P3.2的第二功能是外部中断0,P3.3的第二功能是外部中断1,P3.4的第二功能是定时器T0,P3.5的第二功能是定时器T1,P3.6的第二功能是外部数据存储器写选通/WR,P3.7的第二功能是外部数据存储器读选通/RD。
M法主要使用管脚为P3.0、P3.1以及P3.5。
其具体使用方法如下:P3..0口与寄存器74LS164的A,B端口连接,串行输出待显示的数据。
P3.1口接移位寄存器74LS164的CLK(第8引脚),输出同步时钟信号。
P3.5口(即T1)输入脉冲信号。
T法主要使用管脚为P2.0、P3.0、P3.1以及P3.3。
其具体使用方法如下:P2.0口接开关用于控制何时输出显示脉宽时间。
P3..0口与寄存器74LS164的A,B端口连接,串行输出待显示的数据。
P3.1口接移位寄存器74LS164的CLK(第8引脚),输出同步时钟信号。
P3.5口(即T1)输入脉冲信号。
2.2 译码显示电路显示电路采用静态显示方式。
频率测量结果经过译码,通过89C51 的串行口送出。
串行口工作于模式0 ,即同步移位寄存器方式。
这时从89C51 的RXD(P3.0) 输出数据,送至串入并出移位寄存器74164 的数据输入口A 和B ;从TXD( P3.1) 输出时钟,送至74164 的时钟输入口CP。
74164 将串行数据转换成并行数据,进行锁存。
74164 输出的8 位并行数据送至8 段L ED ,实现测量数据的显示。
使用这种方法主程序可不必扫描显示器,从而单片机可以进行下一次测量。
这种方法也便于对显示位数进行扩展。
7段LED3 频率计的软件设计与调试3.1 软件设计介绍本设计过程使用到的软件有:W AVE 软件模拟器,keil uVision2,protuse 。
软件设计过程:在keil uVision2中输入所编程序 ,保存为以.c 为后缀的文件,新建项目,加入刚保存的文件,编译,调试到程序编译不显示错误。
在option for target 项中output 中选中 creat hex files ,重新编译程序,软件生成以.hex 为后缀的文件。
在protuse 软件中画出所设计的电路模拟图,加载入前面生成的以. Hex 为后缀的文件,运行,观察,调试数码管显示的数值,并与设置的输入信号频率作比较,调试,分析误差产生原因,改进程序与电路图。
使用伟福软件编译所设计的c 程序,调试到正确无误。
并最终通过硬件来验证所设计的频率计是否达到先前设定的设计指标。
图示:74LS164并行输出 串行输入Keil软件程序设计Protuse软件模拟Protuse是数字电路模拟常用的工具,方便易用,如图是工作窗口:3.2 程序框图M 法:注:以上两流程图均只表示出程序设计的简单流程,并且只表示出处理一次测量的过程,多次测量重复以上步骤即可。
具体细节或某些中间变量的赋值和对程序流程的影响详细见程序注释。
3.3 功能实现具体过程M 法具体过程:T0定时50ms ,T1对方波的计数,数值串行输出和静态显示三大部分内容,此外还要附加延时程序以使静态显示数值稳定等。