基于单片机的频率计设计毕业设计论文.docx
- 文档编号:29850558
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:37
- 大小:514.09KB
基于单片机的频率计设计毕业设计论文.docx
《基于单片机的频率计设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的频率计设计毕业设计论文.docx(37页珍藏版)》请在冰豆网上搜索。
基于单片机的频率计设计毕业设计论文
基于单片机的数字频率计
一、引言
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.2电源模块
为整个系统提供合适又稳定的电源,主要为单片机、放大整形电路、分频电路和显示电路提供电源。
输入的220V电压太大,对元件要求大,决定先降压为9V,再经过整流,滤波,稳压后得到5V稳定电压。
稳压电源由电源变压器、整流电路、滤波电路和稳压电路四部分组成,如下图5所示,其整流与稳压过程的电压输出波形如图6所示。
图5稳压电源的组成框图图6整流与稳压过程波形图
3.2.1电源变压器
电源变压器T的作用是将220V的交流电压变换成整流滤波电路所需要的交流电压Ui。
变压器副边与原边的功率比为P2/P1=n,式中n是变压器的效率。
3.2.2整流电路
单相桥式整流电路使用的整流器件较多,但其实现了全波整流电路,它与半波整流电路相比,在相同的变压器副边电压下,对二极管的参数要求一样,还具有输出电压高、变压器利用率高、脉动小等优点。
整流电路工作原理:
单相桥式整流电路由四只二极管组成,接成电桥形式,利用二极管的单向导电性,将正负交替的正弦交流电压整流成为单方向的脉动电压。
当u2为正半周时,电流由A点流出,经D1、RL、D3流入B点,即D1、D3导通,D2、D4截止;当u2为负半周时,电流由B点流出,经D2、RL、D4流入B点,即D2、D4导通,D2、D4截止。
电路及输出波形如图7,图8所示:
图7整流电路图图8整流输出波形
3.2.3滤波电路
在本文利用电容进行滤波。
利用电容元件储能的特性,将整流后输出的电压的能量储存起来,然后缓慢的释放给负载。
尽可能地将脉动电压中的脉动成分过滤掉,使输出电压成为比较平滑的直流电压。
采用电容滤波时,整流二极管中将流过较大的冲击电流。
必须选用较大容量的整流二极管。
电容滤波电路及输出波形如图7,图8所示:
图9电容滤波电路图10电容滤波输出波形
3.2.4稳压电路
使输出的直流电压稳定,不随交流电网电压和负载的变化而变化。
在这里我们决定用集成稳压器7805。
3.2.5电源模块原理图
此模块原理图:
图11电源模块原理图
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信号运行结果图
数码管显示0000,红色、黄色、绿色LED全亮,说明信号波的频率已经超过频率计所需的测量范围(我在软件设计时,它的测量范围设置在2.5MHZ以下)。
六、结论
毕业设计是教学过程的最后阶段采用的一种总结性的实践教学环节。
通过毕业设计,能使学生综合应用所学的各种理论知识和技能,进行全面、系统、严格的技术及基本能力的练习。
通过此次设计,我受益匪浅。
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。
它是一种用十进制数字,显示被测信号频率的数字测量仪器。
它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。
在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。
目前测量频率的方法主要有脉冲定时测频法,脉冲周期测频法,脉冲倍频测频法和脉冲分频测频法等。
本次设计采用脉冲定时测频法和脉冲分频测频法,电路简单,软件代码通俗易懂。
通过此次设计,我熟练掌握了C语言的编写,仿真软件MULTISIM10.0,KEIL和Proteus软件的应用,了解了相关元件的基本知识,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 频率计 设计 毕业设计 论文