基于单片机的频率计设计毕业设计论文.docx

上传人:b****5 文档编号:8170414 上传时间:2023-01-29 格式:DOCX 页数:23 大小:428.16KB
下载 相关 举报
基于单片机的频率计设计毕业设计论文.docx_第1页
第1页 / 共23页
基于单片机的频率计设计毕业设计论文.docx_第2页
第2页 / 共23页
基于单片机的频率计设计毕业设计论文.docx_第3页
第3页 / 共23页
基于单片机的频率计设计毕业设计论文.docx_第4页
第4页 / 共23页
基于单片机的频率计设计毕业设计论文.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于单片机的频率计设计毕业设计论文.docx

《基于单片机的频率计设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的频率计设计毕业设计论文.docx(23页珍藏版)》请在冰豆网上搜索。

基于单片机的频率计设计毕业设计论文.docx

基于单片机的频率计设计毕业设计论文

目录

一、引言1

1.1数字频率计的发展和意义1

1.2数字频率国内外的发展形势1

二、系统总体设计3

2.1系统设计要求3

2.2测频方法3

2.3系统设计思路3

2.4系统设计框图4

三、系统硬件设计5

3.1单片机模块5

3.1.1AT89C52介绍5

3.1.2单片机引脚分配6

3.1.3复位电路6

3.1.4定时/计数器6

3.2电源模块7

3.2.1电源变压器8

3.2.2整流电路8

3.2.3滤波电路9

3.2.4稳压电路9

3.2.5电源模块原理图9

3.3放大整形模块10

3.3.1与非门74LS0010

3.3.2放大整形模块原理图10

3.4分频模块11

3.4.1分频器74LS161芯片11

3.4.2多路选择器74LS151芯片12

3.4.3分频模块原理图12

3.5显示电路13

3.5.1频率数值显示电路13

3.5.2频率数值单位显示电路14

四、系统软件设计15

4.1开始15

4.2初始化模块15

4.3频率测量模块和量程自动切换模块16

4.4显示模块17

4.5延时模块17

五、数字频率计仿真18

5.1电源模块仿真18

5.2放大整形电路仿真19

5.2.1仿真软件MULTISIM10.0仿真整形电路19

5.2.2仿真放大整形电路19

5.3频率计仿真20

5.3.1用KEIL软件20

5.3.2使用软件Proteus仿真频率计21

5.3.3频率计仿真运行调试22

六、结论27

参考文献28

致谢29

附录A30

程序源代码30

附录B36

仿真效果图36

 

基于单片机的数字频率计

一、引言

1.1数字频率计的发展和意义

随着电子技术的飞速发展,各类分立电子元件及其所构成的相关功能单元,已逐步被功能更强大、性能更稳定、使用更方便的集成芯片所取代。

由集成芯片和一些外围电路构成的各种自动控制、自动测量、自动显示电路遍及各种电子产品和设备已广泛应用于各个领域,更新换代速度可谓日新月异。

在电子系统广泛的应用领域中,到处看见处理离散信息的数字电路。

供消费用的冰箱和电视、航空通讯系统、交通控制雷达系统、医院急救系统等在设计过程中都用到数字技术。

数字频率计是现代通信测量设备系统中不可缺少的测量仪器,不但要求电路产生频率准确的和稳定度高的信号,而且能方便的改变频率。

与传统的测量方式相比,运用了单片机频率计有着体积更小,运算速度更快,测量范围更宽和制作成本更低的优点。

由于传统的频率计中有许多功能是依靠硬件来实现的,而采用单片机测量频率之后,有许多以前需要用硬件才能实现的功能现在仅仅依靠软件编程就能实现,而且不同的软件编程代码能够实现不同的功能,从而大大降低了制作成本。

数字频率计主要实现方法有直接式、锁相式、直接数字式和混合式四种。

直接式的优点是速度快、相位噪声低,但结构复杂、杂散多,一般只应用在地面雷达中。

锁相式和直接数字式都同时具有容易实现产品系列化、小型化、模块化和工程化的特点,其中,锁相式更是以其容易实现相位同步的自动控制且低功耗的特点成为众多业内人士的首选,应用最为广泛。

1.2数字频率国内外的发展形势

在国际上数字频率计的分类很多。

按功能分类,电子计数器有通用和专用之分。

