高精度单片机频率计的设计

合集下载

高精度的频率计设计

高精度的频率计设计

2012届毕业设计说明书高精度的频率计设计系、部: 电气与信息工程系学生姓名:______________________ 指导教师:________ 职称_________ 专业:电子信息工程____________ 班级:_________________________ 完成时间:2012年5月__________高精度频率计是一种测量信号频率的仪器,可以用来测量正弦波、方波、三角波、尖脉冲信号的频率和周期。

除此之外还能对其他多种物理量的变化频率进行测量,诸如机械振动次数,物体转动速度,明暗变化的闪光次数,单位时间里经过传送带的产品数量等,这些物理量的变化情况可以有关传感器先转变成周期变化的信号,再用数字频率计测量单位时间内变化次数,通过数码显示出来。

它在科研、教学、高精度仪器测量、工业控制等领域都有较广泛的应用。

本设计以AT89S51单片机为控制核心作为系统控制单元。

其结构主要包括单片机控制电路和数码管显示电路,软件编程采用C语言。

该频率计具有高速、精度高、可靠性好、抗干扰性强、设计产品成本低,性价比高、现场可编程等优点。

关键词:高精度频率;单片机;频率测量;AT89S51ABSTRACTHigh-precision frequency meter is a measure of the signal frequency in strume nt.ltca n be used to measure sine wave, square wave, tria ngle wave, sharp pulse the frequency of the signal and the cycle. In addition to a variety of other physical qua ntities can cha nge freque ncy measureme nt, such as mecha ni cal vibrati on frequency, the object rotati on speed, light and shade cha nge flash nu mber, the unit of time after the conveyor belt of the amount of products, etc. These quantities the cha nges of the releva nt sen sors can be tran sformed into first cycles of sig nals, the n use digital freque ncy meter measuri ng unit of time to cha nge freque ncy, through the digital display. It in scie ntific research, teachi ng and high precisi on in strume nt measureme nt, in dustrial con trol doma in has the widespread applicati on.This desig n with AT89S51 as con trol core as system con trol un it. Its structure is mainly include single chip microcomputer control circuit and digital tube display circuit, software programming using C Ianguage. The frequency meter with speed, high precisi on, good reliability and an ti-i nterfere nee strong, desig n products with low cost, high performa nce/price ratio, field programmable, etc.Key words high-precisi on freque ncy; microc on troller; freque ncy measureme nt;AT89S511绪论 (1)1.1 选题的依据及意义 (1)1.2 数字频率计测频方法选择及原理 (2)1.3 本课题研究内容 (3)2高精度频率计方案论证与选择 (5)2.1 方案对比与选择 (5)3硬件设计与实现 (8)3.1 系统最终硬件设计 (8)3.2 基本设计原理 (12)3.3 AT89S51 单片机简介 (12)3.4 系统硬件模块 (16)4系统软件设计 (17)4.1 编程语言与编译器介绍 (17)4.2 程序流程图 (17)5软件与硬件调试 (20)5.1 C 程序编译与仿真结果 (20)5.2 硬件仿真结果 (21)结束语 (24)参考文献......................................................... 25.致谢 (26)附录 (27)1绪论1.1选题的依据及意义在电子技术中,能够精确测量各种设备仪器中电路的频率、电压、电流等参数已越来越重要。

基于51单片机的数字频率计设计

基于51单片机的数字频率计设计

基于51单片机的数字频率计一、实验内容1.1数字频率计概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

它是一种用十进制数字显示被测信号频率的数字测量仪器。

它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。

在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。

本数字频率计将采用定时、计数的方法测量频率,采用四位LED数码管动态显示4位数。

测量范围从1Hz—10kHz的正弦波、方波、三角波。

用单片机实现自动测量功能。

1.2频率测量仪的设计思路与频率的计算频率测量仪的设计思路主要是:设置单片机T1为计数器模式,对输入信号进行计数,T0设置为定时器模式,定时时间为1秒,则计数器所计数值即为被测信号频率。

