基于89C51单片机的可自选量程的数字频率计设计.doc

上传人:wj 文档编号:4886529 上传时间:2023-05-07 格式:DOC 页数:31 大小:725KB
下载 相关 举报
基于89C51单片机的可自选量程的数字频率计设计.doc_第1页
第1页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第2页
第2页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第3页
第3页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第4页
第4页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第5页
第5页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第6页
第6页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第7页
第7页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第8页
第8页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第9页
第9页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第10页
第10页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第11页
第11页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第12页
第12页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第13页
第13页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第14页
第14页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第15页
第15页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第16页
第16页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第17页
第17页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第18页
第18页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第19页
第19页 / 共31页
基于89C51单片机的可自选量程的数字频率计设计.doc_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于89C51单片机的可自选量程的数字频率计设计.doc

《基于89C51单片机的可自选量程的数字频率计设计.doc》由会员分享,可在线阅读,更多相关《基于89C51单片机的可自选量程的数字频率计设计.doc(31页珍藏版)》请在冰点文库上搜索。

基于89C51单片机的可自选量程的数字频率计设计.doc

中北大学2010届毕业设计说明书

1引言

单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度[1]。

51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和皮鞭接受及应用,51系列单片机还会在继后很唱一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用时非常重要的。

随着电子技术的发展,当前数字系统的设计正朝着速度快、容量大、体积小、重量轻的方向发展。

推动该潮流迅猛发展的引擎上日趋进步和完善的设计技术。

目前数字频率计的设计可以直接面向用户要求,根据系统的行为和功能要求,自上至下的逐层挖不出个办法相应的描述、综合、优化、仿真与验证,知道生成期间。

上述设计过程除了系统行为和功能描述以外。

其余所有的设计过程几乎都可以用计算机来自动的完成,也就是说做到了电子设计自动化(EDA)。

这样做可以大大地缩短系统的设计周期,以适应当今品种多,批量下的电子市场的需求,提高产品的竞争能力。

数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。

随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用汇编语言。

将使整个系统大大简化。

提高整体的性能和可靠性。

本文用汇编语言在CPLD器件上实现一种8b数字频率计测频系统,能够用十进制数码显示被测信号的频率,不仅能够测量正弦波、方波和三角波等信号的频率,而且还能对其他多种物理量进行测量。

具有体积小、功耗低等特点。

2系统概述

2.1数字频率计的概述

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。

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

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

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

2.2设计思路及原理

数字频率计是用于测量信号(方波、正弦波或其它脉冲信号)的频率,并用十进制数字显示,它具有精度高,测量迅速,读数方便等优点。

频率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。

通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。

闸门时间也可以大于或小于一秒。

闸门时间越长,得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。

闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。

本文。

数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号[4]。

如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率,转速,声音的频率以及产品的计件等等。

  脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,其中,f为被测信号的频率,N为计数器所累计的脉冲个数。

T为产生N个脉冲所需的时间。

计数器所记录的结果,就是被测信号的频率。

如在1S内记录1000个脉冲,则被测信号的频率为1000Hz。

晶振产生较高的标准频率,经分频器后可获得各种时基脉冲(1mS,10mS,0.1S,1S等),时基信号的选择由开关k控制.用单稳态触发器产生指令和清零信号,对置零信号而言,当达到所调节的延时时间时,延时电路输出一个复位信号,使计数器和所有的触发器量0,为后续新的一次取样作好准备,即能锁住一次显示的时间,使保留到接受新的一次取样为止。

用4片十进制计数器74ls160完成对整形后的待测信号的计数,通过74ls273寄存,便于数码管显示,用74ls48和其驱动的共阴极的半导体数码管作为主要显示电路。

另外,信号的放大部分还可以用三极管放大电路来完成,而整形部分可用施密特触发器来完成,对施密特触发器只涉及到一个外接小电容,典型值为0.01uF。

为简单起见,可用555来做。

控制门用一个与门即可实现。

两个单稳态触发器完全一样,均可用555来做。

计数器用74LS160来完成,免去了接十进制计数器的麻烦(若用74LS161)。

锁存电路用四路锁存器74LS75来完成。

