基于AT89C51的频率计设计_第1页
基于AT89C51的频率计设计_第2页
基于AT89C51的频率计设计_第3页
基于AT89C51的频率计设计_第4页
基于AT89C51的频率计设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、基于AT89C51的频率计设计第一章绪论;随着微电子技术和计算机技术的迅速发展,特别是单片;采用不同的测量原理,可以设计出不同结构的频率测量;通常能对频率和时间两种以上功能测量的数字化测量仪;1.1频率计的概述;数字频率计是计算机、通讯设备、音频视频等科研生产;本数字频率计将采用定时、计数的方法测量频率,采用;1.2频率计的主要性能;1.2.1.测试功能;它表明数字频率计所具备的全部测试第一章 绪 论随着微电子技术和计算机技术的迅速发展,特别是单片微机的出现和发展,使传统的电子测量仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。频率计广泛采

2、用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。对石英晶体振荡器,各种信号发生器,各种倍频和分频电路输出信号的频率需要测量;广播,电视,电讯,微电子技术等现代化的科学领域,更需要进行频率测量。采用不同的测量原理,可以设计出不同结构的频率测量仪器,所以按测量原理来分,数字频率计可分为谐振式,比较式和计数式三类;按选用电路形式来分,它又可以分为模拟式和数字式两类。通常能对频率和时间两种以上功能测量的数字化测量仪器,称为数字频率计,有时也称为通用计数器或电子计数器。当前较多采用的是数字频率计。计数式频率计是基于时间或频率的A/D转换原理,并依赖于数字计数技术发

3、展起来的一类新型数字仪器。与其他电子仪器一样,数字频率计也经历了电子管,晶体管和集成电路等几个阶段,其性能日臻完善,功能不断扩大,若配以适当的插件或传感器,还可以对多种电量和非电量进行测量。1.1 频率计的概述数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。本数字频率计将采用定时、计数的方法测量频率,采用一个1602A LCD显示器动

4、态显示6位数。测量范围从1Hz10kHz的正弦波、方波、三角波,时基宽度为1us,10us,100us,1ms。用单片机实现自动测量功能。1.2 频率计的主要性能1.2.1. 测试功能它表明数字频率计所具备的全部测试功能,一般包括测频,周期,累计脉冲数,频率比,时间间隔及自较等功能。1.2.2. 测量范围它说明不同功能的有效测量范围。如测频率时,测量范围是数字频率计处于正常工作条件下,被测信号的频率范围,一般用频率的上,下限值表示,低端大部分从10HZ开始;高端因不同的频率计而异。因此高端频率是确定低,中,高速计数器的依据。在测量周期时,测量范围常用周期的最大值,最小值表示。1.2.3. 输入

5、特性数字频率计一般有23个输入通道,测试不同项目时,被测信号可经不同的通道输入仪器。输入特性是表明数字式频率计于被测信号源相连的一组特性参数,通常包括以下几个方面。(1)输入灵敏度。通常指仪器能正常工作的最小输入电压的有效值。常用的数字频率计的灵敏度在100mV左右。(2)最大输入电压。指仪器所能允许的最大输入电压值,被测信号超过该值,则仪器不能保证正常工作,甚至会损坏。(3)输入耦合方式。仪器设置AC和DC两种耦合方式。AC耦合时,被测信号经隔直电容输入,DC耦合时,被测信号直接进入输入电路。AC耦合时适用于测量带有直流电平的信号,DC耦合适用于低频脉冲或阶跃方波信号的测量。(4)输入阻抗。

6、为了减轻信号源的负载,数字式频率计一般采用高频输入阻抗。输入阻抗由输入电阻和输入电容两部分组成。1.2.4. 显示及工作方式它表明可显示的内容,显示数字的位数,所用的显示器件以及一次测量完毕显示测量结果的持续时间。有的还说明电子计数器是“不记忆”显示方式或“记忆”显示方式。1.2.5. 输出仪器可以直接输出的标准频率信号有几种,而且可以表明输出测量数据的编码方式和输出电平等。第二章 方案选择及论证2.1 方案论证和设计方案一:系统测频、测周期部分采用中小规模数字集成电路,用机械功能转换开关换挡,完成测频率、测量周期及测脉宽等功能。该方案的特点是中小规模集成电路应用技术成熟,概念清楚,能可靠的完