通用型计数器是一种具有多种测量功能、多种用途的万能计数器,它可测量频率、周期、多周期平均值、时间间隔、累加计数、计时等。

专用计数器指专门用来测量某种单一功能的计数器。

按频段分类有低速频率计数器、中速频率计数器、高速频率计数器和微波频率计数器之分。

其中低速频率计数器最高计数频率小于10MHZ;中速频率计数器最高频率计数频率为10到100MHZ;高速频率计数器最高计数频率大于100MHZ;微波频率计数器的测频范围为1到80GHZ或更高。

数字电路制造工业的进步,使得系统设计人员能在更小的空间内实现更多的功能,从而提高系统可靠性和速度。

现如今,数字频率计已经不仅仅是测量信号频率的装置了,还可以测量方波的脉宽。

在人们的生产生活中数字频率计也发挥着越来越重要的作用,比如有数字频率计来监控生产过程,这样可以及时发现系统运行中的异常情况,以便给人们争取时间处理。

除此之外,它还可以应用于工业控制等其它领域。

在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。

频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速地跟踪捕捉到被测信号的频率变化。

正是由于频率计能够快速准确地捕捉到被测信号频率的变化,因此频率计拥有非常广泛的应用范围。

目前,市场上的频率计厂家可分为三类:

中国大陆厂家、中国台湾厂家、欧美厂家。

其中,欧美频率计厂家所占有的市场份额最大。

欧美频率计厂家主要有:

PendulumInstruments和Agilent科技。

现如今,对于频率计的设计目前也有专用芯片可以实现,如利用MAXIM公司的ICM7240来设计频率计,但由于这种芯片的计数频率比较低,远不能达到在一些场合而要测量很高的频率要求,而且测量精度也受到芯片本身的限制,因此提出用AT89C52单片机设计频率计来解决这些问题,从而实现高精度,宽范围测量的频率计的设计。

 

二、系统总体设计

2.1系统设计要求

本课题设计技术要求:

1.测量范围10HZ—2MHZ;

2.用四位数码管显示测量值;

3.能根据输入信号自动切换量程;

4.可以测量方波、三角波及正弦波等多种波形。

2.2测频方法

在频率、速度等脉冲类测量过程中,采集指定的脉冲个数,与过程时间比较来测定频率、速度。

这样的采样方式就是定数采样或定脉冲采样。

这种方法其实是测量单个脉冲的周期或指定个数脉冲的总周期。

这种测量脉冲的方法又叫做测周法。

在频率、速度等脉冲类测量过程中,在指定的时间内,计量脉冲个数,让脉冲个数与指定的时间比较来测定频率、速度。

这样的采样方式就是定时采样。

这种方法其实是测量单位时间的脉冲个数。

这种测量脉冲的方法又叫做测频法。

目前测量频率的方法主要有脉冲定时测频法,脉冲周期测频法,脉冲倍频测频法和脉冲分频测频法。

本文采用脉冲定时测频法和脉冲分频测频法。

2.3系统设计思路

以单片机AT89C52单片机为核心,设计一种数字频率计,它由放大整形电路、分频电路、多路选择器、单片机、显示电路等组成,应用单片机中的定时/计数器和中断系统等完成频率的测量。

在整个设计过程中,放大整形电路是把非矩形波转化成矩形波,这样单片机才能识别;分频电路是为了测量更高频率的信号,多路数据选择器是用来选择输入信号的;单片机用来测量频率和切换量程等;显示电路用来显示频率值。

所制作的频率计采用外部十分频,实现10Hz~2MHz的频率测量,而且可以实现量程自动切换,通过四位数码管显示频率值,再用不同的LED发光二极管显示频率值的单位。

2.4系统设计框图

本课题设计以单片机为核心,设计一种数字频率计,应用单片机中的定时器/计数器和中断系统等完成频率的测量。

其中包括放大整形模块、分频模块、电源模块、单片机模块、显示模块等。

图1频率计总体设计框图

三、系统硬件设计

根据系统设计的要求,频率计实际需要设计的硬件系统主要包括以下几个部分:

单片机模块、电源模块、放大整形模块、分频模块及显示模块,下面将分别给予介绍。

3.1单片机模块

以AT89C52单片机为控制核心,来完成对待测信号的计数、译码和显示以及对分频比的控制,利用其内部的定时/计数器完成待测信号频率的测量。

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