其输出可直接接到数电箱上的74LS247译码电路,进而显示结果。

2.3系统组成

待测信号

频率计由单片机89C51、信号予处理电路、串行通信电路、测量数据显示电路和系统软件所组成,其中信号予处理电路包含待测信号放大、波形变换、波形整形和分频电路。

系统硬件框图如图1所示。

信号予处理电路中的放大器实现对待测信号的放大,降低对待测信号的幅度要求;波形变换和波形整形电路实现把正弦波样的正负交替的信号波形变换成可被单片机接受的TTL/CMOS兼容信号;分频电路用于扩展单片机的频率测量范围并实现单片机频率测量和周期测量使用同一的输入信号[5]。

分频电路

波形整形

波形变换

放大器

单片机

串行通信电路

单片机

图1系统硬件框图

系统软件包括测量初始化模块、显示模块、信号频率测量模块、量程自动转换模块、信号周期测量模块、定时器中断服务模块、浮点数格式化模块、浮点数运算模块、浮点数到BCD码转换模块。

系统软件框图如图2所示。

量程自动转换模块

频率测量模块

初始化模块

周期测量模块

定时器中断服务模块

显示模块

浮点数格式化模块

浮点数算术运算模块

浮点数到BCD码转换模块

图2系统软件框图

2.4处理方法

本频率计的设计以AT89C51单片机为核心,利用它内部的定时/计数器完成待测信号周期/频率的测量。

单片机AT89C51内部具有2个16位定时/计数器,定时/计数器的工作可以由变成来实现定时、计数和产生计数溢出中断要求的功能。

在构成为定时器时,每隔几期周期加1(使用12MHz时钟时,每1us加1)这样以及其周期为基准可以用来测量时间间隔[6]。

在构成计数器时,在相应的外部引脚发生从1到0的的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。

外部输入每隔及其周期被采样一次,这样检测一次从1到0的跳变至少需要2个极其周期(24个震荡周期),所以最大计数速率为时钟频率的1/24(使用12MHz时钟时,最大计数速率为500KHz)。

定时/计数器的工作由相应的运行控制位TR控制,当TR置1,定时/计数器开始计数;当TR清0,停止计数。

设计综合考虑了频率测量精度和测量反应时间的需求。

例如当要求频率测量结果为3位有效数字,这时如果待测信号的频率为1Hz,则计数闸门宽度必须大于1000s。

为了兼顾频率测量精度和测量反应时间的要求,把测量工作分为两种方法。

当待测信号的频率大于100Hz时。

定时/计数器构成为计数器,以及其周期为基准,由软件产生计数闸门,这时要满足频率测量结果为3位有效数字,则计数闸门宽度大于1s即可。

当待测信号的频率小于100Hz时,定时/计数器构成为定时器,由频率计的予处理电路把待测信号变成方波,方波宽度等于待测信号的周期。

用方波作技术闸门,当待测信号的频率等于100Hz,使用12MHz时钟时的最小计数值为10000,完全满足测量精度的要求[7]。

2.5频率计的量程自动切换

在使用计数方法实现频率测量时,这时外部的待测信号为定时/计数器的计数源,利用软件延时程序实现计数闸门。

频率计的工作过程为:

首先定时/计数器的计数寄存器清0,运行控制位TR置1,启动定时/计数器;然后运行软件延时程序。

同时定时/计数器对外部的待测信号进行计数,延时结束时TR清0,停止计数;最后从计数寄存器读出测量数据,完成数据处理后,由显示电路显示测量结果。

在使用定时方法实现频率测量时,这时外部的待测信号通过频率计的予处理电路变成宽度等于待测信号周期的方波,该方波同样加定时/计数器的输入脚。

这时频率计的工作过程为:

首先定时/计数器的计数寄存器清0,然后检查方波高电平是否加至定时/计数器的输入脚;当判定高电平加至定时/计数器的输入脚,运行控制为TR置1,启动定时/计数器对单片机的及其周期的计数,同时检测方波高电平是否结束;当判定高电平结束时TR置0,停止计数,然后从计数寄存器读出测量数据,在完成数据处理后,由显示电路显示测量结果。