7、成频率计的基本功能,但由于系统功能要求较高,所以电路过于复杂。而且多量程转换开关使用不便。方案二:采用测频集成芯片,如5G7226B是采用CMOS大规模集成电路工艺制造的单片电子计数器芯片。它只需外接几个元件就可以构成一台体积小、成本低的多功能通用计数器。其直接测量频率范围为010MHz,测周期范围为0.5us10s;有4个内部闸门时间(0.01s、0.1s、1s、10s)可供选择;位和段的信号线均能直接驱动LED数码管,并且有益处指示;仅要求单一的5V直流电源供电,使用非常方便。方案三:系统采用STC89C51单片机作为控制核心,门控信号由单片机产生。由于使用了单片机,使得整个系统具有极为灵

8、活的可编程性,能方便地对系统进行功能扩展与改进。以上方案均需使用小信号放大、整形通道电路来提高系统的测量精度和灵敏度。方案比较及其选用依据:虽然方案一要比方案二简洁、新颖,可以满足系统设计的指标要求,但是不符合题意。采用带有运算器的单片机使本系统可以通过对软件改进而扩展功能,提高测量精度,因此我们采用方案三作为具体实施方案。图1 系统总框图2.2 基本设计原理基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数N

9、,则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s。闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数,所以被测频率fx=NHz。测频率原理分析:若某一信号在T秒时间里重复变化了N 次,则根据频率的定义可知该信号的频率fs 为:fs=N/T 通常测量时间T取1秒或它的十进制时间。2.3 设计思路所设计的等精度

10、宽范围的频率计用单片机AT89C51 、计数器74HC393 及D 触发器74HC74 等构成。利用外扩的计数器(如74HC393) 和单片机AT89C51 内含的16 位计数器来构成多位计数器分别对待测信号和标准信号计数。在待测信号和标准信号同步条件下,当标准信号的计数达到一定时,可对两个信号的计数进行处理来实现待测信号的测频。由于引进对标准信号的计数来定时,因此可达到与标准信号相当的精度。采用的74HC393 最高计数频率可达39MHz ,比Maxim 公司的ICM7240 计数频率要高的多。若对外部信号进行分频计数,然后再利用AT89C51 对所测信号进行相对应的扩频,这样可使频率计的最

11、高测量频率达GHz 数量级范围。由此达到频率计测量的宽范围的要求。现讨论用AT89C51 和74HC393 扩展计数器对外部待测信号计数的工作原理,原理图如图5所示。负交替的信号波形变换成可被单片机接受的TTL/C;图3系统硬件框图;系统软件包括测量初始化模块、显示模块、信号频率测;图4系统软件框图;2.5处理方法;本频率计的设计以AT89C51单片机为核心,利用;部引脚发生从1到0的跳变时计数器加1,这样在计数;设计综合考虑了频率测量精度和测量反应时间的要求;2.6频率计的量程自动切换;在使用计数方法实现频率测量时,这负交替的信号波形变换成可被单片机接受的TTL/ CMOS 兼容信号;分频电

12、路用于扩展单片机的频率测量范围并实现单片机频率测量和周期测量使用统一的输入信号。图3 系统硬件框图系统软件包括测量初始化模块、显示模块、信号频率测量模块、量程自动转换模块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数算术运算模块、浮点数到BCD 码转换模块。系统软件框图如图3 所示。图4 系统软件框图2.5 处理方法本频率计的设计以AT89C51 单片机为核心,利用它内部的定时/ 计数器完成待测信号周期/ 频率的测量。单片机AT89C51 内部具有2 个16 位定时/计数器,定时/ 计数器的工作可以由编程来实现定时、计数和产生计数溢出中断要求的功能。在构成为定时器时,每个机器