1.3 基本设计原理基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。

它以在单位时间内对被测信号上升沿计数的方法对正弦波、方波、三角波的频率进行自动的测量。

如果被测信号频率超过量程,则有警报灯闪烁。

所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。

若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T。

1.4 频率计性能参数设计量程:0-10KHz波形:方波输入信号电压:5V二、数字频率计的硬件结构设计2.1 系统硬件的构成本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有电源电路、复位电路、显示器,报警电路等器件,如下图所示:图一数字频率计功能模块2.2 AT89C51单片机引脚说明在本次设计中,采用89C51作为CPU处理器,充分利用其硬件资源,结合数码管,发光二极管,按键开关构成控制及显示模块。

在试验中选用P1.2,P1.3,P1.4端口分别控制数据和时钟信号的输入实现频率的动态显示。

基于单片机控制的数字频率计设计

基于单片机控制的数字频率计设计

基于单片机控制的数字频率计设计1. 简介在电子领域中,频率对于信号处理和电路设计至关重要。

频率计是一种测量电信号频率的仪器,它可以帮助工程师们更好地理解信号的特性,并在电路设计和调试中起到至关重要的作用。

在本文中,我将详细探讨基于单片机控制的数字频率计的设计原理和实现方法,希望能帮助读者全面理解这一主题。

2. 频率计原理频率计的原理在于对输入信号的周期进行测量,并通过适当的算法将其转换为频率。

基于单片机的数字频率计设计采用计数的方法来测量信号周期,然后利用计数的结果和时间基准来计算频率。

在这个过程中,单片机起到了关键的控制和计算作用,能够精准地对输入信号进行测量和处理。

3. 单片机选择在设计数字频率计时,单片机的选择至关重要。

一般情况下,我们会选择性能稳定、计算能力强、易于编程的单片机作为核心控制芯片。

常用的单片机包括STC系列、STM32系列和PIC系列等,它们都具有较好的性能和可靠性,适合用于数字频率计的设计和实现。

4. 系统设计数字频率计系统一般由信号输入、单片机控制、显示模块和电源模块等部分组成。

在系统设计中,信号输入模块用于接收待测信号,并将其转换为数字信号输入到单片机中;单片机控制模块负责对输入信号进行计数和处理,并输出结果到显示模块;显示模块一般采用数码管或液晶显示屏,用于显示测量的频率数值。

电源模块需要为整个系统提供稳定的工作电压,确保系统正常运行。

5. 算法设计在数字频率计的设计中,算法的设计对于测量结果的准确性和稳定性至关重要。

一般而言,常见的测频算法包括时间测量法、计数器法和分频计数法等。

这些算法都需要考虑精确的计数和时间基准,以确保测量结果的准确性。

在算法设计中还需要考虑到单片机的计算能力和存储空间,选择合适的算法和数据结构来降低系统的复杂度和成本。

6. 实现方法基于单片机的数字频率计的实现方法有多种,可以根据具体的需求和应用场景选择合适的硬件和软件方案。

在硬件设计方面,需要考虑信号输入电路、计数电路、显示电路和电源电路等部分;在软件设计方面,需要编写相应的程序代码,实现信号测量、数据处理和显示控制等功能。

高精度频率计 设计 报告

高精度频率计 设计 报告

高精度频率计设计报告引言在现代科学研究和工程技术中,频率计是一个非常重要的仪器,用于测量信号的频率。

随着科学和技术的发展,对频率计的精度要求越来越高,为了满足这一要求,我们设计了一款高精度频率计。

设计原理我们的高精度频率计采用了串行计数器的设计原理。

通过输入信号引发的脉冲沿被计数并记录下来,由计数器来完成计数操作,最终得到精确的频率值。

系统组成我们的高精度频率计由三部分组成:计数器模块、显示模块和控制模块。

计数器模块是整个系统的核心部分,它由一个高速可编程计数器和一个低频稳定示波器组成。

输入信号进入计数器模块后,计数器开始计数脉冲边沿的数量。