3.1.1AT89C52介绍

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。

 

图2PDIP封装的AT89C52引脚图

3.1.2单片机引脚分配

根据系统设计及各模块的分析得出,单片机的引脚分配如下表所示。

表1单片机端口分配表

模块

端口

功能

显示模块

P0.0-P0.4、P2.0-P2.7

数码管频率值显示

P1.4-P1.6

LED单位显示

分频模块

P1.0-P1.2

通道选择

P1.3

清零

复位模块

RST、EA

复位

3.1.3复位电路

有时系统在运行过程中出现程序跑飞的情况,因此在程序开发过程中需要复位。

本文选用手动复位,通过复位可以再次测量信号或测量新的信号。

复位电路通常分为两种:

上电复位(图3)和手动复位(图4)。

图3上电复位图4手动复位

3.1.4定时/计数器

方式寄存器TMOD:

特殊功能寄存器TMOD为T0、T1的工作方式寄存器,其格式如下:

D7D6D5D4D3D2D1D0

GATE

C/T

M1

M0

GATE

C/T

M1

M0

T1方式字段T0方式字段

TMOD的低4位为T0的方式字段,高4位为T1的方式字段,它们的含义是完全相同的。

1.工作方式选择位M1,M0

M1,M0两位确定计数器的结构方式,其对应关系如下表:

表2计数器结构方式功能表

M1M0

工作方式

功能说明

01

方式0

13位计数器

01

方式1

16位计数器

10

方式2

初值自动重新装入的8位计数器

11

方式3

仅适用于T0,分为两个8位计数器,T1在方式3停止计数

2.定时器方式和外部事件计数方式选择位C/T

C/T=0为定时方式。

在定时方式中,以振荡器输出时钟脉冲的十二分频信号作为计数信号,也就是每一个机器周期定时器加“1”。

若晶振为12MHZ,则定时器计数频率为1MHZ,计数的脉冲周期为1us。

定时器从初值开始加“1”计数直至定时器溢出所需的时间是固定的,所以称为定时方式。

C/T=1为外部事件计数方式,这种方式采用外部引脚(T0为P3.4,T1为P3.5)上的输入脉冲作为计数脉冲。

内部硬件在每个机器周期采样外部引脚的状态,当一个机器周期采样到高电平,接着的下一个机器周期采样到低电平时计数器为1,也就是说在外部输入电平发生负跳变时为1。

外部事件计数时最高计数频率为晶振频率的二十四分之一,外部输入脉冲高电平和低电平时间必须在一个机器周期以上。

对外部输入脉冲计数的目的通常是为了测试脉冲的周期、频率或对输入的脉冲数进行累加。

3.门控位GATE

GATE为1时,定时器的计数受外部引脚输入电平的控制(INT0控制T0的计数,INT1控制T1的计数);GATE为0时定时器计数不受外部引脚输入电平的控制。

3.3放大整形模块

放大电路是对待测信号的放大,降低对待测信号幅度的要求;整形电路是对不是矩形波的待测信号转化成矩形波信号,便于测量。

由于输入的信号可以是正弦波、三角波、矩形波等,而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。

在整形之前由于不清楚被测信号的强弱的情况。

所以在通过整形之前通过放大衰减处理。

本文采用单管共射极放大电路对信号进行放大和再由非门74LS00构成施密特触发器对输出的信号进行整形成矩形波后再次输出。

3.3.1与非门74LS00

00为四组2输入端与非门(正逻辑),共有54/7400、54/74H00、54/74S00、54/74LS00  

Y=(AB)非 

表374LS00功能表 

Input

Input

Output

A

B

Y

L

L

H

L

H

H

H

L

H

H

H

L

3.3.2放大整形模块原理图

此模块原理图:

图12放大整形电路原理图

3.4分频模块

本文采用12MHZ的时钟,最大计数速率为500kHz,因此需要外部分频。

分频电路用于扩展单片机频率测量范围,并实现单片机频率测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。

为了测量提高精度,当被测信号频率值较低时,直接使用单片机计数器计数测得频率值;当被测信号频率值较高时采用外部十分频后再计数测得频率值。

这两种情况使用74LS151进行通道选择,由单片机先简单测得被测信号是高频信号还是低频信号,然后根据信号频率值的高低进行通道的相应导通,继而测得相应频率值。