13、周期加1 (使用12MHz 时钟时,每1us 加1) ,这样以机器周期为基准可以用来测量时间间隔。在构成为计数器时,在相应的外部引脚发生从1 到0 的跳变时计数器加1 ,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入每个机器周期被采样一次,这样检测一次从1 到0 的跳变至少需要2 个机器周期(24 个振荡周期) ,所以最大计数速率为时钟频率的1/ 24 (使用12MHz 时钟时,最大计数速率为500 KHz) 。定时/计数器的工作由相应的运行控制位TR 控制,当TR置1 ,定时/ 计数器开始计数;当TR 清0 ,停止计数。设计综合考虑了频率测量精度和测量反应时间的要求。例如当要求频

14、率测量结果为3 位有效数字,这时如果待测信号的频率为1Hz ,则计数闸门宽度必须大于1000s。为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法。当待测信号的频率大于100Hz 时,定时/ 计数器构成为计数器,以机器周期为基准,由软件产生计数闸门,这时要满足频率测量结果为3 位有效数字,则计数闸门宽度大于1s 即可。当待测信号的频率小于100Hz 时,定时/ 计数器构成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号的周期。用方波作计数闸门,当待测信号的频率等于100Hz ,使用12MHz 时钟时的最小计数值为10000 ,完全满足测量精度的要求。2.6

15、频率计的量程自动切换在使用计数方法实现频率测量时,这时外部的待测信号为定时/ 计数器的计数源,利用软件延时程序实现计数闸门。频率计的工作过程为:首先定时/计数器的计数寄存器清0 ,运行控制位TR 置1 ,启动定时/ 计数器;然后运行软件延时程序,同时定时/计数器对外部的待测信号进行计数,延时结束时TR 清0 ,停止计数;最后从计数寄存器读出测量数据,在完成数据处理后,由显示电路显示测量结果。在使用定时方法实现频率测量时,这时外部的待测信号通过频率计的予处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时/ 计数器的输入脚。这时频率计的工作过程为:首先定时/ 计数器的计数寄存器清0 ,然后

16、检测方波高电平是否加至定时/ 计数器的输入脚;当判定高电平加至定时/计数器的输入脚,运行控制位TR 置1 ,启动定时/计数器对单片机的机器周期的计数,同时检测方波高电平是否结束;当判定高电平结束时TR 清0 ,停止计数,然后从计数寄存器读出测量数据,在完成数据处理后,由显示电路显示测量结果。测量结果的显示格式采用科学计数法,即有效数字乘以10 为底的幂。这里设计的 频率计用5 位数码管显示测量结果:前3 位为测量结果的有效数字;第4 位为指数的符号;第5 位为指数的值。采用这种显示格式既保证了测量结果的显示精度,又保证了测量结果的显示范围(0. 100Hz - 9. 99MHz) 。量程自动转

17、换的过程由频率计测量量程的高端开始。由于只显示3 位有效数字,在测量量程的高端计数闸门不需要太宽, 例如在10. 0 KHz -9919 KHz 频率范围,计数闸门宽度为10mS 即可。频率计每个工作循环开始时使用计数方法实现频率测量,并使计数闸门宽度为最窄,完成测量后判断测量结果是否具有3 位有效数字,如果成立,将结果送去显示,本工作循环结束;否则将计数闸门宽度扩大10 倍,继续进行测量判断,直到计数闸门宽度达到1s ,这时对应的频率测量范围为100Hz - 999Hz。如果测量结果仍不具有3 位有效数字,频率计则使用定时方法实现频率测量。定时方法测量的是待测信号的周期,这种方法只设一种量程

18、,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将结果送去显示。这样无论采用何种方式,只要完成一次测量即可,频率计自动开始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转换。第三章 系统的硬件设计3.1 信号预处理电路频率计信号预处理电路如图5 所示,它由四级电路构成。第一级为零偏置放大器,当输入信号为零或者为负电压时,三极管截止,输出高电平;当输入信号为正电压时,三极管导通,输出电压随着输入电压的上升而下降。零偏置放大器把如正.2AT89C51单片机及引脚的说明;频率测量电路选用89C51作为频率计的信号处理核;单片机的外部计数口测频率的局限性分析:;在每个机