测量结果的显示格式采用科学计数法,即有效数字乘以10为底的幂。

这里设计的频率计用5位数码管显示测量结果:

前3位为测量结果的有效数字;第4位为指数的符号;第5位为指数的值。

采用这种显示格式既保证了测量结果的显示精度,由保证了测量结果的显示范围(0.100Hz—9.99MHz)[8]。

量程自动转换的过程由频率计测量量程的高端开始。

由于只显示3位有效数字,在测量量程的高端计数闸门不需要太宽,例如在10.0KHz-99.9KHz频率范围,计数闸门宽度为10mS即可。

频率计每个工作循环开始时使用计数方法实现频率测量,并是计数闸门宽度为最窄,完成测量后判断测量结果是否具有3位有效数字,如果成立,将结果送去显示,本工作循环结束;否则将计数闸门宽度扩大10倍,继续进行测量判断,直到计数闸门宽度达到1s,这时对应的频率测量范围为100Hz-999Hz。

如果测量结果仍不具有3位有效数字,频率计则使用定时方法实现频率测量。

定时方法测量的是待测信号的周期,这种方法只设一种量程,测量结果通过浮点运算模块将信号周期转换成对应的频率值,再将结果送去显示,这样无论采用何种方式,只要完成一次测量即可,频率计自动开始下一个测量循环。

因此该频率计具有连续测量的功能,同时实现量程的自动转换[9]。

3系统硬件设计

3.1信号予处理电路

频率计信号予处理电路如图3所示,它由四级电路构成。

第一级为零偏置放大器,当输入信号为零或者为负电压时,三极管截止,输出高电平;当输入信号为正电压时,三极管导通,输出电压随着输入电压的上升而下降。

零偏置放大器把如正弦波样的正负交替波形变换成单向脉冲,这使得频率计既可以测量任意方波信号的频率,也可以测量正弦波信号的频率。

放大器的放大能力实现了对小信号的测量,本电路可以测量幅度0.5V的正弦波或脉冲波待测信号[10]。

三极管应采用开关三极管以保证放大器具有良好的高频响应。

第二级采用带施密特触发器的反相器7414,它用于把放大器生成的单向脉冲变换成与电平相兼容的方波。

第三级采用十进制同步计数器74160,第级输出的方波加到74160的CLK,当从74160的TC输出可实现10分频(多个74160的级连可以进一步扩展测频范围)。

第四级同样采用十进制同步计数器74160,第三级输出的方波加到它的CLK,从它的Q0输出即可实现2分频,且其输出为对称方波,方波宽度等于待测信号的周期,从而为测量信号周期提供基础。

图3 信号予处理电路

3.2 AT89C51单片机及其引脚说明

频率测量电路选用89C51作为频率计的信号处理核心。

89C51包含2个16位定时/计数器、1个具有同步移位寄存器方式的串行输入/输出口和4K×8位片内FLASH程序存储器。

16位定时/计数器用于实现待测信号的频率测量或者待测信号的周期测量。

同步移位寄存器方式的串行输入/输出口用于把测量结果送到显示电路。

4K×8位片内FLASH程序存储器用于放置系统软件。

89C51与具有更大程序存储器的芯片管脚兼容,如:

89C52(8K×8位)或89C55(32K×8位),为系统软件升级打下坚实的物质基础。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51是一种低功耗高性能的8位单片机,片内带有一个4k字节的Flash可编擦除只读存储器(PEROM),它采用了CMOS工艺和ATMEL公司的高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统和MCU_51系列单片机兼容。

片内的Flash存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程。

同时已具有三级程序存储器保密的性能:

在众多的51系列单片机中,要算ATMEI公司的AT89C51更实用,因为它不仅和MCU_51系列单片机指令、管脚完全兼容,而且其片内的4k程序存储器是Flash工艺的,这种下艺的存储器用户可以用电的方式瞬间擦除、改写。

所以说这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机的程序还可以加密,这又很好地保护了所有者的劳动成果。

AT89C51是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。

AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

AT89C51具有PDIP、及PLCC等三种封装形式,以适应不同产品的需求。

主要功能特性:

兼容MCS—51Z指令系统4k可反复擦写(>1000次)FlashROM

32个双向I/O口静态操作0-24MHz

1个串行中断128x8bit内部RAM

两个外部中断源共6个中断源

可直接驱动LED3级加密位

低功耗空闲和掉电模式软件设置睡眠和唤醒功能

1.主如前所述,AT89C51单片机片内带有一个4k字节的Flash可编程可擦除只读存储器,这就决定了在某些方面其自身的优越性。

主要特性:

•与MCS-51兼容

•4K字节可编程闪烁存储器

•寿命:

1000写/擦循环

•数据保留时间:

10年

•全静态工作:

0Hz-24Hz

•三级程序存储器锁定

•128x8bit内部RAM

•32可编程I/O线

•两个16位定时器/计数器

•5个中断源

•可编程串行通道

•低功耗的闲置和掉电模式

•片内振荡器和时钟电路

2.管脚说明:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

3.振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止[11]。

3.3 数据显示电路

显示电路采用静态显示方式。

频率测量结果经过译码,通过89C51的串行口送出。

串行口工作于模式0,即同步移位寄存器方式。

这时从89C51的RXD(P3.0)输出数据,送至串入并出移位寄存器74164的数据输入口A和B;从TXD(P3.1)输出时钟,送至74164的时钟输入口CP。

74164将串行数据转换成并行数据,进行锁存。

74164输出的8位并行数据送至8段LED,实现测量数据的显示。

使用这种方法主程序可不必扫描显示器,从而单片机可以进行下一次测量。

这种方法也便于对显示位数进行扩展.

4 系统软件设计

4.1 数据处理过程

在频率计开始工作,或者完成一次频率测量,系统软件都进行测量初始化。

测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。

定时/计数器的工作首先被设置为计数器方式,即用来测量信号频率。

在对定时/计数器的计数寄存器清0后,置运行控制位TR为1,启动对待测信号的计数。

计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。

计数闸门结束时TR清0,停止计数。

计数寄存器中的值通过16进制数到10进制数转换程序转换为10进制数。

对10进制数的最高位进行判别,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的计数,直到满足测量数据有效位数的要求[12]。

当上述测量判断过程直到计数闸门宽度达到1s,这时对应的频率测量范围为100Hz-999Hz,如果测量结果仍不具有3位有效数字,频率计则使用定时方法测量待测信号的周期。

定时/计数器的工作这时被设置为定时器方式,在对定时/计数器的计数寄存器清0后,判断待测信号的上跳沿是否到来。

待测信号的上跳沿到来后,置运行控制位TR为1,以单片机工作周期为单位,启动对待测信号的周期测量。

然后判断待测信号的下跳沿是否到来,待测信号的下跳沿到来后,运行控制位TR清0,停止计数。

16位定时/计数器的最高计数值为65535,这样在待测信号的频率较低时,定时/计数器将发生溢出。

当产生定时/计数器将溢出,程序进入定时器中断服务程序,中断服务程序对溢出次数进行计数。

待测信号的周期由3个字节组成:

定时/计数器溢出次数、定时/计数器的高8位和低8位。

信号的频率f与信号的周期T之间的关系为:

完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。

为提高运算精度,这里采用浮点数算术运算。

浮点数用3个字节组成,第一字节最高位为数符,其余7位为阶码;第二字节为尾数的高字节;第三字节为尾数的低字节。

待测信号周期的3个字节定点数首先通过截取高16位、设置数符和计算阶码转换为上述格式的浮点数。

然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。

浮点数到BCD码转换模块把用浮点数格式表达的信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。

无论从哪一种方式进入显示模块,完成显示后,频率计都开始下一次信号的频率测量。

4.2 系统软件框图

入口

系统软件设计采用模块化设计方法。

整个系统由初始化模块、显示模块和信号频率测量模块等各种功能模块组成(见图4)。

上电后,进入系统初始化模块,系统软件开始运行。

在执行过程中,根据运行流程分别调用各个功能模块完成频率测量、量程自动切换、周期测量和测量结果显示。

系统初始化

频率测量

量程自动转换

No

Yes

测量数据显示

有效数位判别

中断服务程序

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2