示波器用来产生计数器停止计数的信号,以保证计数的准确性。

显示模块用来显示计数结果,我们使用了数码管来显示频率值。

通过控制模块产生的信号,数码管能够显示最终的频率值。

控制模块是整个系统的控制中心,它通过接收用户输入来控制计数器的工作模式和示波器的设置。

同时,它还负责计算并输出频率值。

设计过程在设计高精度频率计的过程中,我们遇到了一些挑战,包括精度和稳定性问题。

为了解决这些问题,我们采取了以下措施:1. 选择高精度的计数器和示波器:我们选择了性能优异的计数器和示波器来保证计数的精确性和稳定性。

2. 优化信号处理算法:我们使用了一种特殊的信号处理算法,能够更准确地计数脉冲边沿,从而提高精度。

3. 信号滤波:为了减少干扰,我们对输入信号进行了滤波处理,提高了系统的稳定性。

4. 温度补偿:考虑到环境温度的变化对计数的影响,我们对系统进行了温度补偿,以确保高精度的测量结果。

实验结果经过严格的实验验证,我们的高精度频率计达到了预期效果。

在不同频率范围下,测量结果与实际值的误差非常小,精度高达0.001%。

同时,在长时间运行测试中,系统稳定性良好,没有出现明显的漂移和波动。

总结与展望通过本次设计,我们成功地实现了一款高精度的频率计。

在今后的研究和工程实践中,我们将进一步完善系统的性能,提高系统的测量范围和稳定性。

教材项目六 高精度数字频率计设计

教材项目六  高精度数字频率计设计

项目六 基于单片机的频率计设计6.1 频率计简介数字频率计在很多场所被应用于侧量脉冲的频率,可以测量方波、三角波、锯齿波、正弦波的波形的频率,采用单片机作为设计核心,测量脉冲频率,测量更加方便灵活。

将外部输入脉冲经过波形调整,将各类周期波形转换为方波,并将幅值限定为0-5V ,以适应单片机的特点。

单片机的测量脉冲频率设计分析,脉冲测量的简单方法是在设定时间内对输入的脉冲进行计数,将计数值除以设定时间,结果则为测量频率。

测量过程中需要考虑测量频率的范围及脉冲计数能力,如果脉冲的频率高于计数器的计数能力则将不能准确的记录单位时间的脉冲输入数,无法准确测量脉冲频率,如果脉冲频率很低,则需要增大测量时间,因此频率计的设计要考虑测量脉冲的频率范围。

采用AT89S51单片机作为频率计的设计核心测量脉冲频率非常方便,单片机内部有两个定时/计数器,T0可以进行定时,T1可以进行计数,T0的定时时间设定为1秒,则T1一秒内计数值则为脉冲测量频率。

测量过程中准确设定脉冲的测量的启动与停止,设计后采用标准函数信号发生器校正测量参数。

采用实验板的硬件电路进行设计如图6.1所示,通过4060对晶振Y1输入的脉冲进行分频,通过跳线选择分频的脉冲频率Q4输出的脉冲频率为2056HZ ,Q11输出的脉冲频率为32HZ ,Q14输出的脉冲频率为2HZ 。

这些脉冲可以作为频率计的测试脉冲输入。

AT89C51图6.1 单片机硬件电路结构 测量的频率结果可以通过数码管动态显示电路显示测量结果,如图6.2所示的数码管显示电路结构。

图6.2 数码管动态显示电路结构程序的设计可以分为测量操作,测量结果转换为显示码,显示操作三部分。

#ifndef REG51#define REG51 1#include"reg51.h"#endiftypedef unsigned char uchar;typedef unsigned int uint;void delay();void treat();void display();unsigned long int count;uchar discode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar timecount=20,dis[8],t1out=0;脉冲频率的测量,采用T0定时1秒,T1计数的方式实现测量,测量的关键是准确的控制测量的启动停止时间。

基于FPGA和单片机的高精度数字频率计的设计与实现