19、器周期的S5P2期间,CPU采样引脚的输;复位电路的基本功能是:系统上电时提供复位信号直至;89C51是一种高性能低功耗的采用CMOS工艺制;·VCC:电源电压;·GND:地;·P0口:P0口是一组8位漏极开路型双向I/O3.2 AT89C51单片机及引脚的说明频率测量电路选用89C51 作为频率计的信号处理核心。89C51 包含2 个16 位定时/ 计数器、1个具有同步移位寄存器方式的串行输入/ 输出口和4 K×8 位片内FLASH 程序存储器。16 位定时/ 计数器用于实现待测信号的频率测量或者待测信号的周期测量。同步移位寄存器方式的串行输入/ 输出

20、口用于把测量结果送到显示电路。4 K ×8 位片内FLASH 程序存储器用于放置系统软件。89C51 与具有更大程序存储器的芯片管脚兼容,如: 89C52(8 K×8 位) 或89C55 (32 K×8 位) ,为系统软件升级打下坚实的物质基础。单片机的外部计数口测频率的局限性分析:在每个机器周期的S5P2期间,CPU采样引脚的输入电平。若前一机器周期采样值为1,下一机器周期采样值为0,则计数器增1,此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个1到0的跳变需要两个机器周期,故外部脉冲频率不超过振荡器频率的124。复位电路的基本功能是:系统上电时提

21、供复位信号直至系统电源稳定后撤销复位信号,为可靠起见电源稳定后还要经一定的延时才撤销复位信号以防电源开关或电源插头分-合过程中引起的抖动而影响复位,有效的防止系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。89C51是一种高性能低功耗的采用CMOS工艺制造的8位微控制器,它提供下列标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器, 一个5中断源两个优先级的中断结构,一个双工的串行口, 片上震荡器和时钟电路。引脚说明:·VCC:电源电压·GND:地·P0口:P0口是一组8位漏极开路型双向I/O口,

22、作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。当对0端口写入1时,可以作为高阻抗输入端使用。当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,P0口具有内部上拉电阻。在EPROM编程时,P0口接收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。·P1口:P1口是一带有内部上拉电阻的8位双向I/O口。P1口的输出缓冲能接受或输出4个TTL逻辑门电路。当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。&

23、#183;P2口:P2是一带有内部上拉电阻的8位双向的I/O端口。P2口的输出缓冲能驱动4个TTL逻辑门电路。当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX DPTR)时,P2口送出高8位地址数据。在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。当利用8位地址线访问外部数据存储器时(例MOVX R1),P2口输出特殊功能寄存器的内容。当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。 ·

24、P3口:P3是一带有内部上拉电阻的8位双向的I/O端口。P3口的输出缓冲能驱动4个TTL逻辑门电路。当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。·ALE:当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。当在Flash编程时还可以作为编程脉冲输出。一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一

25、个ALE脉冲。程序存储允许时外部程序存储器的读选通信号。当AT89C52执行外部程序存储器的指令时,每个机器周期两次有效,除了当访问外部数据存储器时,将跳过两个信号。·VPP:外部访问允许。为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,必须同GND相连接。需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。当执行内部编程指令时,应该接到VCC端。·XTAL1:振荡器反相放大器以及内部时钟电路的输入端。·XTAL2:振荡器反相放大器的输出端。在本次设计中,采用89C51作为CPU处理器,充分利用其硬件资源,结合D触发器CD401

26、3,分频器CD4060,模拟转换开关CD4051,计数器74LS90等数字处理芯片,主要控制两大硬件模块,量程切换以及显示模块。3.3 1s定时的实现在频率计设计过程当中,如何实现1s 的定时时间是一个关键。一般思路是利用AT89C51 本身的定时器的软件中断来实现1s 的定时。此种方法由于要达到1s 的定时,必须用AT89C51 的定时中断的多次中断来实现。若每次软件定时50ms ,则需20 次中断才能达到1s。由于定时器的软件中断响应会存在延时,而且还会随着AT89C51 外部晶振频率的不同而不同,因此用软件中断很难调整到确定的1s 定时时间。并且由于内部定时器的计数频率是经过晶振频率的十

