基于51单片机的频率计设计珍藏大学毕设论文.docx
- 文档编号:29968102
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:29
- 大小:925.68KB
基于51单片机的频率计设计珍藏大学毕设论文.docx
《基于51单片机的频率计设计珍藏大学毕设论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的频率计设计珍藏大学毕设论文.docx(29页珍藏版)》请在冰豆网上搜索。
基于51单片机的频率计设计珍藏大学毕设论文
本科毕业设计
题 目
基于51单片机的频率计设计
学生姓名
程元国
学号
125032119
班 级
防灾仪器系
专业
测控技术与仪器
系别
防灾仪器系
指导教师
马洪蕊
职称
副教授
年月日
基于51单片机的频率计设计
作者程元国
指导教师马洪蕊
摘要随着科学技术的发展,数字频率计越来越多的应用到了科学研究中。
无论是在高端的航天航空领域还是在普通实验室科研活动中,数字频率计已经成为不可或缺的重要科研工具。
频率计在实现高精度和高量成的频率测量的同时,也要实现对成本的控制,这对频率计设计者来说是一向巨大的挑战。
本设计系统是以STC89C52单片机为核心的数字频率计。
基本原理是51单片机通过外面所具有的电路采集信号上升沿,通过单片机的定时的器件实现对频率的计算,在LCD1602上实现对频率的实时显示。
本设计系统实现了对方波,三角波,正弦波的频率测量,测频范围为lHz到10MHz。
关键词:
51单片机;LCD1602;数字频率计;74hc390
Basedon51singlechipmicrocomputerfrequencymeterdesign
AuthorChengYuanguo
TutorMaHongrui
AbstractWiththedevelopmentofscienceandtechnology,thedigitalfremeterismoreandmoreappliedT0scientificresearch.DigitalfremeterhasbecomeanindispensableandimportantresearchT0olinthefieldofhigh-endspaceaviationandscientificresearchactivities.fremeterintherealizationoffremeasurementwithhighprecisionandhighA.atthesametime,butalsoT0achievethecostcontrol,thefremeterdesignersarealwayshugechallenges.ThedesignsystemisbasedontheSTC89C52microcontrollerasthecoreofthedigitalfremeter.Thebasicprincipleisthe51microcontrollerthroughtheoutsideofthecircuitandthesignalrisingedge,throughthetimingofthedeviceT0achievethefreofthecalculationofthefreoftheLCD1602T0achievethereal-timedisplay.ThedesignofthesystemT0achieveasquarewave,trianglewave,sinewavefremeasurement,fremeasurementrangeoflHzT010MHz.
Keywords:
51singlechipmicrocomputer;LCD1602; digital frequency meter;
74hc390
目录
引言1
1整体设计思路与过程1
2方案论证与比较2
2.1测频方案选择2
2.2显示方案选择3
3数字频率计设计3
3.1数字频率计的组成和所发挥的作用3
3.2硬件电路设计4
3.3软件的设计10
3.4proteus的仿真11
3.5实物图12
结论12
致谢13
参考文献13
引言
数字频率计是能够周期性的频率测量计数的仪器,其主要所发挥的作用是实现对方波,三角波,正弦波的频率测量计数。
因为使用十进制数显示,在数字和模拟电路的构想,组装,检验测量中,由于它的测量计数速度不算慢,精度不低,显示非常明显,所以很多数字频率计在生活中有非常多的用处。
科学技术迅速的随着事物快速发展的如今,基于数字频率计组成的各种测量计数的仪器和执行测试设备,实时监测控制系统已经应用到国际民生在的各个方面。
在信息科学技术的范围内,频率是最基础的因素之一。
许多自然中的物理的衡量,比如移动、温度、震荡、压力、速度等敏感的器件可以采集他们的信号并将其转化为信号的频率,把信号变成频率计可以测量计数的量。
微型的CPU和数字频率计的组合可以行使不少所发挥的作用的测量计数的电子仪器设备,与可编程控制和智能一起。
数字频率计是互相交流的设备、电脑、音频和视频等研究和研发领域不可缺少的测量计数仪器。
作为一种十分基本的测量计数仪器,数字频率计是广泛用于相对来说不算低的精度、非常非常高的速度、操作不算麻烦,数字的显示。
数字频率计是一种数字信号测量计数的仪器与二进制数显示被测量计数信号的频率。
数字频率计的基本所发挥的作用是测量计数信号流入的正弦信号,方波信号和三角波信号或者脉冲信号等各种不规整信号的实验设备仪器。
对频率计的设计和准备完成的所发挥的作用,其一要不仅能对方波和脉冲信号进行检验测量,而且要对三角波,正弦波等不规整的从信号流入端流入的信号进行检验测量。
其二要实现高量程范围的频率检验测量。
对于第一点所发挥的作用的思路是要进行脉冲整形,对于第二点所发挥的作用的思路是由于单片机时种频率所限制,无法进行高频率信号检验测量所以必须对信号分频然后由单片机处置。
1整体设计思路与过程
本次设计的作品为基于51单片机的数字频率计。
因为本次作品的目标是对脉冲信号,三角波信号,正弦信号等不规则的周期信号进行检验测量,所以首先这里必须使用一种可以整形的芯片。
对于信号波形进行整形,主要采用施密特触发器进行波形整形。
一般施密特触发器可以采用由555定时器器件构成的施密特触发器,其原理相对来说比较简单,但是实际的波形整形效果并不好,无法正确精准实现波形整形,所以笔者最终采用了施密特触发器的集成芯片74hc14。
选好了整形芯片,一般来说的思路就是可以进行单片机仿真了。
仿真采用proteus软件进行,可以把实际成果进行模拟出来,效果可以起到预期的作用。
笔者搭建了波形整形电路和单片机最小系统电路。
需要指出的是,整形后的信号接入单片机的T0引脚。
51单片机内置两个计数器,所以基本的思路是将其中一个设定成定时器器件进行定时,而另一个设定成计数器对外部脉冲进行计数,通过简单公式进行频率计算,但在实际的仿真中发现存在两个问题,其一当信号频率过大时单片机并不能检验测量到,其二对从信号流入端流入的信号的电压也有所限制,当信号电压过小时并不能检验测量到。
对于第一个问题,笔者采用了分频芯片进行处理,事实上分频芯片内部结构是由多个JR触发器连接而成,它能实现计数所发挥的作用,如十进制计数,五进制计数,二进制计数。
但是这里存在一个问题,由于无法知道从信号流入端流入的信号的频率大小,所以无法确定是否要进行信号分频。
如果信号频率较小进行分频反而会造成检验测量结果不正确准准。
比较周详的方法是将分频后的信号和没有分频的信号都将其输入单片机,也就是对这两种信号同时进行计数。
但这就造成了一个问题,51单片机只有两个计数器,也就是说如果两个计数器都设定成计数器所发挥的功能,就无法进行定时了。
针对这个问题,笔者采用了STC89C52单片机,具有三个定时的器件,圆满的解决了这个问题。
而此后要解决的程序的思考的路线问题就相对简单,只要比较两种信号算出的频率是否满足一个阈值即可知道哪种信号的频率是最为正确精准。
而上文提出的针对从信号流入端流入的信号的电压的问题,笔者采用了放大电路进行电压放大,事实上有非常多信号放大的方法,笔者采用了一种成本较低且电路并不复杂的电路,三极管共射放大电路。
至此信号的采集与处理的问题得到了充分的解决。
笔者最后解决的就是频率实时显示的问题,这部分问题相对来说比较简单,可以采用数码管或者液晶屏进行显示,笔者在此不作详述,下文将有说明。
2方案论证与比较
2.1测频方案选择
方案一:
直接测频的方法,在一定闸门时间内测量计数被测信号的脉冲个数,即直接统计单位时间内脉冲个数,频率由f=N/T得到。
方案二:
间接测频法,如周期测频法。
即对周期长度进行测量计数,由公事f=l/T获得频率。
综上所述,方案一会随着所测信号频率的降低即周期变长的情况下导致精度有所下降。
方案二在频率升高周期变短的情况下精度会变得不正确精准。
测频的方法有太多种了,由于设计的电子频率计要实现高量程频率测量计数,所以采用方案一所描述的方法。
2.2显示方案选择
方案一:
采用八段数码管实时显示频率。
方案二:
采用LCD1602实时显示频率。
综上所述,方案一成本较低,设计程序较为简单,但数码管的外面电路相对来说不算简单,使用的单片机引脚不算少。
方案二成本较高,程序设计复杂,占用单片机端口较少,且显示更清晰,屏幕更大气。
所以最后决定选择方案二。
事实上,有很多种方法可以实现显示的功能,显示的设置相对來说是比较繁琐的。
显示是系统人和机器设备交流沟通的重要形式之一。
所以显示器的选择不得不说是非常重要的。
2.3信号波形整形方案选择
方案一:
采用由555定时器器件构成的施密特触发器进行波形整形。
方案二:
采用74hc14芯片进行波形整形。
采用555定时器器件构成的施密特触发器需要自己连接外部电路,虽然线路的连接与原理相对简单,但实际整形效果并不好。
所以最终采用74hc14芯片。
3数字频率计设计
3.1数字频率计的组成和功能
本设计系统由宏晶公司的STC89C52单片机为主要的芯片,基于三极管共射放大电路的信号采集模块实现对从信号流入端流入的信号的放大,74hc14构成的脉冲产生模块使信号流入的放大信号转换成同等频率的矩形脉冲,由74hc390构成的分频模块对信号流入高频脉冲进行一百分频,单片机对分频脉冲进行处置实现频率的计算,最后由LCD1602显示屏幕实时显示频率。
可实现其主要的功能:
对方波,三角波,正弦波等信号的频率检验测量;理论上测量计数频率的实际范围为0~10MHz。
对应如图3-1所示:
图3-1数字频率计的基本组成模块。
3.2硬件电路设计
3.2.1信号采集模块
因为从信号流入端流入的信号可能过小而检验测量不到或者不准确精准,所以信号的信号流入采用三极管共射放大电路实现对从信号流入端流入的信号的放大。
在电路实际运用中,存在放大电路与信号源及放大电路与负载之间耦合问题。
一方面要求耦合电路能够传输交流的输入和输出信号,使传输过程中信号尽量保持较小损耗;另一方面又要求信号源,放大电路、负载之间的直流工作状态互补影响,即有“隔直”作用,这个问题就是固定偏置共射极放大器可以用电路的C1、C7来进行处置。
使晶体管Je实现正偏是集电极电压通过基极偏置电阻R2;为了实现信号源放大采用拖过R3使Jc反偏。
信号采集模块如图3-2所示:
图3-2由三极管共射放大电路构成的信号采集模块。
3.2.2脉冲产生模块
74hc14是一种可以并容TTL器件引脚的高速CMOS器件,芯片的主要的作用为6路施密特触发反相器,其耗电量相对来说不高,速度不算慢。
所以是一款值得青睐的芯片。
在电子产品的快速发展的过程中,现已基本取代741S14(TTL器件)。
74hc14是一款速度相对来说非常快的CMOS器件。
它可以行使6路施密特触发反相器,将信号整形处理。
74hc14芯片实现了施密特触发反向的简单功能,实现了对波形不是矩形脉冲的从信号流入端流入的信号的整形功能的目的,将不规则信号经过三次施密特触发反向,使其从信号的流出端流出了较为完整的没有任何瑕疵的矩形脉冲信号。
为了获取清晰,无抖动的从信号的流出端流出的矩形脉冲信号,所以笔者采用了三次施密特触发反向,实现了三次的反向整形功能。
具体信号的传递情况为,从采集模块放大输出的信号由lA端信号流入,lY输出了整形的信号,实现第一次信号整形。
lY流出的信号连接到2A,信号从2Y流出来,实现信号第二次施密特触发反向。
2Y流出实现整形的信号连接到3A,信号从3Y流出端流出,实现信号第3次施密特触发反向。
由3Y流出端流出的信号既是最终产生的脉冲信号。
这个过程相对来说是比较简单的,但也是值得去研究学习的,对基础的要求是相对来说不算低的。
图3-3施密特触发反向器。
图3-4施密特触发器实现波形的反向和整形。
如图3-3和图3-4所示,施密特触发器实现对从信号流入端流入的信号的整形,将信号流入正弦波信号转换为同频率矩形脉冲信号。
图3-5信号采集模块和分频模块proteus仿真。
如图3-5所示,对三极管共射放大电路和脉冲产生电路即74hc14进行仿真,示波器产生的结果如右图所示,第一个波形为从信号流入端流入的信号,第二个波形为74hc14芯片lY引脚流出端流出的整形信号,第三个波形为2Y引脚流出端流出的整形信号,第三个波形为3Y引脚流出端流出的整形信号。
3.2.3分频模块
当从信号流入端流入的信号频率大于20KHz时,单片机由于自身时钟频率问题而造成检验测量结果不准确精准。
所以采用74hc390芯片对从信号流入端流入的信号进行分频,然后再由单片机进行处理。
图3-674hc390封装引脚图与单个计数器功能图。
图3-6所示,74hc390内有两组计数器,每组计数器由两个计数器组成,一个二进制计数器和一个五进制计数器,可以同时独自计数,即可实现二分频所实现的功能和五分频所实现的功能。
具体所实现的功能为当信号从nCP0信号流入端流入时,nQ0从信号的流出端流出的信号为二分频信号,若从nCP1信号流入端流入信号,则会在nQ1、nQ2、nQ3得到如图3-7真值表变化的组合信号。
nCPl
nQl
nQ2
nQ3
0
0
0
0
l
l
0
0
2
0
l
0
3
l
l
0
4
0
0
l
图3-7真值表。
因为要获得更高频率范围信号的检验测量,所以采用74hc390对从信号流入端流入的信号进行分频。
当从信号流入端流入的信号大于20KHz时,采用一百分频。
由真值表可知,从nCPl端口信号流入的信号可以从对应的从信号的流出端流出端口nQ3获得五分频信号。
所以为获得一百分频信号可将74hc390外面所具有的电路如图3-8所示连接。
从信号流入端流入的信号从lCPl引脚接入,从lQ3引脚信号的流出端流出,实现信号五分频。
lQ3引脚与2CPl引脚相连,信号从2Q3引脚信号的流出端流出,实现五分频。
2Q3引脚与lCP0引脚相连,信号从lQ0信号的流出端流出,实现二分频。
lQ0引脚与2CP0引脚相连,信号从2Q0引脚信号的流出端流出,实现二分频。
若从信号流入端流入的信号频率为f则最终从信号的流出端流出信号频率为f/(5×5×2×2)即f/l00,最终即可实现从信号流入端流入的信号的一百分频。
图3-874hc390外设引脚连接图。
3.2.4单片机最小系统模块
实际上单片机在如今社会的相当普遍,尤其是在这个入类社会的已经离不开电子产品的时代。
单片机的学名叫做单片微型计算机,顾名思义单片机实际上是一个控制单元,只不过在后续事物发展中添加了一些其他的可以添加的功能。
而这次实现的频率计的基本功能相对简单,只是使用单片机的定时的器件。
定时器的器件其实是单片机必备的所发挥的作用,早在第一代四位单片机就是一项必备的基本功能。
这里需说明的是,单片机的快速发展的历史是从四位单片机再到八位单片机再到十六单片机,再到最近高端电子产品普遍使用的三十二位单片机。
而单片机的位数来定义单片机的更新换代是因为单片机总线一次处理数据的位数是衡量单片机性能的重要指标。
一般从成本方面考虑的话,八位单片机以51单片机为代表,价格单块为八块钱左右,十六位单片机和三十二位单片机价格几十块。
如果仅仅只是使用定时器器件所实现的基本功能,出于成本考虑选用51单片机是最合适的选择。
不过上文也指出,频率计所实现的要求要使用三个定时的器件,传统51单片机只具有两个定时的器件。
笔者采用STC89C52单片机,由深圳宏晶公司生产。
这款单片机使用的内核是传统51单片机的内核,但所实现的功能要比传统51单片机所发挥的功能强大很多。
笔者在此并不详述STC89C52单片机的具体所实现的作用,有兴趣者可以查阅数据手册。
唯一一点要指出的是STC89C52单片机具有三个定时的器件,满足了本设计系统要求的所实现的作用。
此处应该说明的是,因为对于大于200KHz的高频信号,单片机检验测量不正确精准,所以采用分频模块对从信号流入端流入的信号进行分频。
但是当信号频率小于200KHz时,信号就不适合进行分频处置。
因为无法预先知道信号流入频率是否大于200KHz,所以将未分频信号与分频信号同时输入单片机,通过比较复杂的算法进行处理获得合适频率。
如图3-9所示,将未分频信号接T0引脚,分频信号接T1引脚。
图3-9单片机最小系统。
3.2.5LCD1602显示模块
图3-10LCD1602液晶实物图。
如图3-10所示,液晶显示器具有很多特点,如它的体极相对来说并不算大,它的重量比较轻盈,功耗相对来说是比较低的。
液晶显示器在很多单片机系统中都有非常多的应用。
比如电视机,手机等。
本次设计采用LCD1602作为显示装置,具有显示清晰,占用引脚较少等特点。
而LCD1602要实现的基本的作用为:
没有信号从信号流入端流入时液晶显示fre=Hz;有信号从信号流入端流入时液晶显示变量fre的即时数值,最多显示位数为八位,若频率为100Hz则显示为fre=100Hz.如图2.1和图2.2为LCD1602引脚图和引脚说明。
图3-11LCD1602引脚图。
图3-12LCD1602引脚说明。
3.2.5整体原理图设计
图3-13整体原理图。
如图3-13所示,信号由Pl正极,P2负极输入,通过三极管共射放大电路对从信号流入端流入的信号进行放大,再经由74hc14芯片进行三次施密特触发反向对信号进行整形,再由74hc390构成的电路对信号进行一百分频,最后将未分频信号与分频信号输入单片机T0和Tl引脚,经单片机处置后,频率由LCDl602显示频显示。
3.3软件的设计
本系統软件开发的平台采用keil软件。
Keil软件是一款程序开发软件,它的只要开发工作语言是C语言。
其实现如今大部分的编程语言都是C语言,原因其实有很多,主要是C语言相对来说比较容易理解,通俗易懂,而且比较容易移到其他平台上去。
编程语言最终其实都要转换成机器语言去执行测试,也就是二进制代码。
学习机器语言明显是十分反入类的,所以开发者最早用汇编语言进行程序开发。
汇编语言相对来说执行测试效率是比较高的,但是使用者必须了解硬件的结构和所发挥的作用,这样才能实现开发的所发挥的作用,而且汇编程序移植性很不好,因为不同的硬件平台内部的结构和所发挥的作用可能不一样,或者说即使有微小差别也无法直接使用。
这样C语言是开发硬件的不二之选,至于C语言执行测试效率不高的特点。
由于现如今硬件快速发展并且运行速度也迅猛提升,多几行二进制代码和少几行二进制代码并不会造成系统执行测试变快或变慢的问题。
本次程序的基本问题其实是为如何处置从信号流入端流入的未分频信号和分频信号,由上文原理图可知未分频信号接入单片机T0引脚,分频信号接入单片机Tl引脚。
由于本次设计采用52单片机,内部供有三个计数器。
将T0计数器设定成计数的基本功能,对未分频信号进行计数,将Tl计数器设定成计数的基本功能,对一百分频后的信号进行计数。
将单片机T2计数器设定成定时器器件,当T0和Tl计数器开始计数时,同时设定T2计数器进行定时。
将T0计数器和Tl计数器设定成计数器工作方式2,即可自动重装初值,自动重装初值的意思是只使用其中的低八位计数器,高八位用来装初值。
并将两个计数器初值设定为0,即两个计数器计数范围为0~255,并打开T0计数器和Tl计数器中断。
由于本设计系统采用52单片机,具有T2定时器器件,它具有自动重装l6位初值的这种比较特别的功能,初值存储在l6位计数存储器RCAP2H(高8位)和RCAP2L(低8位)中,只要程序初始化的时候给RCAP2H和RCAP2L赋值,在中断产生时将会自动执行语句TH2=RCAP2H,TL2=RCAP2L。
由于单片机晶振频率设定为12MHz,即一个机器周期时间为lus,设定T2定时的器件计数值为62500,并打开T2定时器器件中断,则T2定时器器件每次计数溢出进入中断的时间为62.5ms。
当程序每次进入T2中断函数,定是时间为62.5ms,变量cishu加一,当cishu等于l6时,定时时间为62.5ms×l6=1s。
同时设定变量cout,计数器T0每次中断溢出cout自动加一,设定变量coutl,计数器l每次中断溢出coutl自动加一。
当cishu等于l6时即定时一秒,fre=((long)coutl*256+TLl)*100,fre为分频后的频率值,但是当fre<200000Hz时,信号并不适合进行分频处置。
所以采用fre=(long)cout*256+TL0,即计算未分频信号进行处置。
fre所获值即为信号频率。
主函数的主要任务就是完成所有的初始化程序,打开一直重复的检验测量从信号流入端流入的信号频率值的变化并通过更改fre的值在yejing1602上表现出来(在无信号信号流入的情况下,初始化函数将yejing1602上呈现的字符固定为“fre=Hz”)。
3.4proteus仿真
proteus是一款具有很多可以实现很多作用的仿真的软件,可以实现原理图和PCB绘制以及在线仿真。
事实上仿真是产品设计的一个重要环节,仿真的过程可以预测实际运行所产生的效果,并对产生的问题进行处置避免在实际运行中的错误。
但是有一点需要指明的是,并不是所有的系统都可以进行仿真,很多系统的模型非常复杂而无法仿真也是正常的。
本次设计的频率计相对来说比较简单,并不会出现无法搭建模型的问题。
仿真的效果其实并不是完全和实物运行的效果相同,所以并不可以迷信仿真而放弃对实物的搭造。
proteus仿真是本次设计任务的重要目标,而本次仿真需要的原件在proteus都能找到,所以能实现本次的仿真所发挥的作用。
图3-14proteus仿真。
如图3-14所示proteus仿真,把SignalGenerator设定成从信号的流出端流出l.9KHz峰值5V的正弦波信号。
可以看出LCD1602显示实时频率为1900Hz。
所以基本实现数字频率计的所发挥的作用。
仿真的过程是比较繁琐的,线路的错误或者电阻或电容的偏差而造成结果不是很准确是非常显而易见的,所以整个过程耗费了较多的时间,经过多番试验与测试,最终的成果是指定频率的输入信号,无论是规整的流入的信号还是不规整的流入的信号,都能达到相对来说比较准确的结果,误差在十千分之一以内。
3.5实物图
图3-15实物图。
如图3-15所示为本次作品的实物图,出于成本考虑与实际效果并没用采用PCB电路板,而是采用面包板然后进行简单的焊接处置。
为了尽最大可能的减
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 频率计 设计 珍藏 大学 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)