基于FPGA和单片机的高精度数字频率计的设计与实现

基于FPGA和单片机的高精度数字频率计的设计与实现【摘要】本文介绍了基于FPGA和单片机的高精度数字频率计的设计与实现。

在文章阐述了研究背景、研究意义和研究内容。

在首先介绍了数字频率计的工作原理,然后分别讨论了基于FPGA和单片机的数字频率计的设计方案。

接着详细描述了硬件系统设计和软件系统设计。

在通过实验结果分析展示了设计的可靠性和高精度性能,并总结了设计的优缺点。

展望未来发展方向,提出了进一步优化和改进的建议。

通过本文的研究与实现,可为数字频率计的设计提供一种更高精度和更有效的解决方案,具有较好的应用前景和推广价值。

【关键词】FPGA、单片机、高精度数字频率计、硬件系统设计、软件系统设计、实验结果分析、设计优缺点总结、未来展望、数字频率计的原理、基于FPGA的设计、基于单片机的设计、研究背景、研究意义、研究内容。

1. 引言1.1 研究背景数字频率计是一种广泛应用于电子领域的重要仪器,用于准确测量信号的频率。

随着现代电子设备对频率精度的要求日益提高,高精度数字频率计的研究与应用变得越来越重要。

目前市面上的数字频率计大多基于FPGA或单片机进行设计,这两种方案各有优劣。

基于FPGA的数字频率计可以实现高速、高精度的频率测量,适用于需要处理大量数据的场景。

而基于单片机的数字频率计则更便于实现低功耗、低成本的设计,适用于对精度要求不是特别高的场合。

目前关于基于FPGA和单片机的高精度数字频率计设计的研究还比较有限,对于如何结合FPGA和单片机的特点,设计出既具有高精度又具有低成本的数字频率计仍有待探讨。

本文将重点研究基于FPGA和单片机的高精度数字频率计的设计与实现,旨在探讨如何充分发挥两者的优势,实现高精度、低成本的频率测量系统。

通过本研究,有望为数字频率计的设计与应用提供新的思路和方法。

1.2 研究意义数字频率计是现代电子技术中常用的一种测量设备,可以用于测量各种信号的频率。

随着科学技术的不断发展,对数字频率计的精度和性能要求越来越高。

设计一种高精度的频率计

设计一种高精度的频率计

设计一种高精度的频率计高精度频率计的设计引言:频率计是一种用于测量信号频率的仪器,广泛应用于电子、通信、测量等领域。

随着技术的发展,越来越多的应用对高精度的频率计需求不断增加。

本文将介绍一种高精度的频率计的设计方案。

设计方案:1. 选择高性能的计数器芯片:在设计高精度频率计时,首先需要选择一款高性能的计数器芯片。

计数器芯片的主要功能是将输入信号进行计数,并输出计数值。

选择高性能的芯片可以提供更高的精度和稳定性。

2. 优化输入接口电路:频率计的输入接口电路对测量精度也有很大影响。

为了提高精度,应避免信号受到干扰和衰减。

可以采用低噪声、低雜訊放大器来放大输入信号,以提高测量的准确性。

3. 设计精确的时间基准:频率计的精度很大程度上取决于时间基准的准确度。

可以采用高精度的晶振或者GPS时间同步信号作为时间基准,确保测量的准确性。

4. 优化显示和数据处理模块:高精度频率计的数据处理模块也需要进行优化。

可以采用高速的数据处理芯片和优化的算法,以提高计算速度和准确性。

此外,显示模块也需要具备高分辨率和稳定性,以确保准确的频率显示。

5. 添加校准功能:为了进一步提高频率计的精度,可以添加校准功能。

可以使用标准频率源进行校准,校准后可以消除由于器件老化、温度变化等因素引起的误差,提高频率计的长期稳定性。

结论:设计高精度的频率计需要从芯片的选择、接口电路、时间基准、数据处理和校准等多个方面进行优化。