27、二分频以后得到的,因此也很难达到所需的精度。用硬件来实现定时的硬件电路可将图3 中待测信号输入换成标准信号输入即可,本设计中为晶振输入。因此在整个频率计的设计中需用两片74HC393 来计数。硬件实现定时的方法是对标准信号,如晶振产生的时钟信号,用外部扩展的计数器和AT89C51 内部的计数器共同计数来实现。可将用于对标准信号计数的外部扩展计数器的最高位引到AT89C51 的T1 端,利用AT89C51 单片机的T1 口计数溢出中断可以实现对标准信号的计数和定时。若采用10MHz 晶振,要实现1s 定时,可由外部扩展的计数器和AT89C51 内部计数器构成的整个计数器计数,当其计数到10 兆个

28、数后利用T1 口的计数器计数溢出中断来实现定时即可。要使用于定时的计数器达到10 兆个计数,仅需对AT89C51 的T1 计数器设置计数初始值。同理,要实现0. 01s、0. 1s 和10s的定时,也仅需设置用于定时的标准计数器的初始值,这可用软件来设定。实践证明用此硬件计数器计数定时方法可使所设计的频率计的精度得到提高,且易于对基准信号时钟进行调整,便于产品的后期调试工作。3.4 同步问题的实现除了定时信号的确定之外,在设计频率计时,还必须考虑基准信号和待测信号同步。若待测信号和基准时钟信号不同步,也很难达到所需的精度。下面介绍用74HC74 来实现同步,图6 是同步原理图。图6 同步原理图

29、工作原理:先使CD 端和D 端为低电平,在测量开始前使CD 和D 为高电平,然后靠待测信号的脉冲来使Q 端输出为高电平。用Q 端启动待测信号到达计数器输入端,同时也启动用于定时的对标准信号计数的计数器计数。当对标准信号计数的计数器计数时间到达1 秒定时时间后,使CD 和D 端为低电平,即可达到标准信号与待测信号的同步。然后再在AT89C51 的定时器中断子程序中处理两个信号计数器的计数值可得到待测信号的频率。利用此方法来实现信号的同步,可使设计的频率计的精度得到进一步提高。3.5 数据显示电路显示电路采用静态显示方式。频率测量结果经过译码,通过89C51 的串行口送出。串行口工作于模式0 ,即

