单片机数字频率计设计本科设计(000002).doc
《单片机数字频率计设计本科设计(000002).doc》由会员分享,可在线阅读,更多相关《单片机数字频率计设计本科设计(000002).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流单片机数字频率计设计本科设计(000002).精品文档.本科毕业设计(论文)题目: 数字频率计设计教学单位: 机电工程系 专 业: 自动化 2013年 5月 摘 要设计以AT89C51单片机为核心,被测的矩形波或者方波整形为脉冲后输入单片机。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。本设计的目的是通过对单片机原理及应用的学习,以及查阅相关资料,培养自学与动手能力,把学到的知识应用到日常生活当中。在设计的过程中,不断的补充不知道的知识、巩固所学、相互讨论
2、,运用科学分析问题的方法解决设计中遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。设计出符合要求的数字频率计。关键词:单片机;数字频率计;设计;AbstractDesign USES AT89C51 microcontroller as the core, measured in square wave or a square wave input microcontroller after plastic for pulse. Using single chip microcomputer counter and timer
3、function to count the signal to be measured. Write the corresponding program can make the single chip microcomputer automatic adjust the range of measurement, and send the frequency of the measured data display circuit.The purpose of this design is based on single chip microcomputer principle and ap
4、plication of learning, and access to relevant data, the cultivation of self-study and practical ability, the application of knowledge to the daily life. Supplement in the process of design, and constantly dont know knowledge, consolidate learning, mutual discussion, using the scientific method to an
5、alyze the problem to deal with the difficulties encountered in the design, master the single-chip microcomputer system development process, learn to deal with common methods, accumulate the experience of the design system, give full play to the combination of teaching and practice. Digital frequency
6、 meter designed to meet the requirements.Key words: single chip microcomputer; Digital frequency meter; Design;目 录第1章 前言11.1 题目背景及研究意义11.2 设计内容及参数要求21.2.1 设计内容21.2.2 参数要求2第2章 方案的设计与论证32.1 测频原理32.2 方案一42.3 方案二42.4 方案选择5第3章 硬件的设计63.1 基本设计原理63.2 系统硬件模块关系63.2.1 系统总体63.2.2 单片机管脚说明73.2.3 单片机I/O口分配表103.2.4
7、 频率显示电路103.2.5 时钟电路103.2.6 电源电路113.2.7 复位按钮113.2.8 数码管显示电路123.2.9 输入信号的要求143.3 最终的硬件电路图15第4章软件的设计164.1 程序的流程图164.2 数码管扫描部分194.3 频率计主程序19第5章 软件与硬件调试205.1 C程序编译与仿真结果205.2 在Proteus ISIS 上的仿真结果20第6章 设计总结与体会23致 谢24参考文献25附录A 系统硬件电路图26附录B 元器件清单27附录C 源程序28第1章 前言1.1 题目背景及研究意义在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、
8、测量结果都有十分密切的关系,因此频率测量在科技研究和实际应用中的作用日益重要。传统的数字频率计都是采用纯硬件方式组成(纯数字电路)。它的集成电路用量较大,因而产品的体积、功耗都较大,生产成本较高。产品定型后不能升级(加入新功能)。而采用单片机和相关可编程智能集成器件制成的现代数字频率计情况就不同了,单片机的内核CPU可完成多项工作如计数、读入、译码、驱动和时基的产生等。和传统的数字频率计相比,它减少了很大一部分的集成电路的用量,并且还可以加入许多的智能操作,这更是传统的数字频率计所望尘莫及的。目前市场上的频率计产品很多,但基本上都是采用专用计数芯片(如ICM7240 ,ICM7216) 和数字
9、逻辑电路组成,由于这些芯片本身的工作频率不高(如ICM7240仅有15MHz左右) ,从而限制了产品的工作频率的提高,远不能达到在一些特殊的场合需要测量很高的频率的要求,而且测量精度也受到芯片本身极大的限制。自从80年代单片机引入我国之后,单片机已广泛地应用于各行各业的电子设计中,使频率计智能化水平在广度和深度上产生了质的飞跃,数字化也成为了电子设计的必由之路。运用单片机和高速计数器的组合设计频率计,并采用适当的算法取代传统电路,这种方法不仅能解决传统频率计结构复杂、稳定性差、精度不高的弊端,而且性能也将大有提高,可实现精度较高、等精度和宽范围频率计的要求。随着单片机技术的不断发展,可以用单片
10、机通过软件设计直接用十进制数字显示被测信号频率。1.2 设计内容及参数要求1.2.1 设计内容设计基于AT89C51单片机为核心的数字频率计。设计系统硬件电路和软件编程,实现脉冲频率的测量和数码管显示,并通过仿真软件进行仿真。1.2.2 参数要求电源: 直流5V显示: 五位数码管动态显示测量误差: 0.1%频率测量范围: 010000 Hz 输入信号波形: 矩形波和方波第2章 方案的设计与论证2.1 测频原理测频的原理归结成一句话,就是在单位时间内对被测信号进行计数。被测信号,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入主门的输入端。由晶体振荡器产生的基频,按十进制分频得出
11、的分频脉冲,经过基选通门去触发主控电路,再通过主控电路以适当的编码逻辑便得到相应的控制指令,用以控制主门电路选通被测信号所产生的矩形波,至十进制计数电路进行直接计数和显示。若在一定的时间间隔T内累计周期性的重复变化次数N,则频率的表达式为式: (2.1) 图2.1说明了测频的原理及误差产生的原因。时基信号待测信号 丢失(少计一个脉冲) 计到N个脉冲 多余(比实际多出了0.X个脉冲)图2.1 测频原理在图 2.1中,假设时基信号为 1KHZ ,那么用此法测得的待测信号为 1KHZ5=5KHZ。但从图中可以看出,待测信号实际应该在5.5KHZ左右,误差约有0.5/5.59.1% 。这个误差是比较大
12、的,实际上,测量的脉冲个数的误差会在 1之间。假设所测得的脉冲个数为N,则所测频率的误差最大为=1(N-1)*100% 。显然,减小误差的方法,就是增大N。本频率计要求测频误差在1%以下,则N应大于1000。通过计算,对 1KHZ以下的信号用测频法,反应的时间长于或等于10S 。由此可以得出一个初步结论:测频法适合于测高频信号。频率计数器严格地按照公式进行测频。由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的1量化误差,在不计其他误差影响的情况下,测量精度将为:(2.2)应当指出,测量频率时所产生的误差是由N和T俩个参数所决定的,一方面是单位时间内计数脉冲个数越多
13、时,精度越高,另一方面T越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加T来满足,为了增加T的稳定度,只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到。2.2 方案一其工作原理如图2.2所示。该方法是使用单片机自带的计数器对输入脉冲进行计数,其好处是设计出的频率计系统结构和程序编写简单,成本低廉,不需要外部计数器,直接利用所给的单片机最小系统就可以实现。这种方法的缺陷是受限于单片机计数的晶振频率。本次设计使用的AT89C51单片机,将其内部定时/计数器Tl的功能设为定时。频率信号由P3.5端引入。由于检测一个由“1”到“0”的跳变需要两个
14、机器周期。前一个机器周期测出“1”,后一个周期测出“0”。故输入时钟信号的最高频率不得超过单片机晶振频率的二十四分之一。而且由于定时不能达到ls,所以要多次引起片内定时器的溢出中断,由此会引起测频的误差。输入信号单片机最小系统数码管显示电源图2.2 方案一原理框图2.3 方案二其工作原理如图2.3所示。该方法是单片机使用外部计数器对脉冲信号进行计数,计数值再由单片机读取。此方法的好处是输入的时钟信号频率可以不受单片机晶振频率的限制,可以对相对较高频率进行测量,但缺点是成本比第一种方法高,硬件系统结构比较复杂。输入信号十进制计数器闸门数据缓冲AT89C51电源数码管显示图2.3 方案二原理框图2
15、.4 方案选择从以上两个方案中可知,内部计数器法测量频率受晶振频率的限制而且多次中断会引发误差,但硬件结构简单。外部计数器法测量频率不受晶振频率的限制,但硬件结构复杂。因此通过对这两种方案优缺点的比较,本次设计选取方案一,因为其硬件结构简单、稳定性、可靠性高,易于实现,而且从软件编程方面也可以尽量减少误差,提高精度。所以采用单片机内部计数器法测量频率。第3章 硬件的设计3.1 基本设计原理本设计是基于ATMEL公司生产的AT89C51单片机为核心的数字频率计,是利用该51单片机内部的定时/计数器来完成待测信号频率的测量。AT89C51单片机内部具有2 个16位的定时/计数器T0与T1,其工作方
16、法可以通过编程来实现所需的定时/计数与产生计数溢出中断要求的功能。定时/计数器T0与T1的核心都是16位的加1计数器,TH0与TL0构成在构成定时/计数器T0加1计数器的高8位和低8 位;TH1与TL1构成在构成定时/计数器T1加1计数器的高8位和低8位。加1计数器的初值可以通过程序设定,这样就可以获得不同的计数值或定时时间。当加1计数器用作定时器时,每个机器周期加1(使用12MHz时钟时,每1us加1) ,这样以机器周期为基准可以用来测量时间间隔。当加1计数器用作计数器时,在相应的外部引脚发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入每个机器周期被
17、采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的1/24。AT89C51单片机的时钟频率可以在0Hz24MHz 范围内自动调节,当使用12MHz时钟时,最大计数速率为500KHz。定时/计数器的工作由相应的运行控制位TR 控制,当TR置1时,定时/计数器开始计数;当TR置0时,停止计数。在本设计方案中,我通过程序设定T0工作在计数状态下,T1工作在计时状态下。T0计数器对输入的信号经行计数。由于信号的频率就是每秒钟信号脉冲的个数,于是我让T1工作在定时状态下,定时时间为1秒。每定时1秒钟到,就停止T0的计数,然后从T0的计数单元中读取计数
18、的数值,即完成了信号频率的测量。最后通过五位数码管显示出频率值。由于要尽可能的使用最少的元件,在满足设计要求的前提下,我尽可能的减少了元器件的使用。将被测信号不加任何处理,直接输入单片机的P3.5口。而将被测信号经行放大整形、倍频锁相等处理就不再进行了。这样做会使该频率计在测量信号频率时产生精度误差,但能够满足设计要求。3.2 系统硬件模块关系3.2.1 系统总体系统总体分为:中央控制芯片,时钟电路,复位电路,显示电路等部分。系统总体方框如图4所示。时钟电路复位电路AT89C51单片机电源电路数码管显示输入信号图3.1 系统整体方框图AT89C51是一个低功耗,高性能CMOS8位单片机,片内含
19、4k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89C51具有如下特点:40个引脚,4k Bytes Flash 片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双向串行通信口,看门狗(WDT)电路,
20、片内时钟振荡器。此外,AT89C51设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。3.2.2 单片机管脚说明AT89C51单片机管脚如图3.2所示。图3.2 AT89C51引脚分布图P0:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数
21、据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出 4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。 P2:P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这
22、是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3.0 RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3
23、/INT1(外部中断1)P3.4 T0(计时器0外部输入)P3.5 T1(计时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在低平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 数字频率计 设计 本科 000002
限制150内