不仅需要选择高性能的器件,还需要注意整个系统的设计和细节上的优化。

通过合理的设计和调试,可以实现高精度的频率测量。

基于FPGA和单片机的高精度数字频率计的设计与实现

基于FPGA和单片机的高精度数字频率计的设计与实现

基于FPGA和单片机的高精度数字频率计的设计与实现1. 引言1.1 背景介绍数字计数器是一种广泛应用于科学研究、工程技术和日常生活中的仪器设备,用于测量信号的频率、周期和脉冲数量等。

随着科技的不断发展,对于数字频率计的精度和性能要求也越来越高。

传统的数字频率计主要基于单片机或专用芯片的设计,存在精度受限、功能单一等问题。

而基于FPGA和单片机的高精度数字频率计能够充分发挥FPGA在并行计算和高速数据处理方面的优势,结合单片机的灵活性和易编程性,实现更高精度、更丰富功能的数字频率测量。

本文基于FPGA和单片机,设计并实现了一种高精度数字频率计,具有高度精准、快速响应的特点。

通过软硬件结合的设计思路,实现了数字信号频率的精确测量,同时在硬件设计和软件设计上都进行了详细优化和实现。

系统测试结果表明,该数字频率计具有较高的测量精度和稳定性,在实验中取得了良好的效果和准确的测量数据。

此设计不仅具有实用价值,还对数字频率计的进一步研究和应用具有一定的参考意义。

1.2 研究意义随着科技的发展,对于频率计的要求也越来越高,需要具备更高的精度、更快的响应速度和更广泛的适用范围。

设计和实现基于FPGA 和单片机的高精度数字频率计具有重要的研究意义。

通过本文的研究,可以深入了解数字频率计的工作原理和设计方法,为高精度频率计的研究和应用提供参考和借鉴。

本文的研究成果还可以为提高电子测量仪器的性能,推动数字频率计技术的发展做出重要的贡献。

本文的研究具有重要的理论和实践意义。

1.3 研究现状当前,数字频率计在电子测量领域具有重要的应用价值,其精度和稳定性对于提高测量精度和准确性至关重要。

目前,数字频率计的研究主要集中在硬件设计和软件算法的优化上。

在硬件设计方面,传统的数字频率计主要采用FPGA(现场可编程门阵列)作为核心控制器,实现高速、高精度的频率测量。

通过合理的电路设计和时序控制,可以实现更稳定和准确的频率计算。

在软件设计方面,研究者们致力于优化频率计算算法,提高频率计算的速度和精度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《综合课程设计》一.数字频率计的设计姓名:万咬春学号2005142135一、课程设计的目的通过本课程设计使学生进一步巩固光纤通信、单片机原理与技术的基本概念、基本理论、分析问题的基本方法;增强学生的软件编程实现能力和解决实际问题的能力,使学生能有效地将理论和实际紧密结合,拓展学生在工程实践方面的专业知识和相关技能。

二、课程设计的内容和要求1.课程设计内容(硬件类)频率测量仪的设计2.课程设计要求频率测量仪的设计要求学生能够熟练地用单片机中定时/计数、中断等技术,针对周期性信号的特点,采用不同的算法,编程实现对信号频率的测量,将测量的结果显示在LCD 1602上,并运用Proteus软件绘制电路原理图,进行仿真验证。

三.实验原理可用两种方法测待测信号的频率方法一:(定时1s测信号脉冲次数)用一个定时计数器做定时中断,定时1s,另一定时计数器仅做计数器使用,初始化完毕后同时开启两个定时计数器,直到产生1s中断,产生1s中断后立即关闭T0和T1(起保护程序和数据的作用)取出计数器寄存器内的值就是1s内待测信号的下跳沿次数即待测信号的频率。

用相关函数显示完毕后再开启T0和T1这样即可进入下一轮测量。

原理示意图如下:实验原理分析:1.根据该实验原理待测信号的频率不应该大于计数器的最大值65535,也就是说待测信号应小于65535Hz。

