基于AT89C51单片机嵌入式频率计的设计
- 格式:doc
- 大小:79.00 KB
- 文档页数:8
基于AT89C51单片机的量程自切换频率计孔令荣【摘要】量程自切换频率计采用AT89C51单片机控制,主要由信号放大整形电路,单片机控制电路,分频电路,信号显示电路以及电源电路五个模块组成。
本文阐述了系统的硬件组成及工作原理,论证了设计方案的可行性。
系统程序采用C语言编写,经Keil软件进行调试后在Proteus软件中进行仿真,并且经过实物的测试,可以实现对不同波形的频率进行测量。
具有自动切换并指示量程,精度较高,测量范围较大等特点%Range switching frequency meter is controlled byAT89C51. This system is mainly composed of the signal amplification shaping circuit,single-chip control circuit,divider circuit,the signal display circuit and power circuit. This paper describes the hardware components and working principle of the system ,and demonstrates the feasibility ofthe design program. The system program written by C language is debugged by the Keil software,after which simulated in the Proteus software.And after physical test that can realize the measurement of the frequency of sine wave,triangle wave and square wave.With automatic switch and indicator range, high accuracy, measuring range.【期刊名称】《电子设计工程》【年(卷),期】2012(020)022【总页数】4页(P168-170,174)【关键词】单片机;量程;自切换;频率计【作者】孔令荣【作者单位】南京理工大学泰州科技学院电子电气工程学院,江苏秦州225300【正文语种】中文【中图分类】TN74近年来,随着科学技术的快速发展,特别是类似单片机等相关集成电路生产技术的快速崛起,推动了仪器仪表及家电产业的快速发展,用程序代码来简化硬件电路的复杂程度,使其不断向着体积小,价格低廉,功能更加多样化、智能化的方向发展。
基于AT89C51单片机的计数器设计一、引言在现代社会中,计数器是一种非常常见的电子设备,它可以对某一事件或物体进行计数,并对计数结果进行显示、记录或控制。
计数器广泛应用于工业控制、电子设备、仪器仪表等领域。
本文将基于AT89C51单片机设计一款简单的计数器,并通过实验来验证其功能。
二、AT89C51单片机简介AT89C51是一款由意法半导体公司(STMicroelectronics)生产的一款高性能、低功耗的单片机芯片。
它具有8位的CPU、4KB的Flash存储器、128B的RAM,以及32个通用I/O 端口。
AT89C51单片机集成了多种功能模块,包括定时器、串行通信接口、中断控制器等,适合于需要较高性能的嵌入式系统。
三、计数器设计1. 硬件设计在本设计中,我们将使用AT89C51单片机作为核心控制器,外接数码管进行计数结果的显示。
我们还将使用按键进行计数器的操作,包括计数、清零等功能。
硬件电路设计如下:- AT89C51单片机- 7段数码管(共阳极)- 74595移位寄存器- 按键- 电阻、电容等元件2. 软件设计在软件设计中,我们将使用C语言编程,并调用单片机的相关接口函数来实现计数器的功能。
主要包括以下几个方面的功能:- 初始化:对单片机的相关GPIO口进行初始化,包括数码管、按键等。
- 计数:通过按下计数按钮触发计数功能,将计数结果存储在单片机内部的变量中。
- 显示:将计数结果显示在数码管上,通过74595移位寄存器进行驱动。
- 清零:通过按下清零按钮触发清零功能,将计数结果清零。
四、实验验证为了验证上述设计的正确性,我们将进行一个实验。
我们将使用AT89C51单片机、数码管、按键等元件进行搭建,然后编写软件程序进行测试。
1. 硬件搭建我们需要按照硬件设计的原理图进行搭建。
将AT89C51单片机、数码管、按键等元件按照原理图连接好,并进行电源连接。
2. 软件编程接下来,我们需要编写C语言程序,将程序下载到单片机中。
基于AT89C51单片机的计数器设计
计数器是一种常见的电子设备,用于实现对输入信号的计数。
基于AT89C51单片机的计数器设计,可以实现对输入信号的计数,并且可以将计数结果显示出来。
我们需要准备以下器件和材料:
1. AT89C51单片机:这是一款8位微控制器,具有丰富的输入输出功能。
2. 数码管:用于显示计数结果。
3. 按钮开关:用于输入计数信号。
接下来,我们可以按照以下步骤进行计数器的设计。
1. 连接电路:将数码管和按钮开关分别与AT89C51单片机的IO口相连。
数码管的引脚与单片机的IO口相连,按钮开关一个端接地,另一个端接单片机的IO口。
2. 编写程序:使用汇编语言或C语言编写单片机的程序。
可以使用单片机的计时器中断来实现计数功能。
在程序中,首先需要初始化单片机,并将IO口设置为输入或输出。
3. 实现计数功能:在程序中,通过判断按钮开关的状态,来决定是否对计数器进行加一或减一操作。
当按钮开关按下时,将计数器加一或减一,并将计数结果显示在数码管上。
4. 程序调试:将程序下载到单片机上,并连接电源。
通过按下按钮开关,观察数码管上计数结果的变化,可以判断程序的正确性。
如果发现计数结果不正确,可以通过调试程序来解决问题。
5. 优化设计:根据实际需求,可以对计数器的功能进行优化。
可以增加清零按钮,用于将计数器清零;可以增加计数范围限制,当计数器达到上限或下限时,禁止继续计数。
基于AT89C51单片机的计数器设计单片机(Microcontroller)是一种集成了微处理器、存储器和各种输入输出功能的芯片,广泛应用于嵌入式系统中。
AT89C51单片机是英特尔公司生产的一款典型的8位微控制器,其具有强大的功能和灵活的设计特性,被广泛应用于工业控制、汽车电子、消费类电子产品等领域。
在众多应用中,计数器是一种常见的电子器件,被广泛应用于各种领域,比如工业控制、实验测量、智能家居等。
基于AT89C51单片机的计数器设计,可以实现对信号的计数和显示,具有较高的稳定性和可靠性。
本文将介绍基于AT89C51单片机的计数器设计。
首先介绍AT89C51单片机的基本特性和引脚布局,然后讨论计数器的原理和设计思路,最后给出具体的设计方案和实现步骤。
一、AT89C51单片机的基本特性和引脚布局AT89C51是一款高性能、低功耗的8位CMOS微控制器,其主要特性包括:1. 内置4KB闪存程序存储器,用于存储用户程序;2. 128字节RAM,用于存储临时数据和寄存器;3. 32个通用I/O引脚,用于连接外部器件和传感器;4. 完整的串行通信接口(UART),用于与外部设备进行通信;5. 定时器/计数器和PWM输出,用于实现各种定时和计数功能;6. 多种工作模式选择,包括被动低功耗模式和中断工作模式。
AT89C51单片机的引脚布局如下图所示:(图片)P0、P1、P2和P3是AT89C51单片机的四个通用I/O端口,分别具有8个引脚,用于连接外部设备和传感器。
X1和X2是晶体振荡器的输入和输出端,用于提供时钟信号。
RESET 是复位端,用于复位单片机。
EA和PSEN是扩展ROM控制端和程序存储器的读取端,用于外接ROM和实现程序存储。
ALE/PROG是地址锁存器的输入,用于地址总线的多路选择。
RXD 和TXD是串行通信接口的接收和发送端口,用于与外部设备进行通信。
二、计数器的原理和设计思路计数器是一种常用的数字电路,用于对输入信号进行计数和显示。
基于51单片机的频率计设计报告
在该设计报告中,我将介绍基于51单片机的频率计的设计原理、硬件设计和软件设计。
设计原理:
频率计是一种用于测量信号频率的仪器。
基于51单片机的频率计的设计原理是利用单片机的定时计数器来测量输入信号的脉冲个数,然后将脉冲个数转换为频率。
硬件设计:
硬件设计主要包括输入信号的采集电路、计数电路和显示电路。
输入信号的采集电路使用一个比较简单的电路,包括一个电阻和一个电容,用于将输入信号转换为脉冲信号。
计数电路使用单片机的定时计数器来进行计数。
在这个设计中,我们使用TIMER0和TIMER1作为计数器,分别用于测量输入信号的高电平时间和低电平时间,然后将两个时间相加得到一个完整的周期,再根据周期反推频率。
显示电路使用一个LCD模块来显示测量得到的频率。
在这个设计中,我们使用IO口将计算得到的频率发送给LCD模块,通过LCD模块来显示频率。
软件设计:
软件设计主要包括信号采集、脉冲计数和频率计算。
信号采集主要通过定时器的中断来进行。
在采集到一个脉冲之后,中
断程序会使计数器加1
脉冲计数是通过对输入信号高电平时间和低电平时间计数来完成的。
在脉冲计数的过程中,我们需要启动TIMER0和TIMER1,并设置正确的工
作模式和计数值。
频率计算是通过将高电平时间和低电平时间相加得到一个完整的周期,然后再根据周期反推频率来完成的。
最后,将计算得到的频率发送给LCD
模块进行显示。
总结:。
毕业论文(设计)题目基于单片机的频率计设计英文题目The design of frequency meter based on single chip- 1 -摘要频率计,也称为频率表或电子计数器。
它不仅是电子测量和仪表专业领域中测量频率与周期、测量频率比和进行计数、测时的重要仪器,而且要比示波器测频更方便、经济得多,特别是现代电子计数器产品与组件和具有多种测量功能的数字频率计,已广泛应用于计算机系统、通讯广播设备、生产过程自动化测控装置、带有LED、LCD数字显示单元的多种仪表以及诸多的科学技术领域。
可以说伴随着数字化技术的发展,电子计算机、通讯设备、音频和视频技术进入科研、生产、军事技术和经济生活领域,直至家庭和个人,使得电子计数器和测频手段与上述电子设备耦连为形影不离的技术。
以单片机AT89C51为核心设计了一种频率计。
在设计中应用单片机的数学运算和控制功能,克服了一般数字频率计在低频精度不高的缺点;频率计首先以单片机内部的定时/计数器产生1S定时作为控制闸门信号,然后把被测信号放大整形后的方波脉冲信号的周期作为计数,从而求得被测信号的频率值,最后通过八位动态显示电路显示数值。
电路主要由以下三部分组成:。
它是频率计的核心,大部分工作由它完成;。
为频率测量作好准备;。
用于显示频率值。
关键词:单片机;频率计;显示- 2 -The design of frequency meter based on single chipAbstrac Frequency, also known as frequency counter or electronic form. It is not only electronic measurement instruments and professional in the field of measuring frequency and the cycle than the frequency of measurement and counting, the important measurement instruments, oscilloscopes and measuring frequency than more convenient, more economic, especially the modern electronic counter products and components And a variety of measurements of the digital frequency, has been widely used in computer systems, radio communication equipment, automated production process measurement and control devices, with LED, LCD modules figures show that the number of instruments and many scientific and technical fields. It can be said that along with the development of digital technology, computers, communications equipment, audio and video technology into the research, production, military technology and economic spheres of life, until the families and individuals, making electronic means of measuring frequency counter and the electronic equipment and even for the decoupling Inseparable technology.I have designed one kind of frequency meter which regarded Single-Chip Microcomputer AT89C51 as the mathematical operation of applying in designing Single-Chip Microcomputer and controlling the function, has overcome the general digital frequency meter in the shortcoming not high of the precision of low frequency; frequency meter at first with timing of Single-Chip Microcomputer / counter 1S produces as controlling the gate signal examine signal is it have a facelift square wave cycle conduct of pulse signal after count to amplify, is it examine into frequency value of signal to try to get , show through 8 circuit display number value dynamically circuit is made up of three following parts mainly: Single-Chip Microcomputer. It is a core of the frequency meter, most work are finished by it; and have a facelift the circuit. Prepare for frequency measurement; c. the display circuit. Used for showing frequency value. Key Words: Single-Chip Microcomputer; Frequency Meter; Display目录Abstract (III)引言 (1)第1.章概述1.1.频率计的定义 (1)1.2.频率计的发展与应用 (1)1.3.频率计的设计内容 (1)第2.章系统总体方案设计2.1.设计方案 (2)2.2.方案论证及选用依据 (3)2.3.频率测量的原理 (3)2.4.总体思路 (4)2.5.具体模块 (4)第3.章硬件电路的具体设计3.1.AT89C51主控制器模块 (5)3.2.单片机的定时\计数 (10)3.3.电源模块 (11)3.4.放大整形模块 (16)3.5.分频设计模块 (15)3.6.显示模块 (17)第4.章系统的软件设计4.1.软件模块设计 (20)4.2.中断服务子程序 (21)4.3.显示子程序 (22)4.4.应用软件简介 (22)第5.章总结 (23)参考 (25)附录 (26)引言1.概述在电子测量领域中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在教学、科研、测量仪器、工业控制等方面都有较广泛的应用。
基于单片机简易频率计设计一、前言频率计是一种测量电信号频率的仪器,其应用广泛。
本文将介绍如何基于单片机设计一个简易的频率计。
二、设计思路本次设计采用单片机作为核心控制芯片,通过捕获输入信号的上升沿和下降沿来计算出信号的周期,从而得到信号的频率。
具体实现过程如下:1. 选择合适的单片机选择一款适合本次设计要求的单片机,需要考虑其性能、价格、易用性等因素。
常见的单片机有STC89C52、AT89C51等。
2. 硬件电路设计硬件电路主要包括输入端口、捕获定时器模块、显示模块等。
其中输入端口需要接收待测信号,捕获定时器模块用于捕获信号上升沿和下降沿的时间,显示模块则用于显示测得的频率值。
3. 软件程序设计软件程序主要包括初始化程序、捕获中断服务函数和主函数等。
其中初始化程序用于设置捕获定时器模块和显示模块参数,捕获中断服务函数则是实现对输入信号上升沿和下降沿时间的捕获与计算,主函数则用于控制程序流程和显示结果。
三、硬件设计1. 输入端口设计输入端口需要接收待测信号,一般采用BNC接头。
由于输入信号可能存在较高的电压和噪声,因此需要加入滤波电路以保证输入信号的稳定性。
2. 捕获定时器模块设计捕获定时器模块是本次设计的核心部分,其主要功能是捕获输入信号的上升沿和下降沿时间,并通过计算得到信号周期和频率值。
常见的捕获定时器模块有16位定时器/计数器、32位定时器/计数器等。
在本次设计中,我们选择了16位定时器/计数器。
3. 显示模块设计显示模块主要用于显示测得的频率值。
常见的显示模块有LED数码管、LCD液晶屏等。
在本次设计中,我们选择了LCD液晶屏。
四、软件程序设计1. 初始化程序初始化程序主要包括设置捕获定时器模块参数、设置LCD液晶屏参数等。
2. 捕获中断服务函数捕获中断服务函数是实现对输入信号上升沿和下降沿时间的捕获与计算,其具体实现过程如下:(1)当捕获定时器模块捕获到输入信号上升沿时,记录当前时间值。
基于AT89C51单片机的计数器设计AT89C51单片机是一种常用的8位单片机,具有计数器功能。
本文将介绍基于AT89C51单片机的计数器设计。
计数器是一种常用的电子设备,用于统计某个事件发生的次数。
在数字电子技术中,计数器可以通过使用触发器和逻辑门来实现。
在AT89C51单片机中,可以通过编程控制来实现计数器功能。
我们需要通过编程配置AT89C51单片机的IO口,使其能够作为计数器的输入和输出端口。
我们可以使用P1口作为计数器的输入端口,通过外部信号来触发计数器的计数动作。
我们可以使用P2口作为计数器的输出端口,将计数结果显示出来。
接下来,我们需要编写程序来实现计数器的功能。
程序的基本思路是通过中断来实现计数器的自动计数。
当接收到外部信号时,中断服务程序会自动执行,对计数器的计数值进行更新,并将结果输出到P2口。
我们可以通过按键来控制计数器的启动和暂停。
具体编程步骤如下:1. 配置P1口和P2口为输入和输出模式,分别作为计数器的输入和输出端口。
2. 初始化计数器的计数值为0。
3. 配置中断,并编写中断服务程序。
中断服务程序在接收到外部信号时,会自动执行,对计数器的计数值进行更新,并将结果输出到P2口。
4. 编写按键处理程序。
按键处理程序会检测按键的状态,如果按下则启动计数器,再次按下则暂停计数器。
5. 主程序中,循环检测按键状态,并根据按键状态调用相应的处理程序。
通过以上步骤,我们可以实现基于AT89C51单片机的计数器设计。
这个设计可以广泛应用于各种计数需求的场合,如物料计数、人员计数等。
基于AT89C51单片机的计数器设计具有成本低、可靠性高等优点,适合在工业控制和自动化领域进行应用。
基于AT89C51单片机的计数器设计是一项有趣且实用的工程,通过合理的硬件配置和编程设计,可以实现各种计数需求的应用。
采用A T89C51单片机的数字频率计设计编辑:D z3w.C o m文章来源:网络我们无意侵犯您的权益,如有侵犯请[联系我们]采用A T89C51单片机的数字频率计设计概述:设计一种以单片机A T89C51为核心的数字频率计,介绍了单片机、数字译码和显示单元的组成及工作原理。
测量时,将被测输入信号送给单片机,通过程序控制计数,结果送译码器74-L S145与移位寄存器74L S164,驱动L E D数码管显示频率值。
通过测量结果对比,分析了测量误差的来源,提出了减小误差应采取的措施。
频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号。
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率计在教学、科研、测量仪器、工业控制等方面都有较广泛的应用。
测量频率的方法有多种,其中电子计数测量频率具有精度高、使用方便、测量迅速,以及便于实现测量自动化等优点,是频率测量的重要手段之一。
本设计就是用计数的方法,以单片机A T89C51为控制核心,充分利用其软硬件资源,设计并制作了频率计的计数、显示部分。
1测频设计原理频率计测频原理方框图如图1所示。
被测输入信号通过脉冲形成电路进行放大与整形(可由放大器与门电路组成),然后送到单片机入口,单片机计数脉冲的输入个数。
计数结果经L E D 数码管显示,从而得到被测信号频率。
2元器件选择与使用2.1单片机选择单片机A T89C51是因为有编程灵活、易调试的特点,而且A T89C51的引脚较多,利于电路的展。
它集成了C P U,R A M,R O M,定时器/计数器和多功能I/0口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。
其片内集成了4K B的F L A S H P E R O M用来存放应用程序,这个F L A S H程序存储器除允许一般的编程器离线编程外,还允许在应用系统中实现在线编程,并且还提供了对程序进行三级加密保护的功能。
基于AT89C51单片机的计数器设计AT89C51是一种8位单片机,它具有中央处理器、存储器和输入/输出功能,适用于各种应用。
在本设计中,我们将基于AT89C51单片机来设计一个计数器。
我们需要连接AT89C51单片机和外部硬件电路。
计数器通常需要一个外部计时源来提供脉冲输入,并且需要一个数码管显示结果。
我们需要连接一个计时源(例如晶体振荡器)到单片机的外部时钟引脚,并连接一个共阳数码管到单片机的输出引脚。
我们还需要连接一些按钮到单片机的输入引脚,用于开始、暂停和复位计数器。
接下来,我们需要编写单片机的程序代码。
程序代码将实现计数器的功能,包括计数、显示和控制操作。
我们需要定义一些变量来记录计数器的状态。
我们可以定义一个变量来存储当前计数的值,一个变量来存储计数是否正在进行中的标志,以及一个变量来存储计数方向(递增或递减)的标志。
然后,我们可以在主程序循环中开始实现计数器的功能。
主程序循环可以使用一个无限循环来保持计数器一直运行,并且可以通过检测按钮的状态来控制计数器的操作。
如果开始按钮按下,则设置计数进行中的标志,并且根据计数方向的标志进行递增或递减操作。
如果暂停按钮按下,则清除计数进行中的标志,停止计数操作。
如果复位按钮按下,则将计数器的值重置为初始值,并且清除计数进行中的标志。
在每次计数操作后,我们需要将计数器的值显示在数码管上。
可以使用数码管的显示函数来将计数器的值转换为对应的数字,并将其输出到数码管的引脚上,从而实现数字的显示。
为了保证计数器的精确性,我们需要添加一些延时函数来控制计数的速度。
可以使用单片机的定时/计数器功能来实现延时功能。
定时/计数器可以设置为特定的计时频率,并且可以通过定时器中断来控制延时的时间。
基于AT89C51单片机的计数器设计需要连接外部硬件电路,并编写相应的程序代码来实现计数、显示和控制操作。
通过合理的硬件连接和程序设计,可以实现一个功能完善的计数器。
基于AT89C51单片机嵌入式频率计的设计 1 引 言
本频率计的设计以AT89C51单片机为核心,利用他内部的定时/计数器完成待测信号周期/频率的测量。单片机AT89C51内部具有2个16位定时/计数器,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1(使用12 MHz时钟时,每1μs加1),这样以机器周期为基准可以用来测量时间间隔。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的1/24(使用12 MHz时钟时,最大计数速率为500 kHz)。定时/计数器的工作由运行控制位TR控制,当TR置1,定时/计数器开始计数;当TR清0,停止计数。
本设计综合考虑了频率测量精度和测量反应时间的要求。例如当要求频率测量结果为3位有效数字,这时如果待测信号的频率为1 Hz,则计数闸门宽度必须大于1 000 s。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法:
(1)当待测信号的频率>100 Hz时,定时/计数器构成为计数器,以机器周期为基准,由软件产生计数闸门,计数闸门宽度>1 s时,即可满足频率测量结果为3位有效数字; (2)当待测信号的频率<100 Hz时,定时/计数器构成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号的周期。这时用方波作计数闸门,当待测信号的频率=100 Hz,使用12 MHz时钟时的最小计数值为10 000,完全满足测量精度的要求。
2 频率计的量程自动切换 使用计数方法实现频率测量时,外部的待测信号为单片机定时/计数器的计数源,利用软件延时程序实现计数闸门。频率计的工作过程为:定时/计数器的计数寄存器清0,运行控制位TR置1,启动定时/计数器工作;运行软件延时程序,同时定时/计数器对外部的待测信号进行计数,延时结束时TR清0,停止计数。从计数寄存器读出测量数据,测量数据在完成数据处理后,由显示电路显示测量结果。
使用定时方法实现频率测量时,外部的待测信号通过频率计的预处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时/计数器的输入脚。工作高电平是否加至定时/计数器的输入脚;当判定高电平加至定时/计数器的输入脚,运行控制位TR置1,启动定时/计数器对单片机的机器周期的计数,同时检测方波高电平是否结束;当判定高电平结束时TR清0,停止计数,然后从计数寄存器读出测量数据。这时读出的数据反映的是待测信号的周期,通过数据处理把周期值变换成频率值,由显示电路显示测量结果。 测量结果的显示格式采用科学计数法,即有效数字乘以10为底的幂。这里设计的频率计用5位数码管显示测量结果:前3位为测量结果的有效数字;第4位为指数的符号;第5位为指数的值。采用这种显示格式既保证了测量结果的显示精度,又保证了测量结果的显示范围(0.100 Hz~9.99 MHz)。
频率计测量量程自动转换的过程由频率计测量量程的高端开始。由于只显示3位有效数字,测量量程的高端计数闸门不需要太宽,例如在进入计数器的信号频率范围在10.0~99.9 kHz,计数闸门宽度为10 ms即可。频率计开始工作时使用计数方法实现频率测量,并使计数闸门宽度为最窄,完成测量后判断测量结果是否具有3位有效数字,如果成立,将结果送去显示,完成测量工作;否则将计数闸门宽度扩大10倍,继续进行测量判断,直到计数闸门宽度达到1 s,这时对应的进入单片机的待测信号频率范围为100~999 Hz。如果测量结果仍不具有3位有效数字,频率计则使用定时方法实现频率测量。
定时方法测量的是待测信号的周期,这种方法只设一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将结果送去显示。无论采用何种方式,只要完成一次测量,频率计自动开始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转换。
3 信号预处理电路 信号预处理电路如图1所示,他由4级电路构成。第1级为零偏置放大器,当输入信号为零或者为负电压时,三极管截止,输出高电平;当输入信号为正电压时,三极管导通,输出电压随着输入电压的上升而下降。零偏置放大器可把正负交替波形变换成单向脉冲,这使得频率计既可以测量脉冲信号的频率,也可以测量正弦波信号的频率。放大器的放大能力实现了对小信号的测量,本电路可以测量幅度≥0.5 V的正弦波或脉冲波待测信号。三极管应采用开关三极管以保证放大器具有良好的高频响应。第2级采用带施密特触发器的反相器7414,他用于把放大器生成的单向脉冲变换成与TTL/CMOS电平相兼容的方波。第3级采用十进制同步计数器74160,第2级输出的方波加到74160的CLK,当从74160的TC输出可实现10分频(多个74160的级连可以进一步扩展测频范围)。第4级同样采用十进制同步计数器74160,第3级输出的方波加到他的CLK,当从他的Q0输出既可实现2分频,且其输出为对称方波,方波宽度等于待测信号的周期,从而为测量信号周期提供基础。 4 系统软件设计 频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。定时/计数器的工作首先被设置为计数器方式,即用来测量信号频率。首先定时/计数器的计数寄存器清0,运行控制位TR置1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值(即测量频率的高量程)开始测量,计数闸门结束时TR清0,停止计数。计数寄存器中的数值经过数制转换程序从十六进制数转换为十进制数。判断该数的最高位,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的计数,直到满足测量数据有效位数的要求。
当上述测量判断过程直到计数闸门宽度达到1 s(对应的频率测量范围为100~999 Hz)时测量结果仍不具有3位有效数字,频率计则使用定时方法测量待测信号的周期。定时/计数器的工作被设置为定时器方式,定时/计数器的计数寄存器清0,在判断待测信号的上跳沿到来后,运行控制位TR置为1,以单片机工作周期为单位进行计数,直至信号的下跳沿到来,运行控制位TR清0,停止计数。16位定时/计数器的最高计数值为65 535,当待测信号的频率较低时,定时/计数器将发生溢出。产生溢出时,程序进入定时器中断服务程序,对溢出次数进行计数。待测信号的周期由3个字节组成:定时/计数器溢出次数、定时/计数器的高8位和低8位。信号的频率f与信号的周期T之间的关系为: f=1/T 完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,采用浮点数算术运算。浮点数由3个字节组成:第1字节最高位为数符,其余7位为阶码;第2字节为尾数的高字节;第3字节为尾数的低字节。待测信号周期的3个字节定点数通过截取高16位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。再通过浮点数到BCD码转换模块把用浮点数格式表达的信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。完成显示后,频率计都开始下一次信号的频率测量。系统软件流程图如图2所示。
系统软件设计采用模块化设计方法。整个系统由初始化模块、显示模块和信号频率频率测量模块等各种功能模块组成。上电后,进入系统初始化模块,系统软件开始运行。在执行过程中,根据运行流程分别调用各个功能模块完成频率测量、量程自动切换、周期测量和测量结果显示。
5 实测结果和误差分析 为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了试验。以南京电讯仪器厂制造的E312B型通用计数器为基准,用这次设计的频率计对信号源进行了测量,测量数据如表1所示。
如图1信号预处理电路所示,待测信号在进入单片机之前经过了10×2次分频。频率计以进入单片机时的信号频率=100 Hz为基准(即待测信号频率为2 kHz),大于此频率采用频率测量,小于此频率采用周期测量。由表1频率测量对比表可以看出,频率测量的测量精度大于周期测量的测量精度。
采用计数法实现频率测量,误差来源主要有计数误差和闸门误差2部分。误差表达式为: 其中:N为计数值,t为闸门时间。 闸门时间相对误差dt/t主要取决于单片机晶振的频率稳定度,选择合适的石英晶体和振荡电路,误差一般可<10-6。当仅显示3位有效数字时,该项误差可以忽略。对于dN/N部分,无论闸门时间长短,计数法测频总存在1个单位的量化误差。在表1中,待测信号频率>2 kHz时的误差就来源于计数误差。增加显示的有效数字位数可降低该项误差的影响。
当待测信号频率<2 kHz时,直接测量的是信号的周期。周期测量的误差表达式为: 其中:dN/N为量化误差,dτ0/τ0为单片机晶振的频率稳定度。 进行周期测量时进入单片机的信号频率<100 Hz,使用12 MHz时钟时的最小计数值为10 000。当仅显示3位有效数字时,该项误差现在也可以忽略。待测信号的周期测量值通过浮点数运算变换成频率值,这时的误差来源于浮点数运算和数制转换所带来的误差。
6 结 语 介绍了一种基于单片机89C51制作的频率计的设计方法,所制作的频率计需要外围器件较少,适宜用于嵌入式系统。该频率计应用周期测量和相应的数学处理实现低频段的频率测量,因此很容易扩展实现信号的周期测量和占空比测量。该频率计被应用于笔者设计的“高频实验装置”之中,用来对LC振荡器和RC振荡器输出信号的频率稳定度进行测量,取得良好的应用效果。
参考文献 [1] 周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,1991. [2] 李华,等.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993.