因此此模块主要包括分频器74LS161、多路选择器74LS151、与非门74LS00。

3.4.1分频器74LS161芯片

74LS161是常用的四位二进制可预置的同步加法计数器。

表474161的功能表

从表中可以知道,当清零端RD=“0”,计数器输出Q3、Q2、Q1、Q0立即为全“0”,这个时候为异步复位功能。

当RD=“1”且LD=“0”时,在CP信号上升沿作用后,74LS161输出端Q3、Q2、Q1、Q0的状态分别与并行数据输入端D3,D2,D1,D0的状态一样,为同步置数功能。

而只有当RD=LD=EP=ET=“1”、CP脉冲上升沿作用后,计数器加1。

74LS161还有一个进位输出端CO,其逻辑关系是CO=Q0·Q1·Q2·Q3·CET。

合理应用计数器的异步清零功能和同步计数功能,一片74LS161可以组成16进制以下的任意进制分频器。

本文组成了十进制的分频器。

3.4.2多路选择器74LS151芯片

数据选择端(ABC)按二进制译码,以从8个数据(D0-D7)中选取1个所需的数据。

只有在选通端STROBE为低电平时才可选择数据。

74LS151有互补输出端(Y、W),Y输出原码,W输出反码。

74LS151的功能如下表:

表574151功能表

其中A、B、C 为选择输入端,D0-D7为数据输入端,STROBE为选通输入端(低电平有效),W为反码数据输出端,Y为数据输出端。

3.4.3分频模块原理图

分频模块设计原理图:

图13分频模块原理图

3.5显示电路

显示模块由频率值显示电路和量程转换指示电路组成。

频率值显示电路采用四位共阳极数码管动态显示频率计被测数值,量程转换指示电路由红、黄、绿三个LED分别指示Hz、KHz及MHz频率单位,使读数简单可观。

数码管是一种半导体发光器件,其基本单元是发光二极管。

常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管,根据其结构的不同,可分为共阳极数码管和共阴极数码管两种。

根据管脚资料,可以判断使用的是何种接口类型。

图14两种数码管内部原理图

因为这里用的是共阳极数码管,它的公共端为高电平,因此要让其中各段(DP,A,B,C,D,E,F,G)的发光二极管发光,只要使它另一端置为低电平,即置0。

3.5.1频率数值显示电路

图15共阳极数码管显示电路图

3.5.2频率数值单位显示电路

图16LED档位指示电路

 

四、系统软件设计

本文中系统软件设计采用模块化设计,整个系统分为初始化模块、频率测量模块、量程自动切换模块和显示模块等。

整个系统软件设计的程序由C语言编写,通俗易懂。

系统软件设计模块框图:

图17系统软件设计模块框图

4.1开始

程序预处理,先声明头文件,定义一些变量。

程序入口,main()函数框图:

图18主函数框图

4.2初始化模块

初始化模块初始化分频器、量程档位、LED显示、工作寄存器、中断控制和定时/计数器的工作方式等。

4.3频率测量模块和量程自动切换模块

经过初始化计数器1,每一次下降沿触发一次计数器1中断,每次中断执行中断处理程序则fCnt加1,因此fCnt为信号下降沿次数;经过初始化定时器0,

每50ms触发一次定时器0中断,每次中断执行中断处理程序则对数据下降沿次数fCnt进行处理,通过对数据的大小判断实现量程自动切换等,从而计算出信号的频率,然后调用显示模块把频率值显示出来。

其中,16位定时/计数器的最高计数值为65535,因此,还需要先由硬件十分频后,再有定时/计数器对被测信号计数,加大测量的精度和范围。

计数器1和定时器0的中断处理框图:

图19计数器1中断处理图20定时器0中断处理

量程自动切换模块框图:

图21量程自动切换程序流程图

4.4显示模块

显示程序将频率值和量程档位在数码管和LED管显示出来。

由于所有4位数码管的8根段选线由单片机的P2口控制,因此,在每一瞬间4位数码管会显示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一瞬间只点亮某一位显示字符,由P0.0-P0.3逐位轮流点亮各个数码管,在此瞬间,段选控制口P2输出相应字符。

P1.4-P1.6控制三个发光二极管,通过光颜色的不同表示量程档位的不同。

P0.0-P0.3对应共阳极数码管的1,2,3,4;P2.0-P2.7对应共阳极数码管的A,B,C,D,E,F,G,DP;P1.4-P1.6对应发光二极管的颜色:

绿色(MHZ档),黄色(KHZ),红色(HZ)。

发光二极管全亮表示所测信号频率超出测量范围。

显示模块框图:

图22显示子程序流程图

4.5延时模块

延时模块框图:

图23延时程序流程图

五、数字频率计仿真

5.1电源模块仿真

此模块用仿真软件MULTISIM10.0仿真

图24电源模块仿真图

其中9/220=0.0409,因此变压器耦合系数设置为0.0409。

此电路运行后输出电压(即万用表读数):

图25输出电源电压图

此电压与我需求的5V电压相差不大,符合后面元件和电路需要的电压,因此用此模块电路产生的电压供养后续的电路。

5.2放大整形电路仿真

5.2.1仿真软件MULTISIM10.0仿真整形电路

图26整形电路仿真图

设置输入信号,点击运行按钮后,观看示波器上输入输出信号波形:

图27整形电路仿真结果图

5.2.2仿真放大整形电路

仿真原理图:

图28放大整形电路仿真图

示波器波形:

图29放大整形电路仿真结果图

信号经过放大整形电路,能够输出需要的波形和幅度的信号,再将它输入到分频电路,再到单片机进行频率的测量。

5.3频率计仿真

5.3.1用KEIL软件

先创建工程,后导入bs.c文件,其中bs.c文件就是软件设计中的源代码:

图30keil软件应用图

设置一些软件目标选项:

由此打开选项:

图31软件设置选项图

点击后,弹出对话框并设置相关属性。

点击按钮

后,编译连接,若代码无问题,之后会生成bs.hex文件,如下图:

图32(.hex)文件图

5.3.2使用软件Proteus仿真频率计

因为电源模块和放大整形模块都用仿真软件MULTISIM10.0仿真过,所以这里不再对其进行仿真,信号直接输入,稳压直流电源也直接输入。

分频模块机和显示模块都要与单片机模块相连才能达到所需的要求,因此,这三个模块就一起仿真,用Proteus软件仿真如下图:

图33频率计仿真图

 

其中需要注意是一些设置:

单片机设置:

图34单片机属性设置图

其中是需要导入由KEIL软件生成的"*.hex"文件,再是时钟频率为12MHZ。

电源的设置:

图35电源大小设置图

设置电源为5V。

5.3.3频率计仿真运行调试

因为信号是经过放大和整形的后的信号波是矩形波,因此放置元件时要选择发送矩形波的信号源。

在运行之前,要设置信号源和大小,因为设计要求测量范围10HZ—2MHZ,所以将信号源的大小设置在10HZ—2MHZ的范围内。

 

设置如下:

1.给定10HZ的信号波

图3610HZ信号设置图

点击确定后,点击运行按钮,之后看频率计仿真运行情况:

图37频率计测量10HZ信号运行图

其中红色LED亮,是表示数码管显示的频率值是HZ档,也就是频率的单位是HZ,也就表明运行结果读数是10HZ。

2.给定600HZ的信号波

图38600HZ信号设置图

 

运行结果如下:

图39频率计测量600HZ信号运行结果图

数码管显示600,红色LED亮,因此读数为600HZ。

3.给定63.3HZ的信号波

图4063.3HZ信号设置图

运行结果如下:

图41频率计测量43.3信号运行结果图

数码管显示63.4和63.2,黄色LED亮,有些误差,误差在0.1KHZ,读数为63.3KHZ。

4.给定1.324MHZ的信号波

图421.32MHZ信号设置图

运行结果如下:

图43频率计测量1.325MHZ信号运行结果图

数码管显示1.325,绿色LED亮,表示数码管显示值的单位是MHZ,误差为0.001MHZ因此读数为1.325MHZ。

 

5.给定1.998MHZ的信号波

图441.998MHZ信号设置图

运行结果如下:

图45频率计测量1.998MHZ信号运行结果图

数码管显示2.000,绿色LED亮,误差为0.002MHZ,因此读数2.000MHZ。

6.复位功能:

点击复位按钮

图46复位按钮图

运行结果:

图47按下复位按钮运行结果图

按下复位按钮后,系统重新初始化。

7.给定3MHZ的信号波

图483MHZ信号设置图

运行结果如下:

图49频率计测量3MHZ信号运行结果图

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1