2.实验的误差应当是均与的与待测信号的频率无关。

方法二(测信号正半周期)对于1:1占空比的方波,仅用一个定时计数器做计数器,外部中断引脚作待测信号输入口,置计数器为外部中断引脚控制(外部中断引脚为“1”切TRx=1计数器开始计数)。

单片机初始化完毕后程序等待半个正半周期(以便准确打开TRx)打开TRx,这时只要INTx (外部中断引脚)为高电平计数器即不断计数,低电平则不计数,待信号从高电平后计数器终止计数,关闭TRx保护计数器寄存器的值,该值即为待测信号一个正半周期的单片机机器周期数,即可求出待测信号的周期:待测信号周期T=2*cnt/(12/fsoc) cnt为测得待测信号的一个正半周期机器周期数;fsoc为单片机的晶振。

所以待测信号的频率f=1/T。

原理示意图如下:实验原理分析:1.根据该实验原理该方法只适用于1:1占空比的方波信号,要测非1:1占空比的方波信号2.由于有执行f=1/(2*cnt/(12/fsoc))的浮点运算,而数据类型转换时未用LCD 浮点显示,故测得的频率将会被取整,如1234.893Hz理论显示为1234Hz,测得结果会有一定程度的偏小。

也就是说测量结果与信号频率的奇偶有一定关系。

3.由于计数器的寄存器取值在1~65535之间,用该原理时,待测信号的频率小于单片机周期的1/12时,单片机方可较标准的测得待测信号的正半周期。

故用该原理测得信号的最高频率理论应为fsoc/12 如12MHZ的单片机为1MHz。

而最小频率为f=1/(2*65535/(12/fsoc))如12MHZ的单片机为8Hz。

四.实验内容及步骤1. 仿真模型的构建数字方波频率计的设计总体可分为两个模块。

一是信号频率测量,二是将测得的频率数据显示在1602液晶显示模块上。

因此可搭建单片机最小系统构建构建频率计的仿真模型。

原理图,仿真模型的总原理图如下:2. 液晶显示部分功能与原理分析由于此部分并非课程的主要部分,故仅作简要原理分析A.1602硬件接口及功能接口//硬件接口部分********************************************************** sbit LcdRs = P2^0;sbit LcdRw = P2^1;sbit LcdEn = P2^2;sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口//向LCD写入命令或数据************************************************************#define LCD_COMMAND 0 // Command#define LCD_DATA 1 // Data#define LCD_CLEAR_SCREEN 0x01 // 清屏#define LCD_HOMING 0x02 // 光标返回原点//设置显示模式************************************************************ #define LCD_SHOW 0x04 //显示开#define LCD_HIDE 0x00 //显示关#define LCD_CURSOR 0x02 //显示光标#define LCD_NO_CURSOR 0x00 //无光标#define LCD_FLASH 0x01 //光标闪动#define LCD_NO_FLASH 0x00 //光标不闪动//设置输入模式************************************************************ #define LCD_AC_UP 0x02 //将光标返回0x00#define LCD_AC_DOWN 0x00 // default#define LCD_MOVE 0x01 // 画面可平移#define LCD_NO_MOVE 0x00 //defaultB .1602初始化流程和原理框图void LCD_Initial() { LcdEn=0; LCD_Write(LCD_COMMAND,0x38); //8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏 LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC 递增, 画面不动 }C . 写DDRAM 地址(原理框图如上) void GotoXY(unsigned char x, bit y) { if(y==0) LCD_Write(LCD_COMMAND,0x80|x); if(y==1) LCD_Write(LCD_COMMAND,0x80|(x-0x40)); }D .写字符串(原理框图如上)void Print(unsigned char *str) { while(*str!='\0') { LCD_Write(LCD_DATA,*str); str++; }初始化流程写DDRAM 地址,DDRAM 地址与屏幕相对应str写字符串3.程序机原理框图(关于显示函数部分不列出,只分析算法函数)方法一:用定时计数器T0做脉冲计数器(下跳沿有效),开始与暂停由T1控制定时计数器T1做定时中断,定时1s,定时开启置T0开始计数,定时完毕,置T0为暂停,关闭T1,读取计数数据并清空计数器,将计数数据装换为有效规范的字符串显示后再开启T0和T1,进入下一轮测量。