30、同步移位寄存器方式。这时从89C51 的RXD(P3. 0) 输出数据,送至串入并出移位寄存器74164 的数据输入口A 和B ;从TXD( P3.在图中OUT1为经整形和放大的被测信号,U4、U;_;过D触发器的CP端口则Q端的信号同时启动计数器U;设在一次预置门时间Tpr中对被测信号计数值Nx,;Nx?Tx?Ns?Tcs;即fx?;NxNs;fcs;dfx?;fcsNs;dN;dfcsNs;Nx?;NxfcsN;2s;dN;其测频相对误差为:;?fxfx;NsNxfcs;?fcsNxNx?N? 在图中OUT1为经整形和放大的被测信号,U4、U5为两个可控计数器,标准频率信号从U5的时钟输入

31、端CLK1输入,其频率为fcs;经整形后的被测信号从U4的时钟输入端CLK1输入,其频率为fx,测得Fx。P1.0为门控信号,它是一个宽度为Tpr的脉冲。当门控信号为低电平时,经整形后的被测信号的上升沿通_过D触发器的CP端口则Q端的信号同时启动计数器U4、U5。U4、U5分别对被测信号(频率为Fx)和标准信号(频率为fcs)同时计数;当门控信号为高电平时,经整形后的被测信号的一个上升沿将使这两个计数器同时关闭。设在一次预置门时间Tpr中对被测信号计数值Nx,对标准信号的计数值为Ns,Nx?Tx?Ns?Tcs即fx?NxNsfcs。对其两边微分得:dfx?fcsNsdNx?dfcsNsNx?N

32、xfcsN2sdNs。其测频相对误差为:?fxfx?NsNxfcs?fcsNxNx?N?f?fcs?Nsxcs2?NNsNs?s?NxNx?fcsfcs?NsNs? ?1Ns?fcsfcs?NsNs?fcsfcs?fcsfcs?1Tprfcs由上式可知,测频误差取决于标准频率fcs和预置闸门宽度Tpr,与被测信号频率无关。这是因为计数器U4和U5的计数闸门宽度恰好相等的原故。第四章 系统的软件设计4.1 AT89C51 测频的软件实现原理基准时钟信号与待测信号同步实现以后,就可对AT89C51 编软件来实现对待测信号频率的测量。当用于定时的标准信号计数器计到所要定时如0. 01s ,0. 1s

33、 ,1s 或10s 的相应的计数脉冲个数并产生中断后,在定时器中断子程序中分别读取并计算用于定时的计数器和对待测信号计数的计数器的实际读数值。若实际所计到的基准信号的计数器计到的值为Nf ,实际所计到的待测信号的计数器计到的值为N s ,此时假定基准信号的频率为10MHz。则信号频率f s 可用下式计算:fs =Ns/Nf×10MHz在定时器中断子程序里用上式计算出待测信号的频率后可将其值送到显示器如数码管显示。4.2 AT89C51 测频的软件程序框图图10 主程序框图 图11 中断子程序框图4.3 数据处理过程频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始

34、化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时计数器的工作方式。定时计数器的工作首先被设置为计数器方式,即用来测量信号频率。首先定时计数器的计数寄存器清0,运行控制位TR置1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值(即测量频率的高量程)开始测量,计数闸门结束时TR清0,停止计数。计数寄存器中的数值经过数制转换程序从十六进制数转换为十进制数。判断该数的最高位,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的计数,直到满足测量数据有效位数的要求。当上述测量判断过程直到计数闸门宽

35、度达到1 s(对应的频率测量范围为100999 Hz)时测量结果仍不具有3位有效数字,频率计则使用定时方法测量待测信号的周期。定时计数器的工作被设置为定时器方式,定时计数器的计数寄存器清0,在判断待测信号的上跳沿到来后,运行控制位TR置为1,以单片机工作周期为单位进行计数,直至信号的下跳沿到来,运行控制位TR清0,停止计数。16位定时计数器的最高计数值为65 535,当待测信号的频率较低时,定时计数器将发生溢出。产生溢出时,程序进入定时器中断服务程序,对溢出次数进行计数。待测信号的周期由3个字节组成:定时计数器溢出次数、定时计数器的高8位和低8位。信号的频率f与信号的周期T之间的关系为: f1

36、T完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,采用浮点数算术运算。浮点数由3个字节组成:第1字节最高位为数符,其余7位为阶码;第2字节为尾数的高字节;第3字节为尾数的低字节。待测信号周期的3个字节定点数通过截取高16位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。再通过浮点数到BCD码转换模块把用浮点数格式表达的信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。完成显示后,频率计都开始下一次信号的频率测量。4.4 系统软件模块系统软件设计采用模块化设计方法。整个系统由初始化模块、

37、显示模块和信号频率测量模块等各种功能模块组成(见图12) 。上电后,进入系统初始化模块,系统软件开始运行。在执行过程中,根据运行流程分别调用各个功能模块完成频率测量、量程自动切换、周期测量和测量结果显示。图12系统软件流程图;4.5浮点数学运算程序;51系列单片机属于微控制器,由于其CPU字长和指;第五章实测结果和误差分析;为了衡量这次设计的频率计的工作情况和测量精度,我;表1频率测量对比表;如图7信号预处理电路所示,待测信号在进入单片机之;采用计数法实现频率测量,误差来源主要有计数误差和;df/f=|dN/N|+|dt/t|;这里N为计数值,t为闸门时间;图12 系统软件流程图4.5 浮点数

38、学运算程序51系列单片机属于微控制器,由于其CPU字长和指令功能的限制,它适用于控制领域,在信号处理方面不很擅长。在本频率计中需要完成周期到频率的换算,为保证测量结果的准确,这里应用了浮点数数学运算。从周期到频率的换算过程包括: 3字节定点数到浮点数的转换、浮点数数学运算和浮点数到BCD 码的转换。由于通过多次的转换,整个换算过程精度还不是很高,通过实测,精度大约为千分之二左右。第五章 实测结果和误差分析为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了试验。以南京电讯仪器厂制造的E312B 型通用计数器为基准,用这次设计的频率计对信号源进行了测量,测量数据如表1 所示。表1 频率

39、测量对比表如图7信号预处理电路所示,待测信号在进入单片机之前经过了10 ×2 次分频。频率计以进入单片机时的信号频率等于100Hz 为基准,既待测信号频率等于2 KHz 为基准,大于此频率采用频率测量,小于此频率采用周期测量。由表1 频率测量对比表可以看出,频率测量的测量精度大于周期测量的测量精度。采用计数法实现频率测量,误差来源主要有计数误差和闸门误差两部分。误差表达式为d f / f = | dN/ N| + | dt/ t|这里N 为计数值,t 为闸门时间。闸门时间相对误差dt/ t 主要取决于单片机晶振的频率稳定度,选择合适的石英晶体和振荡电路,误差一般可小于10 - 6 。

40、当仅显示3 位有效数字时,该项误差可以忽略。对于dN/ N 部分,无论闸门时间长短,计数法测频总存在1个单位的量化误差。在表1 中,待测信号频率大于2 KHz 时的误差就来源于计数误差。增加显示的有效数字位数可降低该项误差的影响。当待测信号频率小于2 KHz 时,直接测量的是信号的周期。周期测量的误差表达式为:dT/ T = | dN/ N| + | d0/0|这里dN/ N 为量化误差,d0/0 为单片机晶振的频率稳定度。在进行周期测量时进入单片机的信号频率小于100Hz ,使用12MHz 时钟这时的最小计数值为10000 。当仅显示3 位有效数字时,该项误差现在也可以忽略。待测信号的周期测

41、量值通过浮点数数学运算变换成频率值,这时的误差来源于浮点数数学运算和数制之间的转换所带来的误差。第六章 系统测试测试使用仪器:YB4325型示波器、CA1640P-20型函数信号发生器、Linwd-910型直流稳压电源。系统整机调试:本设计任务中,我们完成了简易频率计的设计,性能达到了目标要求。总结与致谢2009年5月,我开始了我的工程实训工作,时至今日,论文基本完成。从最初的茫然,到慢慢的进入状态,再到对思路逐渐的清晰,整个写作过程难以用语言来表达。历经了几个月的奋战,紧张而又充实的工程实训终于落下了帷幕。回想这段日子的经历和感受,我感慨万千,在这次工程实训的过程中,我拥有了无数难忘的回忆和

42、收获。6月初,在与导师的交流讨论中我的题目定了下来,是:基于AT89S51单片机控制的频率计设计。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手。我将这一困难告诉了导师,在导师细心的指导下,终于使我对自己现在的工作方向和方法有了掌握。9月初,资料已经查找完毕了,我开始着手论文的写作。在写作过程中遇到困难我就及时和导师联系,并和同学互相交流,请教专业课老师。在大家的帮助下,困难一个一个解决掉,论文也慢慢成型。9月底,论文的文字叙述已经完成。10月开始进行相关图形的绘制工作和电路的设计工作。为了画出自己满意的电路图,图表等,我仔细学

43、习了Excel的绘图技术。在设计电路初期,由于没有设计经验,觉得无从下手,空有很多设计思想,却不知道应该选哪个,经过导师的指导,我的设计渐渐有了头绪,通过查阅资料,逐渐确立系统方案。当我终于完成了所有打字、绘图、排版、校对的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。我不会忘记这难忘的几个月的时间。工程实训的制作给了我难忘的回忆。在我徜徉书海查找资料的日子里,面对无数书本的罗列,最难忘的是每次找到资料时的激动和兴奋;亲手设计电路图的时间里,记忆最深的是

44、每一步小小思路实现时那幸福的心情;为了论文我曾赶稿到深夜,但看着亲手打出的一字一句,心里满满的只有喜悦毫无疲惫。这段旅程看似荆棘密布,实则蕴藏着无尽的宝藏。我从资料的收集中,掌握了很多单片机、频率计的知识,让我对我所学过的知识有所巩固和提高,并且让我对当今单片机、频率计的最新发展技术有所了解。在整个过程中,我学到了新知识,增长了见识。在今后的日子里,我仍然要不断地充实自己,争取在所学领域有所作为。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次工程

45、实训中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的导师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成工程实训论文。在我的学业和论文的研究工作中无不倾注着老师们辛勤的汗水和心血。老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。参考文献1 程守洙,江之永主编. 普通物理学(第5 版) M . 北京:高等教育出版社,1998.2 程守洙,江之永主编

46、. 普通物理学(1982 年修订本)M . 北京:高等教育出版社,1982.3 马文蔚改编. 物理学(第4 版) M . 北京:高等教育出版社,1999. 4 马文蔚改编. 物理学(第3 版) M . 北京:高等教育出版社,1993. 5 吴百诗主编. 大学物理(修订本) M . 西安:西安交通大学出版社,1994.6 阎金铎等编写. 普通物理教学手册M . 北京:北京师范大学出版社,1984.7 祝之光编写. 物理学 M . 北京: 高等教育出版社,1988. 8 张学恭主编. 物理学M . 西安:西安交通大学出版社,1996. 9 张三慧主编. 大学物理学(第2 版) 力学M . 北京:清

47、华大学出社,2000.10 倪光炯等编. 改变世界的物理学(第2 版) M . 上海:复旦大学出版社,1999.11 向义和编著. 大学物理导论M . 北京:清华大学出版社,1999. 12 中学物理教师手册M . 上海:上海教育出版社,1983.13 李光第,朱月秀等 . 单片机基础M . 北京航空航天大学出版社,2004 14 李朝青. 单片机原理及接口技术设计M . 北京航空航天大学出版社,200315 赵茂泰. 智能仪器原理及应用M . 电子工业出版社,2004 16 赫建国,刘建新等 . 基于单片机频率计设计J 西安邮电学院学报,200317 曹柏荣,林士玮 . 基于单片机康复仪研究

48、J 微计算机信息, 2006附录:单片机最小系统原理图C语言程序#include<reg52.h> #include <intrins.h>#define uchar unsigned char #define uint unsigned intuchar temp8=0,0,0,0,0,0,0,0; uchar temp18=0,0,0,0,0,0,0,0;uchar T1count,timecount,T1count1,timer,yushu,yushu1; long fre,frx; float zhou; bit flag; bit flag1;void del

49、ay(uchar); bit result;sbit ird=P11; sbit id=P10; sbit clr=P12;sbit en=P15; sbit rw=P16; sbit rs=P17;sbit rd=P37; sbit kb=P13; sbit kx=P14;sbit A0=P36; sbit A1=P37; bit start;uchar code tab1="fre: " uchar code tab2="frx: "void delay(uchar z) uchar x,y; for(x=z;x>0;x-) for(y=110

50、;y>0;y-); panduan_bz() rs = 0; rw = 1; en = 1;result = (bit)(P2&0x80); en = 0;return(result); void write_com(uchar com) while(panduan_bz(); rs = 0; rw = 0; en = 0; P2=com; delay(5); en = 1; delay(5); en = 0; void write_dat(uchar dat) while(panduan_bz(); rs = 1; rw = 0; en = 0; P2=dat; delay(5

51、); en = 1; delay(5); en = 0; void init() uchar num; en = 0;write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);write_com(0x80);for(num=0;num<16;num+)write_dat(tab1num);delay(5);write_com(0x80+0x40);for(num=0;num<16;num+)write_dat(tab2num);delay(5);void init1()ird=1;id=1;TMOD=0x5

52、5;TH1=0;TL1=0; /初值为0TH0=0;TL0=0;TR0=1;TR1=1;IE=0x8a;RCAP2H=(65536-47850)/256; /重装载计数器赋初值RCAP2L=(65536-47850)%256;ET2=1; /开定时器2中断EA=1; /开总中断TR2=1;void display()uchar i;fre=(T1count*65536+TH1*256+TL1); /频率计算temp0=fre/10000000;temp1=fre%10000000/1000000;temp2=fre%10000000%1000000%1000000/100000;temp3=fre%10000000%1000000%1000000%100000/10000;temp4=fre%10000000%1000000%1000000%100000%10000/1000;temp5=fre%10000000%1000000%1000000%100000%10000%1000/100;temp6=fre%10000000%1000000%1000000%100000%10000%1000%100/10;temp7=fre%10000000%1000000%10000

温馨提示

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

评论

0/150

提交评论