毕业设计基于单片机的频率计设计Word文件下载.docx
- 文档编号:22727160
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:37
- 大小:470.60KB
毕业设计基于单片机的频率计设计Word文件下载.docx
《毕业设计基于单片机的频率计设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的频率计设计Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。
三、工作内容和要求:
频率计的第一设计方案为纯数字电路构成。
第二方案以AT89C51单片机为核心,利用他内部的定时/计数器完成待测信号周期/频率的测量。
设计中充分应用单片机的数学运算和控制功能,要求实现频率测量量程的自动切换,要具有较高的测量精度和较短的系统反应时间。
四、主要参考文献:
[1]李群芳.单片微型计算机与接口技术(第二版)(M).北京:
电子工业出版社,2005
[2]蒋立培.单片危机系统使用教程(M).北京:
机械工业出版社,2004
[3]凌玉华.单片机原理及应用系统设计(M).长沙:
中南大学出版社,2006
[4]王琼.单片机原理及应用实践教程(M).合肥:
合肥工业大学出版社,2005
[5]刘丹.例说8051(M).北京:
人民邮电出版社,2006
学生(签名)2010年5月7日
指导教师(签名)2010年5月10日
教研室主任(签名)2010年5月10日
系主任(签名)2010年5月12日
毕业设计(论文)开题报告
设计(论文)题目
基于单片机的频率计设计
一、选题的背景和意义:
在传统的电子测量仪器中,示波器在进行频率测量时测量精度较低,误差较大。
频谱仪可以准确的测量频率并显示被测信号的频谱,但测量速度较慢,无法实时快速的跟踪捕捉到被测信号频率的变化。
正是由于频率计能够快速准确的捕捉到被测信号频率的变化,因此,频率计拥有非常广泛的应用范围。
此论文的设计有助于进一步加深自己对频率计的工作原理理解,提高自己分析综合的能力,同时培养自己严谨科学的治学态度。
二、课题研究的主要内容:
以单片机89C51为核心设计的一种频率计,如何实现频率测量量程的自动切换,以及较高的测量精度和较短的系统反应时间。
同时运用程序化的语言,编程实现该频率计的各种功能。
对各种可能产生的误差进行分析总结,尽可能的去减小误差,提高测量精度。
三、主要研究(设计)方法论述:
使用计数方法实现频率测量时,外部的待测信号为单片机定时/计数器的计数源,利用软件延时程序实现计数闸门。
用定时方法实现频率测量时,外部的待测信号通过频率计的预处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时/计数器的输入脚。
定时方法测量的是待测信号的周期,这种方法只设一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将结果送去显示。
无论采用何种方式,只要完成一次测量,频率计自动开始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转换。
四、设计(论文)进度安排:
时间(迄止日期)
工作内容
10.5.4~10.5.10
论文准备,确定选题,完成开题报告
10.5.11~10.6.15
到图书馆、网上查阅相关资料
10.5.16~10.6.12
完成初稿
10.6.13~10.6.15
初稿修改
10.6.16~10.6.18
经过老师指点进行第二稿修改
10.6.19~10.6.20
还有小错误所以要第三稿修改
10.6.21~10.6.22
第四稿修改
10.6.24~10.6.25
第五稿修改
10.6.26~10.6.28
完成毕业设计
五、指导教师意见:
指导教师签名:
2010年5月10日
六、系部意见:
系主任签名:
2010年5月11日
摘要
Abstract
第1章前言1
第2章频率计原理2
第3章设计思想3
第4章设计内容、方法及步骤4
4.1设计内容4
4.1.1数字频率计的基本原理4
4.1.2系统框图4
4.2设计方法及步骤10
第5章51单片机系统的硬件连接及调试12
第6章单元程序的设计15
6.11S的定时15
6.2T1计数程序15
6.3频率数据采集16
6.4进制转换16
6.5数码显示18
第7章频率计系统总体程序21
第8章程序的调试26
第9章结束语27
答谢词
参考文献
摘要
在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
频率计可以用纯硬件电路搭制。
其包括信号输入、信号放大、信号选择、时钟提供、数据显示等功能模块。
为了实现智能化的计数测频,实现一个宽领域、高精度的频率计,一种有效的方法是将单片机用于频率计的设计当中。
本课题介绍以51单片机作为核心器件。
由于本设计采用了模块化的设计方法,提高了测量频率的范围。
并且本次设计包括硬件画图和软件程序编写。
关键词:
测量;
频率计;
单片机;
汇编
Abstract
Amongelectronictechnology,frequencyisoneofthemostbasicparameters,andresultofmeasuringhaveaverycloserelationtoalotofelectricparameters,sothemeasurementoffrequencyseemsevenmoreimportant.Frequencycountercantakethesystemwithpurehardwarecircuitry.Itincludesthesignalinput,signalamplification,signalselection,theclockprovidesthedatadisplaymodules.Inordertorealizethecountingofintellectualityexaminesfrequently,realizeawide-range,high-accuracycymometer,aneffectivemethodistouseone-chipcomputerforthedesignofthecymometer.Thissubjectrecommendsregarding51Single-Chipcomputerasthekeydevice,includesignalinput,signalamplify,signalchoose,clockoffer,datapersonwhorevealfunctiondigitaldesignmethodofcymometerofmodulestillinaddition.ThehardwarecircuitofthecymometerisdrawingwithProtelmappingsoftware,theone-chipcomputercontrolprocedureofthesoftwarepart,wrotetheassemblerlanguage.Becauseoriginallydesignthedesignmethodtoadoptmodule,improvetherangeofmeasuringfrequency.Andthedrawingofthisdesign,includinghardwareandsoftwareprogramming
Keywords:
Measurement;
Cymometer;
Single-Chipcomputer;
Compilation
第1章前言
单片机是20世纪中期发展起来的一种面向控制的大规模集成电路模块,具有功能强、体积小、可靠性高、价格低廉等特点,在工业控制、数据采集、智能仪表、机电一体化、家用电器等领域得到了广泛的应用,极大的提高了这些领域的技术水平和自动化程度。
51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。
51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。
本次课程设计主要用于对方波频率的测量。
第2章频率计原理
频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。
用单片机设计频率计通常采用的办法是使用单片机自带的计数器对输入脉冲进行计数;
好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。
缺陷是受限于单片机计数的晶振频率,输入的时钟频率通常是单片机晶振频率的几分之一甚至是几十分之一,在本次设计使用的89C51单片机,由于检测一个由“1”到“0”的跳变需要两个机器周期,前一个机器周期测出“1”,后一个周期测出“0”。
故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一。
根据频率检测的原理,很容易想到利用51单片机的T0、T1两个定时/计数器,一个用来定时,另一个用来计数,两者均应该工作在中断方式,一个中断用于1s时间的中断处理,一个中断用于对频率脉冲的计数溢出处理。
第3章设计思想
明确频率计工作原理以后,为了思路更清晰地对程序编写,还应该作出程序的总体框图,如图3-1所示。
程序的主体可以分为4个模块:
定时计数、采集数据、进制转换和数码显示。
图3-1频率计系统总体框图
第4章设计内容、方法与步骤:
4.1设计内容
4.1.1数字频率计的基本原理
数字频率计的主要功能是测量周期信号的频率。
频率是指单位时间(1s)内信号发生周期变化的次数。
如果我们能在给定的1S时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。
数字频率计首先必须获得相对稳定与准确的时间,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,将其换算后显示出来。
这就是本简易数字频率计的基本原理。
4.1.2系统框图
从数字频率计的基本原理出发,根据设计要求,得到如图4-1所示电路图
图4-1数字频率计框图
下面介绍框图中各部分的功能及实现方法
图4-2时基电路及控制门电路部分
(1)电源与整流稳压电路
电路框图一中的电源采用50Hz的交流市电。
市电被降压、整流、稳压后为整个系统提供5V直流电源。
系统对电源的要求不高,可以采用稳压电源电路来实现。
(2)时基电路
本简易数字频率计的时基电路可以采用晶振构成,也可以采用555定时电路构成时基电路。
本来晶振构成时基电路比555构成的时基电路稳定性好,精度高;
但基于元件的选择,我们选用555定时电路构成时基电路了。
本时基电路原理图如图4-2所示:
(3)分频器电路
分频器的作用是为了获得1S的标准时间。
电路首先对时基电路产生的脉冲信号经74LS123分频得到如图4-4,A所示周期为1S的脉冲信号。
然后再进行二分频得到如图4-4,B示占空比为50%脉冲宽度为1S的方波信号,由此获得测量频率的基准时间。
利用此信号去打开与关闭控制门,可以获得在1S时间内通过控制门的被测脉冲的数目。
图4-3分频电路及复位电路
分频器可以采用计数器通过计数获得,二分频可以采用触发器来实现。
本电路采用74LS123双D触发器来实现分频的,其中还综合了复位电路了。
其原理图如上图4-3所示:
图4-4分频器的输出波形
(4)信号放大、波形整形电路
为了能测量不同电平值与波形的周期信号的频率,必须对被测信号进行放大与整形处理,使之成为能被计数器有效识别的脉冲信号。
信号放大与波形整形电路的作用即在于此。
信号放大可以采用一般的运算放大电路,波形整形可以采用施密特触发器。
(5)控制门电路
控制门用于控制输入脉冲是否送计数器计数。
它的一个输入端接标准秒信号,一个输入端接被测脉冲。
控制门可以用与门或或门来实现。
当采用与门时,秒信号为正时进行计数,当采用或门时,秒信号为负时进行计数。
本项目控制门电路采用74LS00与非门构成的,其原理图综合在图一时基电路及控制门电路中。
(6)计数器电路
计数器的作用是对输入脉冲计数。
根据设计要求,最高测量频率为9999Hz,应采用4位十进制计数器,可以选用现成的10进制集成计数器。
而本设计采用74ls90二、五、十进制计数器的。
其原理图如图4-5所示:
图4-5计数器及锁存器部分
(7)锁存器电路
在确定的时间(1S)内计数器的计数结果(被测信号频率)必须经锁定后才能获得稳定的显示值。
锁存器的作用是通过触发脉冲控制,将测得的数据寄存起来,送显示译码器。
锁存器可以采用一般的8位并行输入寄存器,为使数据稳定,最好采用边沿触发方式的器件。
本电路采用了74LS273锁存器对计数器送来的数据进行寄存的。
其原理图如上图五中所示。
(8)显示译码器与数码管
显示译码器的作用是把用BCD码表示的10进制数转换成能驱动数码管正常显示的段信号,以获得数字显示。
选用显示译码器时其输出方式必须与数码管匹配。
本项目显示数码管采用的是共阴极双列直插式的,所以其显示译码器选用了74LS48来驱动这四个共阴数码管了。
其电路原理图如下图4-6示:
图4-6译码显示部分
(9)完整电路及其工作原理
根据系统框图,设计出的电路如图七所示。
其中,稳压电源采用7805来实现,电路简单可靠,电源的稳定度与波纹系数均能达到要求。
整个电路系统工作原理是:
时基信号由555定时器构成一个较稳定的多谐振荡器,经整形,74LS123分频后,产生一个标准的时基信号,作为闸门开通的基准时间。
被测信号通过闸门,作为74LS90计数器的时钟信号,计数器即开始记录时钟的个数,计数的个数经74LS273锁存器锁存,然后,经74LS48译码驱动,数码管实时显示被测信号频率的数值,这样就达到了测量频率的目的。
整个电路系统原理图如图4-7所示:
图4-7数字频率计总电路图
系统仿真电路图如图4-8示:
图4-8系统仿真电路图
4.2方法与步骤:
1)器件检测及方法
用数字万用表对所要用的IC进行检测,以确定每个器件完好。
也可对LED数码管进行检测,检测方法是:
把万用表置于蜂鸣档,用黑表笔接LED的COM端,红表笔接其它端口,若数码管各段依次点亮,则说明数码管完好。
2)电路连接方法
本系统电路板采用双面板制作,在自制电路板上将IC插座及各种器件焊接好。
装配时,先焊接过孔、电阻、电容等小器件,然后焊接并固定IC座等大器件。
电路连接完毕后,先不插IC。
3)基准时间信号检测
关闭电源后,插上全部IC。
依次用示波器检测NE555时基脉冲输出信号,74LS123组成的分频输出信号以及由74LS90组成的计数器的输出波形,并用数字万用表测的电压与波形对照。
如无输出波形或波形形状不对,则应对NE555、74LS123、74LS90各引脚的电平或信号波形进行检测,并检查电路线路是否连通,以消除故障,直至数码管正常显示。
4)输入信号检测
从被测信号输入端输入幅值在1V左右频率为1KHz左右的正弦信号,如果电路正常,数码管可以显示被测信号的频率。
如果数码管没有显示,或显示值明显偏离输入信号频率,则作进一步检测。
5)控制门检测
检测控制门74LS00输出信号波形,正常时,每间隔1S时间,可以在荧屏上观测到被测信号的矩形波。
如观测不到波形,则应检测控制门的两个输入端的信号是否正常,并通过进一步的检测找到故障电路,消除故障。
如电路正常,或消除故障后频率计仍不能正常工作,则检测计数器电路。
6)计数器电路的检测
依次检测4个计数器74LS90时钟端的输入波形,正常时,相邻计数器时钟端的波形频率依次相差10倍。
如频率关系不一致或波形不正常,则应对计数器和反馈门的各引脚电平与波形进行检测。
正常情况各电平值或波形应与电路中给出的状态一致。
通过检测与分析找出原因,消除故障。
如电路正常,或消除故障后频率计仍不能正常工作,则检测锁存器电路。
7)锁存电路的检测
依次检测74LS273锁存器各引脚的电平与波形。
正常情况各电平值应与电路中给出的状态一致。
其中,第11脚的电平每隔1S钟跳变一次。
如不正常,则应检查电路,消除故障。
如电路正常,或消除故障后频率计仍不能正常工作,则检测译码驱动器电路。
8)显示译码电路与数码管显示电路的检测
检测显示译码器74LS48各控制端与电源端引脚的电平,同时检测数码管各段对应引脚的电平及公共端的电平。
通过检测与分析找出故障。
第5章51单片机系统的硬件连接及调试
本次课程设计使用的单片机系统是根据老师提供的系统原件,自己焊接而成。
焊接完成以后,首先烧写控制LED发光二极管闪烁的程序后,发现发光二极管是根据自己的设计而闪烁,烧写程序控制发光数码管显示时,数码管同样是根据自己的设计而显示的字符,说明本次51单片机的硬件焊接取得成功。
此次设计要求制作一频率计系统,需要使用的硬件主要包括51单片机芯片,ZLG7290数码管管理芯片和数码管。
另外还是用到排线若干,下载线及电源线。
其中51单片机硬件链接如图5-1所示,ZLG7290芯片连接图如图5-2所示,数码管连接图如图5-3所示。
总电路图如图5-4所示。
5-1图51单片机硬件连接图
图5-2ZLG7290硬件连接图
图5-3数码管硬件连接图
图5-4总电路图
第6章单元程序的设计
前面部分是采用纯硬件电路组成的。
比较用单片机来实现数字频率计的显示来说,这个系统相对难度有点大了。
因为元件数目多,电路结构复杂点。
但是,此电路各单元电路的设计思路是很清晰的,整个系统的设计逻辑思维较好。
而且其测量频率范围也能达到1—9999Hz,其精度也较高,能达到98%以上了。
与其他用纯硬件电路设计的频率相比较,本系统还是有其可取之处的。
采用单片机智能控制,结合外围电子电路,设计的智能数字频率计具有测量精度高,频率范围宽,稳定性好的特点,可应广泛用于各种测试场所。
所以各有优缺点,下面部分是用单片机来实现频率计的设计的。
6.11s定时
本次设计选用定时器T0完成定时功能,选用方式1时最多也只能定时,显然不能满足定时1
的要求,可以用下面这种方法解决:
采用T0定时10,连续循环定时100次即可完成1
定时,用一个计数单元20H存放循环的次数,每一次循环20H单元自减1,当20H单元为零时则1
定时到时。
6.2T1计数程序
设计中T1采用计数功能,需要注意的一个问题是,输入的待测时钟信号的频率最高可以达到460800Hz,但计数器最多只能计数65536次,显然需要对计数单元进行扩展,扩展的思路是除了计数器T1的TH1和TL1用于计数外,再选用一个计数单元23H,每当计数器T1溢出回零时产生中断,中断程序执行23H单元自增1,这样,当一秒到时时采集的计数数据,23H单元存放的是数据的最高位,TH1存放的是数据的次高位,TL1存放的是数据的最低位。
当然,这里所说的“最高位”“次高位”以及“最低位”都是针对十六进制而言的。
T1计数程序的流程图如图6-1示。
图6-1T1计数流程图
6.3频率数据采集
到1
定时时,存储计数器T1以及扩充计数单元23H记录的数据即为输入时钟信号的频率,为了保证记录的频率精确度,到1
定时后应立即停止T1的计数,因为指令的执行也需要时间,并且待测的时钟信号频率越高,指令执行所需要的时间就越不能忽略,这里采用的指令为CLRTR1。
6.4进制转换
从计数器采集到的频率数据是十六进制的,如果直接把这些数据送给数码管显示显然很不直观,因此需要把这些数据向十进制转换。
转换的算法有两种,第一种算法的思想是对该十六进制数除以100,商为百位,余数再除以10,再得到的商为十位,余数为个位。
这种算法虽然程序的编写非常简单,但是它的局限性也非常明显,即它只能对不大于两位的十六进制数进行转换,对于大于两位的十进制数则无能为力。
这次设计的频率计频率范
围远不止两位十六进制数就能记得下,所以这里采用第二种方法。
第二种方法算法的编程实现非常复杂,但是可以对任意长度的十六进制数向十进制转换。
这种算法的基本思路是:
第一步将最高位的高半字节提出来,除以10,把商存储起来,余数与最高位的低半字节组合成一个字节,再除以10,再存储商,余数以此类推,直到最后一次计算得到的余数即为十进制数的个位;
第二步把第一步存储的商组合成一个字节,依次除以10,仍然把每次得到的商存储起来,以此类推最后一次得到的余数即为十进制数的十位;
以后也是以此类推得到十进制数的百位、千位……以上算法必须要注意的一个问题是,每次得到的余数与低位的半字节组合成一个字节时,余数必须放在该字节的高半字节,否则计算错误。
该本次频率计系待测的时钟信号的最高频率为460800Hz,对应的十六进制数为70800H,这里就以70800H转换为十进制数为例来说明这种算法。
第一步:
用7H除以10,商0H余7H,把商0存储在24H单元,余数7H与下一个字节08H的高半字节0H组合成一个字节70H。
70H除以10,商BH余2H,把商BH存储在25H单元,余数2H与8H组合成一个字节28H。
28H除以10,商4H余0H,把商4H存储在26H单元,余数0H与0H组合成一个字节00H。
00H除以10,商0H余0H,把商0H存储在27H单元,余数0H与0H组合成一个字节00H。
00H除以10,商0H余0H,把商0H存储在28H单元,余数0即为所需十进制数的个位。
第二步:
把存储在24H与25H单元的商组合成一个字节0BH。
0BH除以10,同第一步,存储商,余数与下一个商组合成一个字节,再除以10,一次类推得到十进制数的十位0。
第三步:
方法同第二步,得到十进制数的百位8。
第四步:
方法同第三步,得到十进制数的千位0。
第五步:
方法同第四步,得到十进制数的万位6和十万位4。
最后得到了十进制数460800。
图6-2详细的展示了这种进制转换算法的过程。
图6-2进制转换说明图
6.5数码显示
将采集到的频率转换为十进制数后,还不能直接将这些数送给数码显示,因为七段LED数码管内部由7个条形发光二极管和一个小圆点发光二极管组成,根据各管的亮暗组合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 单片机 频率计 设计