1、 2015届毕业设计说明书 基于单片机数字频率计的设计院 、 部: 电气与信息工程学院 学生姓名: 肖硕鹏 指导教师: 龙卓珉 职称 讲师 专 业: 电气工程及其自动化 班 级: 电气本1103班 完成时间: 2015年6月 摘 要自从有了电子信息技术,出现了各种各样的智能化电子产品,使人们的社会生活发生了根本性的变革,人们研发出各种电子信息产品,像传统的电话机、电报机、到后来的黑白电视机、音响、DVD机、电脑、再到后来的手机、彩色电视机等。在电子信息科技的快速发展的同时,各类电子科技产品的发展亦是非常迅速。特别是进入21世纪后电子技术得到了空前的高速发展、由于市场的激烈竞争,出现了各种各样的
2、常见的智能电子产品,这些智能电子产品也在不断创新,使得它的性能越来越好,价格成本越来越低廉。这些都一步一步的改变人们的生活方式,大大的方便了人们的生活,而且人们越来越离不开这些电子产品。在这些电子产品中,大部分都使用了各种各样的信号,而信号都是有频率的,所以,测量这些信号的频率就显得很重要,这在电子技术的研究中也日益显得重要。而在初始的频率计中,大多是用逻辑控制电路、时序控制电路以及其他的电路来实现其功能1。然而,这类电路的频率计,它的测量周期慢、范围小,这和快速发展的电子信息技术,越来越不适应。出于对以上问题的考虑,该论文设计中,使用单片机为核心的数字频率计是非常合适的。频率计可以测量三角波
3、、正弦波和方波信号,而且电路简单,容易操作。该论文的设计,是以测量频率的原理为出发点,使用at89s52单片机为主来设计的。而且穿插其他电路和芯片,像放大电路和整形电路、显示电路、分频电路、晶振电路、下载电路等设计电路。软件设计部分由测量程序部分和显示程序组成。并使用KEIL软件、PROTEUS软件来实现程序编写、仿真。该设计在仿真中实现了对三角波、正弦波和方波的测量。关键字:单片机;测量;频率计ABSTRACTEver since the electronic information technology, the emergence of a variety of intelligent
4、electronic products, so that peoples social life has undergone a fundamental change, people developed a variety of electronic information products, such as traditional telephone, telegraph, to Later, black and white TV, stereo, DVD player, computer, and then later the phone, color TV sets. In the ra
5、pid development of electronic information technology, the development of various types of electronic technology products is also very fast. Especially in the 21st century electronic technology has been an unprecedented rapid development, due to fierce competition in the market, the emergence of a va
6、riety of common intelligent electronic products, these intelligent electronic products are also constantly innovation, making its performance more Well, more and more low-cost price. These have changed the way people live, step by step, greatly facilitate the peoples lives, and people become increas
7、ingly dependent on these electronic products.In these electronic products, most of them use a variety of signals, and the signals are there frequencies, so measuring the frequency of these signals becomes very important in the study of electronic technology, which is also increasingly important. In
8、the initial frequency meter, mostly with logic control circuit, the timing control circuit and other circuits to achieve its function. However, such circuits frequency meter, its measurement cycle slow, small-scale, this and the rapid development of electronic information technology, more and more s
9、uited. In consideration of the above problems, the paper design, the use of SCM as the core digital frequency meter is very appropriate. Frequency meter can measure a triangular wave, sine and square wave signal, and the circuit is simple, easy to operate.The papers design is based on the principle
10、of measuring frequency as a starting point, use at89s52 designed based microcontroller. And interspersed with other circuits and chips, like amplifier and shaping circuit, display circuit, a frequency dividing circuit, crystal oscillator circuit, circuit, circuit design download. Software design par
11、t of the measurement program and display program components. And using KEIL software, PROTEUS software to achieve programming, simulation. The design is implemented in the simulation measurement of the triangular wave, sine and square waves.Key words microcontroller; measurement; frequency meter目 录1
12、 绪论1 1.1 课题背景1 1.2 课题研究的目的和意义1 1.3 数字频率计发展概况1 1.4 课题内容22 频率计总体方案设计3 2.1 方案比较3 2.2 方案论证3 2.3 方案选择43 系统硬件电路的设计5 3.1 硬件整体设计图5 3.2 AT89S52简介5 3.3 晶振电路设计6 3.4 复位电路设计7 3.5 显示电路7 3.6 放大整形电路8 3.7 分频电路10 3.8 下载电路12 3.9 USB电路12 3.10 报警电路13 3.11 本章小结134 系统软件设计14 4.1 应用软件简介14 4.2 程序流程图15 4.3 本章小结165 频率计仿真结果及设计结
13、论17 5.1 仿真结果17 5.2 误差分析22 5.3 设计结论22结束语24参考文献25致 谢27附 录28 附录A 元件清单28 附录B 程序清单291 绪论1.1 课题背景自古以来,人类都是靠着自己的双手来劳动,用自己双手创造了丰富多彩的生活,但是第一次和第二次工业革命解放了人类的双手,解放了生产力。而有了电子计算机之后,人民的生活逐渐走进了智能化。甚至可以做一些以前靠人力或畜力做不了或很难做的事。这些都依赖于各种智能化电子科技产品。在现代的电子信息科技技术中,我们需要用到各种各样的电参量来实现各种各样的功能,这其中信号的频率是最基本的参数之一,频率是单位时间完成的周期数,即F=1/
14、T,其中F是频率,T是周期2。它会影响到电子设备的正常运行。此外,它与许多其他的电气参数的测量和结果,也有非常重要和密切的联系。是以,能准确测量信号频率是有必要的。1.2 课题研究的目的和意义随着电子科技的快速发展,智能化的电子产品性能越来越好,质量越来越好,这样它就要求的制造能力,设计能力越来越高。对于频率计也一样,要求测量的范围变得更高,精度也更精确。而传统的频率计显得越来越力不从心。传统的数字频率计使用很多的电子元器件组成复杂的电子电路以实现测量信号的频率功能,但是这种频率计由于电子元器件较多,导致它的体积和重量较大,成本较高,所能测量的频率的范围也较小,测量的精度也不高,而且它的功能比
15、较单一,使用和操作比较复杂。所以逐渐的被市场其他质量、性能优秀的频率计所取代3。基于以上传统频率计的诸多不足,技术人员一直致力于研究性能和质量都非常优异的频率计。该课题也是基于传统频率计的不足而设计的。1.3 数字频率计发展概况数字频率计的发展是非常艰辛的。初始的频率计像经典的振簧式频率表,现在基本已经被淘汰了。后来出现了电动式频率表、铁磁电动式结构的指针型频率表。这些也逐渐的淘汰了,因为它们都跟不上现在科技的要求。数字频率计经过这么多年的发展、创新和进步,技术水平越来越高,性能和质量亦是越来越完善。在市场淘汰机制下,功能齐全,使用方便逐渐成为频率计未来的发展趋势。功能多样化使得它可以应用与各
16、种不同的场合,甚至可以一计多用,使用越来越方便。但是也不一定在什么场合都适用,比如一些设备中的特有的频率计,它就只有测量频率的单一功能。所以说,频率计的发展应该更全面一些。1.4 课题内容该课题的内容是设计一个简易的数字频率计,测量的频率范围为1KHz-1000MHz,被测信号可以是正弦波、三角波或方波。频率计的基本测量原理是计算一秒时间内待测信号的周期个数,根据频率与时间的关系,一秒时间内测得的周期数就是频率值。此时我们称闸门时间为1秒。闸门时间也可以大于一秒或小于一秒,但这个时候频率值就不是测得的周期数,而是闸门时间除以测得的周期数5。该课题主要研究的内容是由信号的输入、信号的收集、信号的
17、处理、数值显示四个部分组成。该课题设计采用AT89S52单片机,AT89S52单片机比以往的51单片机强大了很多,功能更齐全,方便了设计。虽然功能比较单一,但是对于测量频率基本上满足需求,和市场上的一些其它数字频率计相比较,它更容易操作,稍微更改程序就可以改变功能,方便实用。测量频率范围是1KHZ-1000MHZ的正弦波,方波,三角波。 2 频率计总体方案设计2.1 方案比较方案一:主要是以单片机为主,利用at89s52单片机的计数器/定时器功能,进行信号频率的计数,和at89s52的实时扫描功能,把测量得到的数值经过计算、处理之后输入到到显示电路中显示。其原理框图如1所示。图1 方案一原理框
18、图方案二:主要以各种电子器件为主,利用多个电路模块共同组成一个电路,各个电路模块既是独立工作又合作完成测量频率。其原理框图如图2所示。图2 方案二原理框图2.2 方案论证在方案一中,以单片机为主,加上放大整形电路、分频电路和数码管电路四个主要部分。将测量信号输送到放大整形电路,再经分频电路输入到单片机中。编写程序使单片机驱动数码管显示。在方案二中,时序电路定时一秒,利用计数器在一秒钟内计数,再经过译码显示出来。2.3 方案选择比较以上两种方案可以知道:方案一使用的是单片机,所需要的电子元器件的数量少、成本低、体积小。只需要更改程序的设定值,很容易实现不同范围的频率测量。方案二中利用了很多的数字
19、电子器件。电路比较复杂、调试繁琐、体积大、操作复杂、价格相对高了点。基于上述,所以该设计选择了方案一。3 系统硬件电路的设计3.1 硬件整体设计图硬件整体设计图由单片机最小系统、分频、放大、整形、数码管显示、下载、USB、LED报警等模块组成。频率信号首先进入放大电路进行放大,出来后进入整形电路整形,出来后进入分频电路进行分频,之后输入到单片机,然后单片机对其进行计数、运算最后输入到数码管电路4。硬件整体设计图如图3所示。下面对各个电路模块逐一介绍。图3 整体设计框图3.2 AT89S52简介AT89S52是80C52单片机中的一种高速高性能的单片机,与之前的51和52单片机一样,也是40个引
20、脚,双列直插式。有4组每组8个共32根I/O口线(P0、P1、P2、P3、),两个定时器/计数器T0和T112。AT89S52相对于AT89S51来说,它的可编程只读存储器ROM是8K,比AT89S51多了4K。就可以存储更大的程序,运行更多的功能。相对来说ATA89S52更适合于该设计。P0和P2以及P1.2-P1.4都是单一功能,而其他的引脚都有第二功能。定时器/计数器有定时和计数的功能,这一次设计就用到了两个定时器/计数器。其中T1进行计时,T0对频率信号进行计数。AT89S52的功能引脚图如图4所示。图4 AT89S52引脚图3.3 晶振电路设计单片机是一个复杂的高度集成的系统。虽然它
21、的体积很小,但是内部含有成千上万个元件和集成模块,里面每个元件和模块需要同时工作,因此需要相同的同步时序。要实现这个,就需要一个时钟信号来组织协调它们工作。这个时候我们设计一个电路可以产生这个时钟信号,我们把这个电路叫做晶振电路。AT89S52芯片中的高增益反相放大器,其输入输出脚分别是19号与18号。经过18号和19号脚在外部接上晶振和两个电容器C1和C2,再将两个电容的一端都接到电源地6。晶振是一种用石英制作成的晶体谐振器。它可以起到产生特定频率的作用,它具有抗干扰性好,稳定性好,被广泛的应用于现代各种电子产品之中。现在市场上经常使用的石英晶振的频率范围在1.00MHz200MHz之间,有
22、2.5MHz、5MHz、10MHz、12MHz、24MHz、48MHz、100MHz等。该设计采用的晶振频率是12M,这样单片机的一个机器周期就是它的1/12即1us。两个电容器的值都为30pF。晶振电路原理图如图5所示16。图5 晶振电路原理图3.4 复位电路设计我们在生活学习中经常听说过初始化,特别是用过电脑的同学,大家在打开电脑或软件时经常出现“正在初始化”字样。那初始化是什么意思呢?其实它相当于一个开始按钮,只有初始化之后系统才能开始工作。没有初始化相当于进入了睡眠模式。而单片机也需要进行初始化,这样他才能正常工作。AT89S52芯片拥有复位信号9号引脚RST,可以用于从外界引入复位信
23、号。它的复位只有两种方式,即上电和手动。上电复位是指通过专用的单片机复位电路产生复位信号,它是单片机系统的最原始复位方式,它发生在开机上电时,是单片机系统自己自动完成的。上电复位是最基础的、每一款单片机都必须具有的功能10。AT89S52的手动复位也是通过专用的复位电路。在单片机系统中,手动复位也是必须具有的功能。该设计中复位电路采用按键电平复位的方式,由一个按键和一个电容器并联再串联一个电阻器再接到正电源上,另一端接到电源地端,其中电容器是10uF,电阻器值是1K。当按下复位按键时,会产生低电平复位信号。复位电路图如图6所示。 图6 复位电路原理图3.5 显示电路显示电路有多种方式方法,可以
24、是液晶屏、点阵屏或者是数码管都可以。液晶显示可以方便的显示设计所要求的数值,还可以显示一些数码管所不能显示的东西像比较复杂的字符、文字和符号等,这个是它的优点。但是它也有一定的缺点,就是它的显示驱动程序比较复杂,驱动电路比较麻烦,价格成本相对较高。对于频率计只需显示数字,不需要显示其它内容来说有点浪费。点阵屏是由很多个LED发光二极管排列组合而成的。比如可以排成1010点阵屏,将他们的每一行并联正极,每一列都并联负极。想要使第五行第五列的点点亮,只需使第五行接高电平,第五列接低电平就可以使它发光。点阵屏不仅可以组成数字还可以组成各种符号、字母甚至是汉字。如果想要它显示数字的话,就需要把组成这个
25、数字的点的行都接高电平,而组成这个数字的列都接低电平。要组成一串数字一样需要把对应的行和列接到高电平或低电平。它的优点是可以显示各种想要的数字、文字和图案,因此被广泛应用在一些大厅或者大广场用来做提示牌。它的缺点是当要显示这些内容时,它的行数和列数都比较多,使用单片机控制的话,就需要使用很多的引脚,甚至不够。而且程序控制也是非常复杂。数码管也是一种由八个LED发光二极管按一定方位排列而成的。可以显示出0-9数字以及小数点。它分为共阳数码管和共阴数码管,共阳数码管是它们的正极并联接高电平,我们在使用时控制它们的阴极,想要使那一段亮就给那一段赋低电平,其余的赋高电平。这样就是它亮而其它的不亮。显示
26、数字时给相对应的段赋低电平,其余赋高电平就可以显示数字了。共阴数码管是它们的阴极并联接电源地,我们使用时控制它们的正极,与共阳数码管正好相反。想要使那一段亮就给那一段赋高电平,其余的赋低电平。这样就是它亮而其它的不亮。显示数字时给相对应的段赋高电平,其余赋低电平就可以显示数字了。如果想要显示一串数字,我们可以将多个数码管并联使用,这个时候我们就需要进行位控。所谓位控是指想要点亮哪一位,就需要先选择这一位,才能点亮这一位,而其它位都不能点亮。现在市面上出现的大多是一位数码管,两位一体数码管和四位一体数码管。数码管的缺点是它只能够显示数字和小数点。不能显示其它的文字或者图案之类的。优点是电路简单,
27、控制方便,对于该设计来说,使用数码管来显示所测量得到的值完全可以满足要求,而且它的驱动显示程序较为简单、驱动电路也简单、价格成本低。所以该设计采用了数码管显示电路。在该设计中采用两个四位一体共阳数码管组成显示器,将它们的八个段码分别接在单片机的P0端口的P0.0-P0.7口线上,再并上一个1K的八位上拉排阻进行限流保护。将它们的八个位码分别接在P2口的P2.0-P2.7上进行位显控制,在经过单片机程序的设计就可以实现八位数字的显示功能。单片机显示电路原理图如图7所示。图7 显示电路原理图3.6 放大整形电路因为单片机的定时器/计数器只能够测量一定范围幅值内的方波信号,但一般所要测量的信号不一定
28、是方波,也有可能会是三角波或者正弦波等其他一些信号,而该设计就要求能够测量三角波和正弦波,这些些信号的大小也不一定满足要求,于是需要设计一个放大整形电路将信号源变成单片机可以直接测量满足要求的方波信号。放大电路可以采用多种方法,像使用集成电路运算放大器,也可以使用场效应管放大电路,还可以使用三极管放大电路。集成电路运算放大器将很多的电子元器件像电阻电容三极管按照一定接线方式连接放到一块芯片上。用它配合其它电子元器件可以组成多种放大电路,包括同向放大电路、反向放大电路、求差电路、求和电路、积分和微分电路9。它们可以实现不同的功能。场效应管是利用电场效应控制电流大小的器件。它和其他一些元件可以组成
29、三种放大电路:共源集放大电路、共漏集放大电路和共栅集放大电路11。它们也可以实现不同的功能。三极管放大电路有:基本共射集放大电路、共集电极集放大电路、共基集放大电路、共射-共基和共集-共集组合放大电路。它们也可以实现不同的功能。该设计采用NPN三极管与其他电阻电容等电子元器件组成放大电路,整形电路是用74LS00芯片中的三组2输入与非门和一个二极管组成,它们可以组成一个整形电路将正弦波和三角波整形成单片机可以直接测量的方波信号8。放大整形电路原理图如图8所示。图8 放大整形电路原理图其中,RV1是一个47K的滑动变阻器,R3是一个39K的电阻器,R7是一个1K的电阻,R4是一个10K的电阻,R
30、5是一个47K的电阻,R6是一个10欧的电阻,D1是一个二极管。74LS00芯片是一个拥有四组独立的2输入与非门,该设计中只是用到了它的其中的三个。放大整形电路的仿真结果图如图9所示。由图可以证明所设计的放大整形电路可以将正弦波和三角波进行放大并整形成为方波。所以放大整形电路符合设计要求。图9 放大整形电路仿真图3.7 分频电路分频是指将一个信号的频率分成几份,而我们只取其中的一份。假如是1KHz的频率,我们将它进行2分频,那我们得到的频率就是500Hz。也就是降低为原来的二分之一。分频电路在很多电子产品中都有用到,特别是通信工程中。它们需要对信号频率进行各种转换、变形、计算等处理。这中间就需
31、要分频电路。因为该设计要求的测量范围是1KHz-1000MHz。而单片机在12M的晶振的情况下,最大的计数值大约是500KHz,远远的小于1000M,因此为了满足测量的要求需要使用分频电路将信号的频率进行分频处理才能满足测量要求。在这里我使用了74HC4040集成芯片,它可以实现很多种分频。其中,9号管脚Q0为2分频,7号管脚Q1为4分频,6号管脚Q2为8分频,5号管脚Q3为16分频,3号管脚Q4为32分频,2号管脚Q5为64分频,4号管脚Q6为128分频,13号管脚Q7为256分频,12号管脚Q8为512分频。我们在使用时,在信号经过放大整形电路后从74HC4040集成芯片的10号引脚CLK
32、输入,再从13号引脚Q7输出到单片机定时器/计数器T1时,就是原来信号频率的1/256,这样就可以满足单片机频率范围的测量要求。分频电路原理图如图10所示。图10 分频电路原理图在Proteus软件中用示波器观察分频电路仿真图如图11所示。由图可以证明所设计的分频电路可以将方波进行分频,所以分频电路符合设计要求。图11 分频电路仿真图3.8 下载电路因为单片机是一种可编程的微型计算机,它可以根据情况需要编写不同的运行程序,同时需要将单片机里面原来已经有的程序擦除掉,因此需要设计一个下载电路,用来下载和擦除程序。下载电路如图12所示。图12 下载电路原理图下载电路实际上是一个接口电路,通过这个下
33、载接口接上一个专用的下载数据线接口上,再经过数据线另一端USB接口接在电脑上。以前的单片机程序下载都是使用专门的编程器,这种编程器屏幕小、操作复杂、使用不方便,随着电子科技技术和电脑软件技术的发展,人们设计出直接在电脑上通过特殊的电脑软件就可以实现软件的编写和修改。再经过专用的擦除和写入软件就可以将编写和修改好的程序写入到单片机中。首先,在电脑上安装好Keil编程软件和Progisp软件。AT89S52单片机支持汇编语言和C语言,在Keil软件里编写好单片机所需要的程序,再编译、链接生成*.hex运行文件,再通过Progisp软件将生成的*.hex运行文件写入到单片机中。3.9 USB电路该设
34、计中使用的电源都是+5V电源,如果重新设计一个独立的电源电路,就会使得原理图非常复杂,如果使用普通的220V/50Hz交流电转换而来,还需要降压变压器等电气设备,这些电气设备体积大、成本价格高。使用时危险系数高,不宜采用。如果使用干电池,一般一节5号干电池是1.5V电压,要达到5V电源则需要3至4节干电池串联供电,这样的话3至4节干电池需要占用很大一部分的空间,而且干电池有使用寿命,当使用一段时间后,它的电压会下降,工作不稳定,就会造成电子设备无法正常工作,如果频繁使用成本太高。所以该设计采用了USB电源,因为电脑的USB接口会输出稳定的+5V电源,而且随插随用,现在一般家庭基本上都配备有电脑
35、,现在的大都数智能手机也是使用USB充电器,这个也可以使用与所设计的频率计中。所以说,USB电源是非常理想的电源电路之一。USB电源电路如图13所示。图13 USB电源电路图3.10 报警电路因为该设计的频率计测量范围为1KHz-1000MHz,所以需要设计一个报警电路用来提示是否超出量程。报警电路可以采用蜂鸣器,如果使用蜂鸣器的话,就需要接一个三极管进行放大电流。这里为了方便采用简单的LED发光二极管,如果超出量程则LED发光二极管亮,否则不亮。电路原理图如图14所示。图14 报警电路原理图LED发光二极管的正极接单片机P1.4口线,负极接电源地,当单片机测得频率范围没有超出量程时,给P1.
36、4口线赋低电平,LED发光二极管不亮。如果超出量程,则给P1.4口线赋高电平,LED发光二极管亮。3.11 本章小结在本章中,集中介绍了硬件系统的设计,单片机最小系统、分频、放大、整形、数码管显示、下载、USB、LED报警等模块,单片机频率计主要就是由这几个模块组成。并对其中一些电子元器件和芯片以及电路选择进行了详细的说明。介绍了为什么要选择它,它相对于其它的来说优势在什么地方。4 系统软件设计4.1 应用软件简介4.1.1 Keil软件简介Keil 是美国Keil Software公司出品的兼容单片机C语言和汇编语言软件开发系统,它不仅可以进行C语言编程,还可以进行汇编语言编程,对于单片机来
37、说是一个非常好用的编程软件。汇编语言是单片机的初始语言,用它编写的程序通俗易懂。它只有111条指令和44个操作码助记符。只要记住他们的含义和用途就可以看懂和编写大多数的程序。非常适合于单片机初学者。但是,它毕竟只是一门低级语言,相对于C语言这门高级语言来说,它更显得语句繁琐,而且C语言更符合我们人类的思维方式。同样实现一条功能,C语言可能只需要一条或两条语句,但汇编语言就需要好几条甚至数十条语句才能实现。所以,对于一些比较复杂的工程,使用C语言编程比汇编语言编程更合适。而Keil软件兼容了两种语言的不同要求,可以满足不同人群和不同工程的需求。因此,赢得了广大人群的青睐。但有一个问题需要注意,如
38、果是汇编语言编程,就需要保存为“*.asm”文件。如果是C语言编程时,就要保存为“*.C”文件。不能弄错,否则程序编译时会出错。编译时如果出现错误,就需要返回去修改直到没有错误为止。有时程序编译时会出现零错误但有警告的情况,这个一般对程序运行没有影响。不需要特别处理,但处理也没关系。4.1.2 protues简介Protues仿真软件是Labcenter公司设计出的集电子电路分析、电路仿真系统于一体。市面上有许多款电子仿真软件,像WEB软件、Multisim仿真软件等。虽然这些软件都简单实用,但是它们不能与单片机进行很好的配合。而PROTEUS软件就可以和单片机完美的结合,实现单片机及其电路的
39、各种功能。因此选择了PROTEUS软件。使用时从元件库查找出设计所需要的所有元器件,里面拥有当前市场上大多数的电子元器件。根据设计的原理图连接好各个元器件及芯片,之后对单片机导入所设计的程序文件即“*.hex”文件,点击开始仿真按钮,就可以在显示器、示波器、测量表等观察参数,如果需要更改元器件参数,需要先停止仿真再修改,修改完成后再次进行仿真。4.2 程序流程图程序流程图主要分为两个部分,一个是主程序流程图,另一个是显示子程序流程图。主流程图是单片机的定时器/计数器初始化开始定时和计数,判断定时1s时间有没有到,没到继续等待,到了计数器停止计数。单片机对计数值进行存储、运算再输入到显示电路显示
40、。然后返回进行下一个循环。主程序流程图如图15所示。图15 主程序流程图显示子程序流程图首先进行段码和位选码初始值的设置,先送位选码到P2口,再将段选码转成字形码送到P0口,延时1s,判断是否都显示完,如果没有显示完则移向下一位显示单元。如果显示完则返回主程序。显示子程序流程图如图16所示。图16 显示子程序流程图4.3 本章小结本章主要介绍了软件系统的设计,包括Proteus软件的出处、功能、使用方法和过程,Keil软件的介绍。大致介绍了一下流程图的过程。5 频率计仿真结果及设计结论5.1 仿真结果根据自己设计的电路,在PROTEUS软件元件库中找出所需要的全部元件,在按照设计的电路连接好仿
41、真原理图如图17所示。图17 仿真电路原理图首先我们对方波信号进行仿真测试,因为方波信号频率可以直接被at89s52单片机的定时器/计数器所测量,因此不需要通过放大和整形电路,而可以直接接在分频芯片74HC4040的CLK引脚上,将选择开关打到测量方波档。当方波信号频率为768Hz时,测量所显示如图18所示。由于所设计的频率计的测量范围是1KHz-1000MHz,因为7681K,没有超出它的量程,所以量程显示灯没有亮。图19 方波信号1024Hz仿真图当方波信号频率为2KHz时,测量结果如图20所示。图20 方波信号2KHz仿真图当方波信号频率为20KHz时,测量结果如图21所示。图21 方波
42、信号20KHz仿真图当方波信号频率为200KHz时,测量结果如图22所示。图22 方波信号200KHz仿真图当方波信号频率为1MHz时,测量结果如图23所示。图23 方波信号1MHz仿真图当方波信号频率为2MHz时,测量结果如图24所示。 图24 方波信号2MHz仿真图当方波信号频率大于2MHz之后,数码管皆像上面一样不能正常显示,会进行闪烁。下面测量三角波和正弦波信号的频率,将选择开关打到三角波和正弦波档。当三角波信号频率为300Hz时,测量结果如图25所示。因为300HZ1KHz,超出了它的量程,所以LED发光二极管亮。图25 三角波信号300Hz仿真图当三角波信号频率为2KHz时,测量结
43、果如图26所示。不能正常显示。 图26 三角波信号2KHz仿真图当正弦波信号频率为1KHz时,测量结果如图27所示。没有超出它的量程,所以LED发光二极管不亮。图27 正弦波信号1KHz仿真图当正弦波信号频率为2KHz时,测量结果如图28所示。不能正常显示。 图28 正弦波信号2KHz仿真图5.2 误差分析误差是指测量值与实际值的差距,任何的测量系统或测量工具在测量时都存在着误差。只是误差的大小不一样而已,误差越小,精度越高,越接近实际值。误差越大,精度越低,与实际值差距越大。我们应该尽量减少测量误差,或将误差降低到可允许范围内。从以上仿真的结果可以看出:仿真测量值与实际值之间存在有误差,这是
44、因为电路中使用了256分频电路,使得频率信号在经过分频电路的时候不能被256整除而产生了小数点,而单片机的计数器只能记录整数的频率信号,再由计数值乘以256倍,由测得仿真值也可以看出它们都是256的整数倍,由此产生了误差。但是这样的误差在允许范围之内。5.3 设计结论由以上仿真结果可以看出,在测量方波信号时,1MHz以下频率可以正常显示,而且显示非常稳定,但当频率高于1MHz后,随着频率的增大,数码管显示的数值虽然正确,但显示越来越不稳定,甚至不能够正常显示。而三角波和正弦波也有同样的问题,只不过却是1KHz以下可以正常显示,而高于1KHz的频率则显示不稳定。对于上述问题,在仿真运行时有信息警
45、告提示说因为CPU过负载,使仿真不可以实时地运行,意思是说仿真运行速度不能像真实的那样快速,速度比真实的时候慢,这就导致了上述所说数码管显示不稳定甚至不正常的原因。导致这种结果的原因大致有以下几个方面,第一是所使用的计算机的性能差,速度慢。这就导致了上述所说数码管显示不稳定甚至不正常的原因。导致这种结果的原因大致有以下几个方面,第一是所使用的计算机的性能差,速度慢。第二是CPU和内存被其他应用程序占用。第三有可能是某些电路模块或芯片影响到仿真速度。结束语经过这么长时间的努力,毕业设计终于圆满完成了,心里感觉非常高兴。最开始的时候,只知道频率计是一种可以测量频率的仪器,而不知道频率计的工作原理,也不知道频率计拥有哪些模块或者电路组成。通过在图书馆和网上查找了一些资料书籍。这些从这些资料中,我了解了频率计的工作原理,也知道了频率计的种类以及未来的发展趋势。从中我明白了频率计完成课题所需的功能需要哪些电路模块,这个电路模块在整个单片机频率计中所起到的作用。这个模块怎么设计,为什么要这么设计等等。有了以上这些对于单片机频率计的认识之后,我就开始设计它的整体电路框架,它包含有单片机、复位和晶振电路、放大整形电路、分频电路、数码管显示电路以及程序下载电路和USB电源电路。软件使用了编程软件Keil和Proteus仿真软件。复位和晶振电路都是每一个单片机系统都必须具备的基本功能。它们的电路