以下是程序的核心部分:(定时1s,取计数数,并将其转换显示出来)原理框图如下void timer1() interrupt 3 //定时50ms{ TH1=THCLK;TL1=TLCLK;if(--Cnt==0) //Cnt初值为20{TR0=0; TR1=0;Cnt=CntNum;tmp=TH0*256+TL0;TH0=TL0=0;Dynamic_LCD_Print();TR0=1;TR1=1;}}方法二:用一个定时计数器做计数器,外部中断引脚作待测信号输入口,置计数器为外部中断引脚控制(外部中断引脚为“1”切TRx=1计数器开始计数)。

单片机初始化完毕后程序等待半个正半周期(以便准确打开TRx)打开TRx,这时只要INTx(外部中断引脚)为高电平计数器即不断计数,低电平则不计数,待信号从高电平后计数器终止计数,关闭TRx保护计数器寄存器的值,该值即为待测信号一个正半周期的单片机机器周期数,即可求出待测信号的周期:待测信号周期T=2*cnt/(12/fsoc) cnt为测得待测信号的一个正半周期机器周期数;fsoc为单片机的晶振。

所以待测信号的频率f=1/T。

以下是程序的核心部分:(原理框图如下)void chkfreq() //{ while(FreqIN==0);while(FreqIN==1);TR0=1;while(FreqIN==0);while(FreqIN==1);TR0=0;cnttime=500000/(TH0*256+TL0);TH0=TL0=0;tmp=(int)cnttime;Dynamic_LCD_Print();}4.原理框图如下五.课程设计结果及结论1.通过程序调试,用Protues 用两种方法均可测得小于6Mhz 的频率,以下是用方法一测量1000Hz 频率的仿真图:方法一流程图 方法二流程图2.实验结果及误差分析对于用原理一A.待测信号的频率小于65535Hz。

B.实验的误差2000Hz时为0.05%;10000Hz时为0.07% ;50000~60000Hz 时为0.073%。

对于用原理二C.在频率8-10000Hz时测得的值相当精确,频率为奇数时有1-2的误差。

D.超过频率8-10000Hz测得值完全错误由此可见实验结果符合之前的原理分析,验证成功。

3。

实验优化及改进建议a)方法一可将计数器0更改为中断扩展数据位数并延长定时时间,数据处理后和测量大于65535Hz的频率,但由T0中断不确定性,加大了测量范围会加大测量误差b)方法二可将硬件待测信号取反接入剩余的外部中断接口,用于测量待测信号的负半周期,将正半周期和负半周期数相加即为待测信号的周期。

这样即可测量非均衡占空比的方波信号。

c)方法二还可计多次正半周期取平均值,可大大提高精度,但这样会提高实验的最低量程4.两算法的对比a)方法一误差均衡,切易于扩大量程,且可测量任意占空比的方波信号,但由于单片机的限制频率越高误差将表现更明显。

b)方法二在量程内误差比方法一稍小,占用CPU资源较小,但量程比方法一小,切不能测量非均衡占空比的频率信号,超过量程测量结果完全错误。

c)由此可见方法一较方法二有明显的优势六.课程设计的心得体会通过这次综合实验,不仅加深了我对单片接的认识而却还学会了设计,开发以及实际测试,锻炼了我们的实际动手能力。

在课程设计中通过两种原理与算法是我更清晰的认识了单片机对数据的处理,进行程序调试。

在此期间我们遇到很多麻烦,但通过仔细分析,我一次又一次品尝到了解决问题的喜悦,最终完成了实验,在测试中我们发现了自己知识的不足,通过几天的奋斗,我们学到了很多东西,最重要的是我们学会了一种精神————永不放弃。

相关文档
最新文档