• 3.85 MB
  • 2022-04-22 13:47:21 发布

数字频率计设计毕业论文.doc

  • 43页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'南昌大学共青学院毕业设计(论文)目录数字频率计设计毕业论文目录摘要IAbstractII第一章前言11.1课题背景11.2课题研究的目的和意义11.3数字频率计设计的任务与要求2第二章数字频率计的方案设计32.1方案比较32.2方案论证42.3方案选择4第三章数字频率计的硬件设系统设计53.1数字频率计的硬件系统框架53.2电源接入电路53.3放大整形电路63.4分频电路103.5单片机最小系统电路123.6显示电路16第四章数字频率计的软件系统设计204.1软件设计规划204.1.1信号处理204.1.2中断控制204.2定时器/计数器214.2.1定时工作方式0224.3程序流程图设计234.3.1主程序流程234.3.2中断流程24第五章数字频率计的仿真调试265.1测试结果26第六章实物的制作与调试276.1电路的安装过程276.2电路的调试过程276.3电路出现的问题及解决方法27总结29参考文献31致谢33附录A:程序34附录B:数字频率计的系统原理图39 南昌大学共青学院毕业设计(论文)目录附录C:实物图片40附录D:焊接图片41附录E:仿真图片42 南昌大学共青学院毕业设计(论文)目录摘要本方案主要以单片机为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分,设计以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。本设计以89C51单片机为核心,应用单片机的算术运算和控制功能并采用LED数码显示管将所测频率显示出来。系统简单可靠、操作简易,能基本满足一般情况下的需要。既保证了系统的测频精度,又使系统具有较好的实时性。本频率计设计简洁,便于携带,扩展能力强,适用范围广。[关键词]单片机;运算;频率计;LED数码管I 南昌大学共青学院毕业设计(论文)目录AbstractTheprogrammainlymicrocontrollerasthecore,aredividedintotime-basecircuit,thelogiccontrolcircuit,amplifiershapingcircuit,thegatecircuit,thecountingcircuit,latchcircuit,decodingcircuitmostofthesevenshows,designamicrocontrollerasthecore,themeasuredsignalthefirstamplifiertoamplifytheincomingsignal,andthenwassenttothewaveformshapingcircuitsurgery,themeasuredsinewaveortrianglewaveshapingasasquarewave.Counterandtimermicrochipfeaturesofthesignalcount.WritethecorrespondingprogramcanautomaticallyadjustthemeasurementrangeofSCM,andthefrequencyofthemeasureddatatothedisplaycircuitdisplays.Thedesignofthe89C51microcontrollercore,microcontrollerapplicationsandcontrolfunctionsandarithmeticoperationswithLEDdigitaldisplaytubetothemeasuredfrequencyisdisplayed.Systemissimple,reliable,easytooperateandcanbasicallymeetthegeneralneeds.Bothtoensuretheaccuracyofthesystemfrequencymeasurement,butalsothesystemhasgoodreal-time.Thefrequencymeterdesignissimpleandeasytocarry,expansioncapability,wideapplication.[Keywords]microcontroller,operation,frequencymeter,LEDdigitaltubeII 南昌大学共青学院毕业设计(论文)第一章前言第一章前言1.1课题背景数字频率计是一种基础工业电子测量仪器,迄今已有30多年的发展历史。早期,设计师们追求的目标主要是扩展测量范围,和提高测量精度、稳定度等。这些也是人们衡量数字频率计的技术水平,决定数字频率计价格高低的主要依据。目前随着微型处理器技术的迅速发展,数字频率计装置外观、功能日臻完善,成熟。随着科学技术的发展和数字频率计的广泛应用,用户对数字频率计也提出了更高的要求。对于低档产品要求操作方便,量程足够宽,可靠性高,价格低。而对于中高档产品,则要求有高分辨率,高精度,高稳定度,高测量速率。除通常通用频率计所具有的功能外,还要有数据处理功能,数据存储功能,统计分析功能,时域分析功能等等,或者包含电压测量等其他功能。这些要求有的已经实现或者部分已经实现,但要真正完美的实现这些目标,对于设计者来说,还有许多工作要做。随着数字集成电路技术的飞速发展,应用计数法原理制成的数字式频率测量仪器具有精度高、测量范围宽、稳定度高、便于实现测量过程自动化等一系列的突出特点。1.2课题研究的目的和意义在当今的社会中,毫无疑问,无论是在科技研究中还是在实际应用中,频率测量都是非常重要的。在传统的频率记中,采用的都是一些组合电路和时序电路等大量的元器件组成的,使频率计体积非常大,而速度也非常的慢,最重要的一点就是测量出来的信号不适合直接使用,都需要经过人工处理之后,才能适用了我们。随着我们科技的不断进步,为了更好的运用频率计,我们开始使用了集成技术,通过单片机来实现频率计功能,通过单片机我们可以得到一个体积小稳定性能好的频率计,单片机的频率计是一种基于时间或者频率的模数转换原理,而且依赖于数字电路技术的发展而形成起来的一种显示被测信号频率的数字测量仪器。现在的频率计与传统的频率计测量方式上相比,现在的单片机频率计有着体积小、速度快,测量范围宽等优点,更为重要的是它的产生,大大地降低我们的制作成本,在传统的频率计中,很多很多的功能都是使用硬件方式来实现的,而采用单片机频率计测量频率之后,2 南昌大学共青学院毕业设计(论文)第一章前言不再需要那么多繁杂的硬件电路,只需要通过对单片机编程就能简单地实现了频率计的功能,而且不同的程序,能够实现不同的功能,这也是一个巨大优势,毫无疑问地使得制作成本大大降低。当今社会科技的日新月异,人们对电子产品的要求越来越高,经济、高效、精准等因素已经成为我们的目标,就拿频率计来说吧,如果现在还是像传统的方式来设计和制造他,那它显然不能满足我们的要求。那么基于单片机的数字频率计必将取代传统的频率计。而它的优势也显而易见,小巧轻便、集成度高、操作简单、易于维护和修改。这些优点无不满足着人们追求经济、高效、精准的目标。试想一下,改变程序中的几行命令显然要比改变电路板上的几条连线要快的多,方便的多。正因为基于单片机的数字频率计有着明显的优势,所以我采用单片机数字频率计来作为我的课题研究,实现信号被采集在通过显示出来,通过设计频率计系统来实现信号频率的检测功能。在频率计的检测系统设计中,我们要以单片机为核心控制元件,以频率检测电路为依托的功能电路,以人机界面作为媒介的交互单元。了解频率检测的算法及软硬件的实现方式,灵活地运用了电子相关学科的理论知识和平时的实训,联系实际电路中的设计,掌握了设计的具体实现方法,达到了理论与实践的巧妙融合。在此过程中,加深对信号检测和信号处理的理解和认识。这对我以后的工作和学习都是有很大帮助的。1.3数字频率计设计的任务与要求(1)频率测量范围:10Hz—1.0MHz;(2)测量信号幅度:≤1V;(3)测量误差: ≤±0.01%;(4)控制单元采用51系列单片机或其他功能相当的单片机;(5)测量结果通过LCD显示掌握仿真软件Proteus或Multisim的使用,用Proteus或Multisim仿真。2 南昌大学共青学院毕业设计(论文)第一章前言2 南昌大学共青学院毕业设计(论文)第二章数字频率计方案设计第二章数字频率计方案设计2.1方案比较方案一:在方案一中,我们以单片机为主要核心元件,通过单片机的计数定时功能两个特殊功能来实现频率的计数,同时也利用了单片机的动态扫描,把测出的数据通过十六进制送到数字显示电路显示。其原理框图如图2.1所示:信号处理输入74HC161计数器单片机LCD液晶显示图2.1方案一原理框图方案二:本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。其原理框图如图2.2所示:逻辑控制电路时基电路整形电路闸门电路计数器锁存器液晶显示器图2.2方案二原理框图4 南昌大学共青学院毕业设计(论文)第二章数字频率计方案设计2.2方案论证方案一:本方案主要以单片机为核心,送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。通过编写相应的程序,我们可以对单片机自动调节测量的量程参数,并把测量出来的频率数据通过单片机显示电路显示出来。方案二:本方案使用大量的数字器件,被测信号经放大整形电路变成计数器所要求的脉冲信号,其频率与被侧信号的频率相同。通过单片机的定时器来实现定时功能,我们把单片机的定时器作为一个基准时间,使其高电平持续时间为1秒,当1秒之后,闸门开通,被测脉冲信号通过闸门,计数器立马开始计数,直到1秒信号结束后闸门关闭,同时停止计数。若在闸门时间1秒内计数器计得的脉冲个数为N个,则被测信号的频率我们可以表示为:Fx=NHz。逻辑控制电路的作用有两个:一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。2.3方案选择通过比较以上两种方案比较,我们可以知道,方案一使用的元器件少、电路简单、调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。方案二相比较方案一则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。如要测量高频的信号还需要加上分频电路,价格相对高了点。基于上述比较,所以选择了方案一。4 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计第三章数字频率计的硬件系统设计3.1数字频率计的硬件系统框架数字频率计是一个将被测频率经过处理之后显示出来的计数装置,它主要由单片机89C51、74HC393、LCD显示器、电源等几个电路组成。该系统的功能是将信号输入P3.4口,通过单片机程序控制,对LCD显示器进行段控和位控,实现动态显示。数字频率计在我们科技研发过程中是必不可少的。例如计算机、通讯设备、音频视频等科研生产领域都是不可缺少。在进行有关电子技术的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。图3-1为数字频率计方案框图。信号处理输入74HC161计数器AT89C51单片机LCD液晶显示图3-1数字频率计方框图3.2电源接入电路使用变压器提供到AC桥堆的输入脚为9V交流电压,通过AC整流输出为9V直流电,然后在通过电解电容滤波、7805稳压芯片稳压,最后提供给89C51单片机为5V电压。5V电源接入电路如图3-1所示。22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计3-1电源接入电路仿真的时候,我们直接可以接入VCC+5V电源,因此可以省略5V电源电路设计3.3放大整形电路3-2放大整形电路(1)放大整形电路的重要性因为在单片机计数中只能对脉冲波进行计数,而实际中需要测量频率的信号是多种多样的,有脉冲波、还有可能有正弦波、三角波等,所以需要一个电路。把待测信号转化为可以进行计数的脉冲波。(2)放大整形电路的原理矩形脉冲的整形电路有两种:一种是施密特触发器,另外一种是单稳态触发器,由于本次的设计是基于单片机的数字频率计的放大整形电路部分,其需求比较简单,所以我们选择由74HC04内部的MOS管构成的施密特触发器来作为信号波形整形电路。3.4分频电路图3-9分频电路(1)分频电路的介绍22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计本设计采用的是测频法,考虑单片机定时计数器的计数能力有限,不能实现对高频信号进行测量,所以我们要对待测信号进行分频,这样才能提高测量频率的范围,并且能够相应的提高频率测量的精度。所以我们需要把待测信号进行分频。在本次设计中,因为我们要进行的是十分频、一百分频和一千分频,所以我们选用74HC161电路,经过正确的连接后就可以进行十分频,进行三次十分频就可以得到分频一千次的信号。74LS161是常用的四位二进制可预置的同步加法计数器[12],可以灵活的运用在各种数字电路,以及单片机系统种实现分频器等很多重要的功能。(2)管脚图介绍:时钟CP和四个数据输入端P0-P3,清零为/MR,使能CEP,CET,置数PE,数据输出端Q0-Q3,以及进位输出TC(TC=Q0xQ1xQ2xQ3xCET)。表4为74161的功能表。表474161的功能表清零RD预置LD使能EPET时钟CP预置数据输入ABCD输出Q0Q1Q2Q3L××××××××LLLLHL××上升沿ABCDABCDHHL××××××保持HH×L×××××保持HHHH上升沿××××计数22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计其中RD为异步清零端,LD为预置数控制端,A、B、C、D是预置数据输入端,EP和ET是计数使能端,RCO(=ET.QA.QB.QC.QD)是进位输出端,(3)74HC161功能表从7416HC161功能表功能表中可以知道,当清零端CR=“0”,计数器输出Q3、Q2、Q1、Q0立即为全“0”,这个时候为异步复位功能。当CR=“1”且LD=“0”时,在CP信号上升沿作用后,74LS161输出端Q3、Q2、Q1、Q0的状态分别与并行数据输入端D3,D2,D1,D0的状态一样,为同步置数功能。而只有当CR=LD=EP=ET=“1”、CP脉冲上升沿作用后,计数器加1。74LS161还有一个进位输出端CO,其逻辑关系是CO=Q0·Q1·Q2·Q3·CET。3.5单片机最小系统电路(1)89C51芯片介绍许多有关硬件设计中都使用到单片机89C51,其功能[7]比以往的单片机强大的多。89C51引脚图如图3-11所示。图3-1089C51引脚图芯片引脚功能:主电源引脚Vcc和Vss•Vcc(40脚):接+5V电压;22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计•Vss(20脚):接地。89C51晶振接法如图3-11。图3-1189C51晶振接法图选用6MHz频率的晶体,允许输入的脉冲频率为250kHz。电容的大小范围为20pF~40pF,本设计选用30pF电容。(2)单片机复位状态单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟震荡脉冲(2个以上的机器周期)高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,在设计复位电路时,通常使RST引脚保持10ms以上的高电平。只要保持高电平,则MCS-51单片机就循环复位;当RST从高电平变为低电平以后,MCS-51单片机从0000H地址开始执行程序。在复位有效期间,ALE、引脚输出高电平。89C51上电复位电路图。图3-1289C51上电复位电路图22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计单片机复位状态表。表3-5单片机复位状态表专用寄存器复位状态专用寄存器复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P3FFHSCON00HIPXXX00000BSBUFXXXXXXXXBIE0XX00000BPCON0XXXXXXXB注:XXX不定复位后,P0口-P3口输出高电平,且使这些准双向口皆处于输入状态,并且将07H写入栈指针SP(即设定堆栈底为07H),同时,将程序计数器PC和其余的特殊功能寄存器清为0(不定的位除外)。但复位不影响单片机内部的RAM状态(3)时钟电路图3-13时钟电路几乎所有的数字系统在处理信号都是按节拍一步一步地进行的,系统各部分也是按节拍做的,要使电路的各部分统一节拍就需要一个“时钟信号”,产生这个时钟信号的电路就是时钟电路。22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计时钟电路的核心是个比较稳定的振荡器(一般都用晶体振荡器),振荡器产生的是正弦波,频率不一定是电路工作的时钟频率,所以要把这正弦波进行分频,处理,形成时钟脉冲,然后分配到需要的地方。让系统里各部分工作时使用。在内部方式时钟电路中必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路通常C1和C2一般取30pF晶振的频率取值在1.2MHz12MHz之间。对于外接时钟电路要求XTAL1接地XTAL2脚接外部时钟对于外部时钟信号并无特殊要求只要保证一定的脉冲宽度时钟频率低于12MHz即可。晶体振荡器的振荡信号从XTAL2端送入内部时钟电路它将该振荡信号二分频产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S它是振荡周期的2倍P1信号在每个状态的前半周期有效在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。(4)单片机最小系统的工作原理单片机的最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分,也可理解为是用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/输出设备。图3-10为单片机最小系统电路。22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计图3-10单片机最小系统电路3.6显示电路图3-13显示电路(1)LCD1602液晶显示模块基本技术22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计在单片机系统中,常用的显示器有:发光二极管显示器,简称LED;液晶显示器,简称LCD;荧光管显示器。而发光二极管显示又分为固定段显示和可以拼装的大型字段显示,此外还有共阳极和共阴极之分等。本设计中运用1062液晶显示器显示,1602的结构和原理。1.简介工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)注:为了表示的方便,后文皆以1表示高电平,0表示第电平。2.管脚功能LCD1602引脚图1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VCC接5V电源正极第3脚:V0为液晶显示器对比度调整端第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.操作控制操作控制表操作读状态写指令读数据写数据输入RS=0,RW=1,E=1RS=0,RW=0,D0~7=指令码,E=H脉冲RS=1,RW=1,E=1RS=1,RW=0,D0~7=数据,E=H脉冲注:关于E=H脉冲——开始时初始化E为0,然后置E为1,4.字符集1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。22 南昌大学共青学院毕业设计(论文)第三章数字频率计的硬件系统设计因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如"A’。以下是1602的16进制ASCII码表地址:读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。[编辑本段]指令集1602通过D0~D7的8位数据端传输数据和指令。显示模式设置:(初始化)00110000[0x38]设置16×2显示,5×7点阵,8位数据接口;显示开关及光标设置:(初始化)00001DCBD显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效)000001NSN=1(读或写一个字符后地址指针加1&光标加1),N=0(读或写一个字符后地址指针减1&光标减1),S=1且N=1(当写一个字符后,整屏显示左移)s=0当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。22 南昌大学共青学院毕业设计(论文)第四章数字频率计软件系统设计第四章数字频率计软件系统设计4.1软件设计规划4.1.1信号处理在频率计开始工作,或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(SP)、工作寄存器、中断控制和定时/计数器的工作方式。定时/计数器的工作首先被设置为计数器的计数寄存器清0后,置运行控制位TR为1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小值开始,也就是从测量频率的高量程开始。计数闸门结束时TR清0,停止计数。计数寄存器中的值通过16进制数道10进制数转换程序转换为10进制数。对10进制数的最高位进行判别,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大10倍,重新对待测信号的技术,直到满足测量数据有效位数的要求。待测信号经预处理电路分频后变成较宽的方波信号,并加至单片机的P3.4引脚,为单片机测信号频率提供有效的输入信号。单片机通过检测P3.4引脚来判断是否启动测周期程序。当该引脚为高电平时则等待,知道该引脚出现低电平时才开始测周期。首先将零赋给TH0、TL0两个寄存器,将定时器T0的运行控制位TR0置位,同时也将ET0置位以允许定时器T0终端,然后再判断P3.4引脚是否还为低电平,当不是低电平时则等待。一旦出现低电平则使TR0复位以终止定时器,测周期程序结束。在测周期过程中,会发生定时器T0的中断,每发生一次中断则将R0寄存器加一,因此R0实际上是周期值的高字节。测出的周期值存储在R0、TH0、TL0三个寄存器中,然后将其转换成频率。由于所测周期的单位是µs,再相除转换时要将被除数扩大10倍,这样才能保证得出正确的频率。得出的频率放到R1、R2、R3三个寄存器后调用转换BCD代码模块。调用显示消除多余零和显示数据存储模块,将要显示的频率值通过查表转换成相应数据8段码放到现实缓冲区以备显示。4.1.2中断控制22 南昌大学共青学院毕业设计(论文)第四章数字频率计软件系统设计由于在程序设计中用到中断[9]方式,所以我们在此对单片机中断系统中的中断控制作一下介绍。中断是工业过程控制及智能化仪器用微型机或单片机应用最多的一种数据传送方式。在通常情况下,单片机执行主程序,只有当正常状态出现故障,或发出中断请求时,单片机才暂停执行主程序,转去执行或处理中断服务程序,执行完中断服务程序后,再返回到主程序继续运行。单片机的这一种工作过程称为中断方式。基于资源共享原理上的中断技术,在计算机中得到了广泛的应用。中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入/输出效率;中断技术也能对计算机运行过程中突然发生的故障及时发现并进行自动处理如:硬件故障、运算错误及程序故障等;中断技术还能使我们通过键盘发出请求,随时对运行中的计算机进行干预,而不用先停机处理,然后再重新开机等。在单片机中,中断技术主要用于实时控制。所谓实时控制,就是要求计算机能及时地响应被控对象提出的分析、计算和控制等请求,使被控对象保持在最佳工作状态,以达到预定的控制效果。由于这些控制参量的请求都是随机发出的,而且要求单片机必须做出快速响应并及时处理,对此,只有靠中断技术才能实现。4.2定时器/计数器(1)定时器控制寄存器(TCON)[10]TCON寄存器既参与中断控制又参与定时控制。现对其定时功能加以介绍。其中有关定时的控制位共有4位:F0和TF1——计数溢出标志位当计数器计数溢出(计满)时,该位置“1”;使用查询方式时,此位作状态位供查询,但应注意查询有效后应以软件方法及时将该位清“0”;使用中断方式时,此位作中断标志位,在转向中断服务程序时由硬件自动清“0”。R0和TR1——定时器运行控制位TRO(TR1)=0      停止定时器/计数器工作TRO(TR1)=1      启动定时器/计数器工作(2)工作方式控制寄存器(TMOD)[11]22 南昌大学共青学院毕业设计(论文)第四章数字频率计软件系统设计TMOD寄存器是一个专用寄存器,用于设定两个定时器/计数器的工作方式。但TMOD寄存器不能位寻址,只能用字节传送指令设置其内容。(3)中断允许控制寄存器(IE)[12]EA——中断允许总控制位ET0和ET1——定时/计数中断定时器/计数器提供给用户使用的有:8位计数器TH和TL,以及有关的控制位。这些内容只能以软件方法使用。能够产生中断申请的部件被称为中断源。8051型单片机提供了五个中断源:两个外部中断源和三个内部中断源。每一个中断源都有一个中断申请标志位,但是串行口占有两个中断标志位。一共有六个中断标志位。(4)定时器/计数器对输入信号的要求定时器/计数器的两个作用是用来精确的确定某一段时间间隔[13](作定时器用)或累计外部输入的脉冲个数(作计数器用)。当用作定时器时,在其输入端输入周期固定的脉冲,根据定时器/计数器中累计(或事先设置)的脉冲个数,即可计算出所定时间的长度。当89C51内部的定时器/计数器被选择为定时器工作方式时,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。因此,定时器/计数器的输入脉冲周期与机器周期一样,为振荡频率的1/12。当采用12MHz频率的晶体时,计数频率为1MHz,输入脉冲的周期间隔为1μs[14]。由于定时的精度决定于脉冲的周期,因此,当需要高精度的定时器时,应尽量选择频率较高的晶体。4.2.1定时工作方式0方式0是13位计数结构的工作方式[15],其计数器由TH0高8位和TL0的低五位构成。TL0的高3位弃之不用。当C/=0时,多中开关接通振荡脉冲的12分频输出,13位计数器以此进行计数,这就是所谓定时器工作方式。当C/=1[16]时,多路开关接通计数引脚(T0),外部计数脉冲由引脚T0输入。当计数脉冲发生负跳变时,这就是所谓计数工作方式。22 南昌大学共青学院毕业设计(论文)第四章数字频率计软件系统设计不管是哪种工作方式,当TL0的低五位计数溢出时,向TH0进位,而全部13位计数溢出时,则向计数溢出标志位TF0进位。4.3程序流程图设计(见附录A)4.3.1主程序流程主程序流程图如图4-1所示。数据转换读取当前计数值重新启动T0、T1中断,重新进行测量结果显示YNKey=1开始图4-1主程序流程图22 南昌大学共青学院毕业设计(论文)第四章数字频率计软件系统设计4.3.2中断流程T1中断流程图如图4-2所示。进入中断Timecount++对T1赋初值计算频率值freq退出中断Timecount==250?停止T0,T1图4-2T1中断流程图22 南昌大学共青学院毕业设计(论文)第四章数字频率计软件系统设计T0中断流程图如图4-2所示。进入中断T0count++退出中断图4-2T0中断流程图中断程序实现定时与计数的功能。T1进行定时,定时时间为1S。T0进行计数,TO中断溢出一次,T0count加1。当定时达到1S时,停止T0,T1。最后计算相应的频率值。22 南昌大学共青学院毕业设计(论文)第六章实物的制作与调试第五章数字频率计的仿真调试利用仿真软件ISIS的强大的仿真功能可以有效地检验所设计的原理图是否在理论上正确合理。选择适当的三极管和设置基极,发射极,集电极电阻可以得到适当的放大倍数对所测的信号进行有效的处理。要选择适当的三极管,以免避免发生截止失真和饱和失真。分别以正弦波,方波,三角波作为输入信号检测电路的整形效果。利用仿真软件的示波器来观察整形出来的波形是否符合所要整形出来的波形。利用Keiluvision2软件编写单片机的工作程序并且检验程序是否成功编译。通过Keiluvision2逐步运行程序的功能可以检测出程序的错漏从而进行改正。程序编译成功后,利用ISIS软件把程序加载到原理图中进行仿真,通过显示器显示出来的频率大小与所设计的频率相比较可以看出所编写的程序是否满足要求,是否符合设计所要求的精度。测出各频率范围的误差,如果不符合设计所要求的精度可以通过改变单片机定时器的初始值或者优化程序的结构来减小误差增加精度!LED数码管采用的是动态扫描的方法进行显示,要设计好相应的扫描时间,因为扫描时间太短则LED显示出来的数字便会一直在闪烁不稳定,扫描时间太长则LED显示便会出现短时间的熄灭。调试电路的时候发现由于P2口的驱动能力不够大因此要驱动LED数码管工作就应该加上反相器或者三极管作为驱动电路。5.1测试结果(见附录E)经过分析,本次设计的频率计的误差来源主要有两部分,分频所带来的误差和单片机定时计数带来的误差。分频误差:由于采用74HC161来作为分频电路,74HC161通过计数,将会把一部分信号脉冲给省略掉,所以因为分频必然会带来误差和精度降低。因此,在编写程序的,过程中,我尽可能的选择用分频少和没分频的信号来计数,实现频率的测量。定时计数误差:因为定时和计数都是由单片机本身来完成的,在计数的时候会产生误差。这个误差的大小是用单片机的内部时钟决定的,采用高频率的晶振来为单片机提供内部时钟,则能减少此误差。本次设计我们用的是12MHz的晶振,而测频的范围是1Hz~1MHz。所以定时计数的误差在本系统基本可以忽略不计。第六章实物的制作与调试29 南昌大学共青学院毕业设计(论文)第六章实物的制作与调试设计好以上每个模块的电路后便可画出整个数字频率计的电路图(总电路原理图见附录B)然后列出所需要的元器件清单。拿到元器件按照整体电路图安装好数字频率计的电路后进行调试首先分模块进行调试在每个模块调试正确后不规则进行联调。因为整个电路的分析是瞬态分析故总体电路的分析需要较长时间。6.1电路的安装过程1.连电路之前要先做好一切准备如晶线检查一下面包板是否完好整理好要用的实验工具再将要用的芯片按型号分类这样在连接电路时又方便又不易出错。2.开始连接电路电路连接要求导线要横平竖直并且最好不要交叉所以要先考虑好电路的布局后根据电路连接合理的插接芯片插芯片时也要注意要把所有的管脚都插进去后要均匀平稳的按下去拔芯片的时候也要平稳以免折断管脚。3.连电路是要分局部连接每一个功能模块要分开接这样连接的电路除了什么错误就比较容易发现并改正。6.2电路的调试过程1.用示波器来检测石英晶体振荡器的输出波形和频率晶振正常的输出频率应为32768HZ。2.将频率为32768HZ的信号送入分频器并用示波器检查各级分频器的输出频率是否符合设计要求。3.最后用同样的方法检测锁存器是否正常锁存,译码器能否正常工作,显示管能否显示数字等。4.分频逻辑控制电路计数锁存和显示都没有问题后调试完成。6.3电路出现问题及解决方法1.在检测面包板状况中出现本该相通的地方却未通的状况经检查发现是由于接线点中间断开所致用导线连接急排除。2.在检测整体电路时发现电路短路的情况并导致数码管烧坏经检查发现是有好几个芯片坏掉所致更换新的数码管和芯片就解决了问题。3.检测脉冲发生器时发现脉冲发生器的29 南昌大学共青学院毕业设计(论文)第六章实物的制作与调试输出始终为高电平这可能是某些元器件损坏的缘故在对每个元件逐一更换后发现是其中一个电阻坏掉了更换该电阻后秒脉冲发生器的输出终于可以在高电平和低电平之间不断地跳变了。4.整个连接的时间花了整整两天而调试却花了三天的时间。可见数字电路的重点是调试工作调试是设计的核心内容这是关键。实物图片见附录C焊接图片见附录D29 南昌大学共青学院毕业设计(论文)第六章实物的制作与调试总结1.结论基于单片机的频率计的设计涉及到计算机的硬软件知识,通过对系统的设计和调试,本次设计主要完成了以下工作:1、提出基于单片机的数字频率计设计的基本方案;2、完成了整形电路、同步电路、分频电路、主控门电路等相应的硬件电路设计及仿真;3、编译了数字式频率计的控制程序、数码转化程序、数据显示程序等系统软件程序;4、对硬件电路进行了仿真,进行了误差分析。2.系统的改善本次设计由于作者知识的有限,所以设计的系统并不是最理想的。例如可以采用脉冲数定时测频法和脉冲周期测频法相结合,在高频的时候采用脉冲数定时测频法,在低频率的时候采用周期测频法。此法可保证测频过程中精度一直很高,但实现的电路和程序都将很复杂。还可以用外部计数器和单片机定时计数器共同计数来代替用单片机的定时计数器来进行定时,这样测量的精度可以进一步提高,但相对的端口分配和控制会相对复杂一些。3.感想和收获本次设计的过程和结果都给了我很多感触。初次拿到毕业设计的题目时,真的是对数字频率计一无所知。在初次见到谭老师的时候,只是对频率有一定的理解,至于怎么设计,几乎没有什么想法。在谭老师的指导和讲解下,对频率计的介绍有了一定的了解。后来通过不断的学习和查阅资料,终于清楚的知道了频率计的基本情况和设计的方案有了一定的理解。通过对各种性能的比较和所学知识能实现的状况,对本次毕业设计进行了设计。最后进行的是毕业论文的撰写,在写论文的过程中,因为对WORD掌握的不好,所以在编写论文中出现了很多问题,但最后在谭老师和同学的帮助下,都一一的解决了。通过本次设计,让我学会了从系统的高度来考虑设计的方方面面,对电路的设计和研究有了更深刻的体会;让我了解到软件的设计是建立在对硬件了解的基29 南昌大学共青学院毕业设计(论文)第六章实物的制作与调试础上的,特别是对单片机的功能,引脚定义和内部结构要有较为详细的了解,此外对电路板中所用到的各个芯片的引脚和功能,也要进行了解;在编写程序时,进行模块化设计,以严谨的态度进行编程,避免出现低级错误,养成为程序添加注释和说明的好习惯,以便自己的修改和阅读者轻松的了解程序的各部分及整体的功能。29 南昌大学共青学院毕业设计(论文)参考文献参考文献[1]陈敬远.数字频率计的VHDL设计[J].浙江传媒学院学报;2002,01:36-38.[2]何均,杨明.适合于单片机实现的极值搜索算法[J].单片机与嵌入式系统应用,2004,24.[3]杜玉远.基于top-down方法的数字频率计的设计与实现[J].电子世界,2004,5:30-32.[4]钱进.基于AT89C2051的高度精度数字频率计的设计[J].机电产品开发与创新,2007,20(1):86-87.[5]冯雷星,杨伟,芦燕龙.基于单片机高性价比频率计的设计与实现[B].微计算机信息,2007,20.[6]赫建国,刘立新,党剑华.基于单片机的频率计设计[J].西安邮电学院学报,2003,03:34-37+75.[7]张毅刚.单片机原理及应用.高等教育出版社[M],2003.12(1).[8]ControlCircuitDesignofACFrequencyConversionSystemsforSpeedGoverning[A],Proceedingsof4thInternationalSymposiumonTestandMeasurement(Volume2)[C],2001.[9]Themeasurementofoilconsumptiononengine[A],Proceedingsof4thInternationalSymposiumonTestandMeasurement(Volume2)[C],2001.[10]施剑鸣.单片机测频技术及测量精度的提高[A].江苏省计量测试学会2005年论文集[C],2005.[11]谢煌,黄为.基于VHDL语言设计频率计[J].北京现代电子技术,2003,14.[12]杜刚,高军,童宁宁.基于AT89C2051单片机的频率计设计[J].微计算机应用,2004,25(4):498-501.[13]刘雪根.数字频率计的误差分析[J].自动化与仪表,1996,3:23-24.[14]顾巨峰,周浩洋,朱建华.基于可编程逻辑器件(Lattice)的多功能数字频率计[J].电子工程师,2002,1:28-32.29 南昌大学共青学院毕业设计(论文)参考文献[15]王丽霞,程小辉,龚幼民.基于LM331的频率计[J].仪表技术与传感器;2007,09.[16]吴慎山,王芳,吴东芳,吴雪冰,万霞.智能单片机频率计的原理与设计[J].河南师范大学学报(自然科学版),2004,02:47-49.29 南昌大学共青学院毕业设计(论文)附录A致谢感谢学校和老师对我的培养,给我这个自己动手的机会和空间。经过一段时间,终于在指导老师的帮助下完成了毕业设计,对自己的能力有了很大的提升。在此我要感谢每一个帮助过我的人。首先,我要感谢的是我的指导老师谭金平老师,在百忙之中抽出时间为我的设计指点,提供帮助,他的学习作风和优良的教学研究精神是我永远学习的榜样。其次要感谢我的父母,不管在面对什么样的难题问题,他们都是我坚强的后盾与支持。再次我要感谢我的同学,帮我解决了很多我无法弄明白的难题,总而言之,感谢每一位关心过我的人,他们今天对我的付出,成为我将来工作的动力。39 南昌大学共青学院毕业设计(论文)附录A附录A:程序#include#include"LCD1602.h"#include#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongucharTemp[16]="";ucharTaap[16]="";ulongtmp;ucharnn;uchari;//显示函数voiddisplay(){GotoXY(0,0);Taap[5]="P";Taap[6]="i";Taap[7]="n";Taap[8]="l";Taap[9]="v";Taap[10]="j";//空格Taap[11]="i";//空格Print(Taap);GotoXY(1,1);Print(Temp);}//T0定时中断,晶振24MvoidT0_int(void)interrupt1{staticuintcounter=0;TH0=0xec;TL0=0x78;if(counter++==397){counter=0;tmp=4*(nn*65536+TH1*256+TL1);nn=0;Temp[4]=tmp%100000000/10000000+"0";Temp[5]=tmp%10000000/1000000+"0";Temp[6]=tmp%1000000/100000+"0";Temp[7]=tmp%100000/10000+"0";39 南昌大学共青学院毕业设计(论文)附录ATemp[8]=tmp%10000/1000+"0";Temp[9]=tmp%1000/100+"0";Temp[10]=tmp%100/10+"0";Temp[11]=tmp%10/1+"0";TH1=TL1=0;}}voidtimer1(void)interrupt3{nn++;}voidmain(void){TMOD=0x51;/*01010001T1计数,T0定时*/TH1=0;TL1=0;//晶振24MTH0=0x3c;TL0=0xb0;TR0=1;//开定时器0TR1=1;//启动计时器1EA=1;//开总中断ET0=1;//开定时器0中断ET1=1;//开定时器0中断PT0=1;//定时器0优先级高LCD_Initial();//液晶初始化while(1){display();}}#include//***************************************************************************************sbitLcdRs=P2^3;sbitLcdRw=P2^4;sbitLcdEn=P2^5;sfrDBPort=0x80;//P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.数据端口39 南昌大学共青学院毕业设计(论文)附录A//***************************************************************************************unsignedcharLCD_Wait(void){LcdRs=0;_nop_();_nop_();_nop_();LcdRw=1;_nop_();_nop_();_nop_();_nop_();LcdEn=1;_nop_();_nop_();_nop_();_nop_();LcdEn=0;_nop_();_nop_();_nop_();returnDBPort;}//********向LCD写入命令或数据************************************************************#defineLCD_COMMAND0//Command#defineLCD_DATA1//Data#defineLCD_CLEAR_SCREEN0x01//清屏#defineLCD_HOMING0x02//光标返回原点voidLCD_Write(bitstyle,unsignedcharinput){LCD_Wait();_nop_();_nop_();_nop_();LcdEn=0;_nop_();_nop_();_nop_();LcdRs=style;_nop_();_nop_();_nop_();LcdRw=0;_nop_();_nop_();_nop_();_nop_();DBPort=input;_nop_();_nop_();_nop_();_nop_();//注意顺序LcdEn=1;_nop_();_nop_();_nop_();_nop_();//注意顺序LcdEn=0;_nop_();_nop_();_nop_();_nop_();//LCD_Wait();}//******************设置显示模式************************************************************#defineLCD_SHOW0x04//显示开#defineLCD_HIDE0x00//显示关#defineLCD_CURSOR0x02//显示光标#defineLCD_NO_CURSOR0x00//无光标#defineLCD_FLASH0x01//光标闪动#defineLCD_NO_FLASH0x00//光标不闪动voidLCD_SetDisplay(unsignedcharDisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}//********************设置输入模式************************************************************#defineLCD_AC_UP0x02#defineLCD_AC_DOWN0x00//default#defineLCD_MOVE0x01//画面可平移39 南昌大学共青学院毕业设计(论文)附录A#defineLCD_NO_MOVE0x00//defaultvoidLCD_SetInput(unsignedcharInputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}//移动光标或屏幕************************************************************/*#defineLCD_CURSOR0x02#defineLCD_SCREEN0x08#defineLCD_LEFT0x00#defineLCD_RIGHT0x04voidLCD_Move(unsignedcharobject,unsignedchardirection){if(object==LCD_CURSOR)LCD_Write(LCD_COMMAND,0x10|direction);if(object==LCD_SCREEN)LCD_Write(LCD_COMMAND,0x18|direction);}*///初始化LCD************************************************************voidLCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38);//8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);//开启显示,无光标LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);//AC递增,画面不动}//************************************************************************voidGotoXY(unsignedcharx,unsignedchary){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}voidPrint(unsignedchar*str){while(*str!=""){LCD_Write(LCD_DATA,*str);str++;39 南昌大学共青学院毕业设计(论文)附录A}}/*voidLCD_LoadChar(unsignedcharuser[8],unsignedcharplace){unsignedchari;LCD_Write(LCD_COMMAND,0x40|(place*8));for(i=0;i<8;i++)LCD_Write(LCD_DATA,user[i]);}*///************************************************************************39 南昌大学共青学院毕业设计(论文)附录B附录B:数字频率计的系统原理图39 南昌大学共青学院毕业设计(论文)附录E附录C:实物图片未工作状态图工作状态的图片39 南昌大学共青学院毕业设计(论文)附录E附录D:焊接图片39 南昌大学共青学院毕业设计(论文)附录E附录E:仿真图片39'