本科毕业设计数字频率计设计.doc_第1页
本科毕业设计数字频率计设计.doc_第2页
本科毕业设计数字频率计设计.doc_第3页
本科毕业设计数字频率计设计.doc_第4页
本科毕业设计数字频率计设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

邢台学院2013届本科毕业论文(设计)本科毕业设计论文题目:数字频率计电路设计 姓 名:王明泽学 号:2009341115系(部):物理系专 业:自动化班 级:2009级1班指导教师:张书法完成时间: 2013 年 4 月1摘 要频率计是一种测量信号频率的仪器,在教学、科研、高精度仪器测量、工业控制等领域都有较广泛的应用。本设计采用单片机at89s52作为系统控制单元,其结构主要包括电源电路、放大整形电路、单片机控制电路和数码管显示电路,软件编程主要是采用c语言。at89s52单片机是频率计的控制核心,来完成它待测信号的计数,译码,显示以及对分频比的控制。利用它内部的定时/计数器完成待测信号频率的测量。在整个设计过程中,所制作的频率计采用内部分频,实现1hz6mhz的频率测量,而且可以实现量程自动切换流程。以at89s52单片机为核心,通过单片机内部定时/计数器的门控时间,方便对频率计的测量。其待测频率值使用四位共阳极数码管显示,并可以自动切换量程,单位分别由绿、红、黄3个led指示。本次采用单片机技术设计一种数字显示的频率计具有测量准确度高,响应速度快,体积小、可靠性好、设计产品成本低,性价比高等特点。关键字:单片机 数字频率计 频率测量abstractthe frequency meter is a kind of measuring signal frequency instrument, in teaching, scientific research, precision instrument measurement, industrial control domain has the widespread application. this design uses the at89s52 single-chip microcomputer as the system control unit and its structure is mainly include power source circuit, amplyfing and reforming circuit,single-chip microcomputer control circuit , and digital tube display circuit, software programming is mainly using c language. the at89s52 microcomputer unit is the control core frequency of dollars to complete its count of the signal under test, decoding, display and control of the frequency division ratio. using its internal timer or counter to complete the signal of the under test cycle / frequency of measurement.throughout the design process, periodic measurement of the frequency meter application and the corresponding mathematical treatment to achieve 1hz 6mhz frequency measurements, and can automatically switch the flow to achieve scale. to the core of at89s52 microcontroller, with the mcu internal timer / counter gate time, it can be easier for frequency measurement.the frequency value is displayed by four bit nixie tube and can autimatically switch the flow to achieve scale,using green,red and yellow the three led to mark units respectively. the use of microcomputer technology to design a digital display of frequency meter, have a measurement of high accuracy, fast response, small size and so on.it has good performance, high precision, good reliability and the design of products with low cost, high performance-cost ratio.keywords: mcu digital frequency meter frequency measuring目 录前言 11. 数字频率计的概述11.1数字频率计概述11.2数字频率计的发展用11.3数字频率计设计内容22系统总体方案设计22.1测频的原理22.2总体的思路22.3具体模块43硬件电路具体设计53.1 at89s52单片机模块53.1.1 at89s52的介绍53.1.2单片机最小系统73.1.3引脚功能93.1.4单片机引脚分配103.2电源模块113.2.1直流稳压电源的基本原理113.2.2电源电路设计123.3放大整形模块133.4分频设计143.5 显示模块143.5.1 数码管介绍143.5.2 频率值显示电路153.5.3 档位转换指示电路154 系统的软件设计164.1软件模块设计 164.2中断服务子程序 184.3显示子程序 194.4 量程档自动转换子序 194.5 应用软件简介 204.5.1 keil简介 204.5.2 proteus简介 21 5 频率计的系统调试 225.1 硬件调试 225.1.1 电源模块调试 235.1.2 整形模块调试 245.2 软件调试 245.2.1 proteus软件调试 255.2.2 功能介绍 265.3 系统调试 265.3.1 系统软件调试 265.3.2 系统软硬件调试 276 总结 28参考文献 29附录 307前 言终于开始着手写毕业设计了,我不太喜欢死板的文字,就让我用这种最普通的近似对话的方式开始我的毕业设计吧,虽然文字活泼,但是学术么,自然是要很严谨的。在选毕业论文之前,只是偶尔听说过大学上到最后要有一个毕业设计,没想到打四这么快就到来了。选毕业论文时大家都很急,都想抢一个好做点的毕业设计,其实没必要,因为无论什么设计我们刚拿到时都是所知甚少,都要学习相关的资料结合自己已有的专业知识做出自己的设计来。我的毕业设计是数字频率计电路设计,刚拿到题目时我也像一般人那样一头雾水,不知所措。随即在网上搜了一些组合电路和时序电路等复杂硬件电路设计的数字频率计参考,到寒假放假前老师召集我们几个开会说让我们用单片机设计,仿真是必不可少的,最好能做出实物来。正好我身边有一块at89s52的单片机,就顺便做一下实物吧。作为自动化专业,模电、数电,单片机原理与接口技术等都是我们的专业课,c语言基础我们也学过,不过在我们学单片机时,学的编程是汇编语言,学c语言时还没有学单片机呢,现在才知道原来他们是可以凑到一块的,而且结合的非常好。1 数字频率计的概述1.1 数字频率计的概述大家未必听说过数字频率计,但是大家肯定听说过数字万用表。其实刚拿到毕业论文题目时我也是第一次听说,只不过我潜意识的知道该有这么一个东西存在。常用万用表功能:测交流与直流电压、交流与直流电流、电阻、电容、逻辑电平测试、二极管和蜂鸣器连接性测试、晶体管hfe测试。可是当我翻阅我的万用表说明书时,上面竟然还有测温和测频的功能说明,原来我的万用表版本不够高级所以没有这两项功能。测频有什么用呢?收音机知道吧,fm90.3mhz邢台人民广播电台,fm91.8mhz邢台人民广播电台交通音乐频道收音机收到这些台是需要调到和广播电台频率一样时才能收听到广播,类似的还有电视,手机,雷达,卫星等。自然,测频率有啥意思,我们不是为侧频率而测频率的,因为在实际应用中我们通常把一定的信息加载到某一频率的波中,只有找到这一频率的波我们才能解码其中的信息。就像收音机、电视,它们收到的音频、视频信息都是加载到一定频率的波中实现传播的。我们研究频率计的意义就在于此。1.2 数字频率计的发展与应用传统数字频率计是用组合电路和时基电路组成,电路复杂,体积较大、精度有限、测量响应慢。近年来数字频率计普遍用单片机来实现,同时还可以在测频电路基础上集成其他功能,正如刚才我上面提到的数字万用表。频率测量是电子学测量中最为基本的测量之一。由于频率信号抗干扰性强,易于传输,因此可以获得较高的测量精度。随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,测频原理和测频方法的研究正受到越来越多的关注。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号、方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。 电源单片机最 小系统数码管显示输入信号1.3 频率计设计内容 利用电源、单片机、数码管显示等模块,设计一个简易的频率计能够粗略的测量出被测信号的频率。 参数要求如下:1测量范围1hz6mhz;2用四位数码管显示测量值;3能根据输入信号自动切换量程;4.可以测量方波、三角波及正弦波等多种波形; 2 系统总体方案设计2.1测频的原理测频原理就是对单位时间内的信号计数,被测信号一般比较微弱,通过输入通道的放大器放大后,进入整形器加以整形变为矩形波,并送入单片机计数器的输入端。单片机at89s52有3个定时器/计数器t0、t1和t2,t0工作于定时模式下,t1工作于计数模式,t2闲置。定时模式时,加1计数器是对内部机器周期计数,数值乘以机器周期就是定时时间。计数器模式时,外部事件计数脉冲由t0(p3.4)或t1(p3.5)引脚输入计数器,单片机在每个机器周期的s5p2期间采样t0、t1引脚输入的电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1(但更新的计数值要在下一个机器周期的s3p1期间装入计数器)。因此检测一个从1到0的下降沿需要两个机器周期。12mhz晶振时,计数脉冲的周期要大于2s(即最高技术频率低于0.5mhz)3。在低频时不用分频,由t1计数器直接计数,在高频时对t1计数器进行100分频,可以提高单片机的测频范围。频率表达式: (1)图1说明了测频的原理及误差产生的原因。时基信号待测信号 丢失(少计一个脉冲) 计到n个脉冲 多余(比实际多出了0.x个脉冲)图1 测频原理频率计数器严格地按照公式进行测频4。由于数字测量的离散性,被测频率在计数器中所记进的脉冲数可有正一个或负一个脉冲的量化误差,在不计其他误差影响的情况下,测量精度将为: 应当指出,测量频率时所产生的误差是由n和t俩个参数所决定的,一方面是单位时间内计数脉冲个数越多时,精度越高,另一方面t越稳定时,精度越高。为了增加单位时间内计数脉冲的个数,一方面可在输入端将被测信号倍频,另一方面可增加t来满足,为了增加t的稳定度,只需提高晶体振荡器的稳定度就能达到。上述表明,在频率测量时,被测信号频率越高,测量精度越高。2.2总体思路频率计是我们经常会用到的实验仪器之一,频率的测量实际上就是在单位时间内对信号进行计数,计数值就是信号频率。本文介绍了一种基于单片机at89s52 制作的四位数杩管显示的频率计设计方法,所制作的频率计对测量比较高的频率采用内部100分频,测量较低频率值时采用单片机直接计数,不进行外部分频。该频率计实现1hz6mhz的频率测量,而且可以实现量程自动切换功能,四位共阳极数码管动态显示测量结果,可以测量正弦波、三角波及方波等各种波形的频率值。2.3具体模块根据上述系统分析,频率计系统设计共包括四大模块:单片机控制模块、电源模块、放大整形模块及显示模块。各模块作用如下:1、单片机控制模块:以at89s52单片机为控制核心,来完成它待测信号的计数,译码,和显示以及对分频比的控制。利用其内部的定时计数器完成待测信号周期频率的测量。单片机at89s52内部具有3个16位定时计数器,定时计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。at89s52所需外围元件少,扩展性强,测试准确度高。而且可以使用单片机定时计数器实现内部分频扩展测频范围,减少外部分频电路的使用,使电路更简洁。2、电源模块:为整个系统提供合适又稳定的电源,主要为单片机、信号放大整形电路和数码管显示电路提供电源,电压要求稳定、噪声小及性价高的电源。3、放大整形模块:放大电路是对待测信号的放大,降低对待测信号幅度的要求。整形电路是对一些不是方波的待测信号转化成方波信号,便于测量。4、显示模块:显示电路采用四位共阳极数码管动态显示,为了加大数码管的亮度,使用4个pnp三极管进行驱动,便于观测。综合以上频率计系统设计有单片机控制模块、电源模块、放大整形模块、分频模块及显示模块等组成,频率计的总体设计框图如图2所示。 单片机系统放大整形模块电源模块驱动电路显示模块图2 频率计总体设计框图 3硬件电路具体设计根据系统设计的要求,频率计实际需要设计的硬件系统主要包括以下几个部分:at89s52单片机最小系统模块、电源模块、放大整形模块及显示模块,下面将分别加以介绍。3.1 at89s52主控制器模块3.1.1 at89s52的介绍8位单片机是msc-51系列产品升级版,有世界著名半导体公司atmel在购买msc-51设计结构后,利用自身优势技术(掉电不丢数据)闪存生产技术对旧技术进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。与此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,推广一批如51f020等高性能单片机。at89s52片内集成256字节程序运行空间、8k字节flash存储空间,支持最大64k外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在0-33m之间。片内资源有4组i/o控制端口、3个定时器、8个中断、软件设置低能耗模式、定时器和断电保护。可以在4v到5.5v宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制成下载线,仅仅几块钱的价格让该型号单片机畅销10年不衰。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插dip-40的封装。at89s52单片机基本特性38位cpu 片内有振荡器和时钟电路工作频率为024mhz片内有256字节的数据存储器ram片内有8k字节的程序存储器rom4个8位的并行i/o口 (p0,p1,p2,p3)1个全双工串行通讯口3个16位定时计数器(t0,t1,t2)可处理6个中断源,2级中断优先级51单片机的8个特殊引脚vcc, gnd: 电源端,接地端xtal1, xtal2: 片内振荡电路输入、输出端reset: 复位端 正脉冲有效(宽度10 ms)ea/vpp: 寻址外部rom控制端。低有效 片内有rom时应当接高电平。ale/prog: 地址锁存允许控制端。psen:选通外部rom的读(oe)控制端。 低有效51单片机的4个8位的i/o口p0.0p0.7:8位数据口和输出低8位地址复用口 (复用时是双向口;不复用时也是准双向口)p1.0p1.7: 通用i/o口(准双向口)p2.0p2.7: 输出高8位地址(用于寻址时是输出口;不寻址时是准双向口)p3.0p3.7: 具有特定的第二功能(准双向口)注意:在不外扩rom/ram时,p0p3均可作通用i/o口使用,而且都是准双向i/o口!p0口需外接上拉电阻 p1p3 可接也可不接在用作输入时 都需要先置 ”1”at89s52单片机内部结构简图at89s52的引脚封装at89s52单片机40脚 vcc, gnd 2 xtal1, xtal2 2reset 1ea/vpp 1ale/prog 1psen 1p0.0p0.7 8 p1.0p1.7 8 p2.0p2.7 8 p3.0p3.7 8 图3 at89s52引脚封装 3.1.2 复位电路及时钟电路复位电路和时钟电路是维持单片机最小系统运行的基本模块。复位电路通常分为两种:上电复位(图4)和手动复位(图5)5。 图4 上电复位 图5 手动复位系统在运行过程中有时出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。所以本次设计选用手动复位。高频率的时钟有利于程序更快的运行,也有可以实现更高的信号采样率,从而实现更多的功能6。但是高速对系统要求较高,而且功耗大,运行环境苛刻。考虑到单片机本身用在控制,并非高速信号采样处理,所以选取合适的频率即可。合适频率的晶振对于选频信号强度准确度都有好处,晶振一般有11.0592m、22.1184m、12m和24m四种类型,本次设计选取12.000m无源晶振接入xtal1和xtal2引脚。与晶振连接的陶瓷电容起谐振作用,可取15pf至45pf之间,此处并联2个30pf陶瓷电容帮助起振6。at89s52单片机最小系统如图6所示4。图6 单片机最小系统原理图3.1.3 引脚功能vcc:电源电压;gnd:地;p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。在 flash编程时,p0口用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻7。p1口:p1口是一个具有内部上拉电阻的8位双向i/o口,p1 输出缓冲器能驱动4个ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入和定时器/计数器2的触发输入,p1口功能具体如表1所示。在flash编程和校验时,p1口接收低8位地址字节。表1 p1口的第二种功能说明表引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程用)p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4 个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。在访问外部程序存储器或用16位地址读取外部数据存储器时,p2口送出高八位地址。在这种应用中,p2口使用很强的内部上拉发送1。在使用8位地址访问外部数据存储器时,p2口输出p2锁存器的内容。在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。p3口:p3口是一个具有内部上拉电阻的8位双向i/o口,p3输出缓冲器能驱动4个ttl逻辑电平。对p3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。p3口亦作为at89s52特殊功能(第二功能)使用,p3口功能如表2所示。在flash编程和校验时,p3口也接收一些控制信号。表2 p3口的第二种功能说明表引脚号第二功能p3.0rxd(串行输入)p3.1txd (串行输出)p3.2(外部中断0)p3.3(外部中断1)p3.4t0(定时器0外部输入)p3.5t1(定时器1外部输入)p3.6(外部数据存储器写选通)p3.7(外部数据存储器写选通)rst:复位输入。晶振工作时,rst脚持续2个机器周期高电平将使单片机复位。xtal1:振荡器反相放大器和内部时钟发生电路的输入端。xtal2:振荡器反相放大器的输出端。63.1.4 单片机引脚分配根据系统设计及各模块的分析得出,单片机的引脚分配如表3所示。 表 3 单片机端口分配表模 块端口功能显示模块p0.0-p0.3、 p2.0-p2.7数码管频率值显示p1.0-p1.3led单位显示3.2 电源模块3.2.1 直流稳压电源的基本原理 流稳压电源是将交流电转变为稳定的、输出功率符合要求的直流电的设备。大部分电子电路都需要直流电源供电,所以直流稳压电源是各种电子电路或仪器不可缺少的组成部分。直流稳压电源一般由电源变压器t、整流、滤波及稳压电路所组成,基本框图如图7所示。1图7 直流稳压电源框图及波形(1)电源变压器t的作用是将220v的交流电压变换成整流滤波电路所需要的交流电压ui。变压器副边与原边的功率比为p2/p1=n,式中n是变压器的效率。(2)整流电路:整流是利用二极管的单向导电性实现的。整流电路将交流电压ui变换成脉动的直流电压。再经滤波电路滤除较大的波纹成分,输出波纹较小的直流电压u1。常用的整流滤波电路有全波整流滤波、桥式整流滤波等。 图8 整流电路(3)滤波电路:将脉动直流电压中交流分量滤除,形成平滑的直流电压。滤波可利用电容、电感或电阻-电容来实现。电容滤波电路是最简单的滤波器,它是在整流电路的负载上并联一个电容c。电容为带有正、负极性的大容量电容器,如电解电容、钽电容等。各滤波电路c满足rl*c=(35)1/t,式中t为输入交流信号周期,rl为整流滤波电路的等效负载电阻。图9 滤波电路(4)稳压电路:常用的稳压电路有两种形式:一是稳压管稳压电路,二是串联型稳压电路。二者的工作原理有所不同。稳压管稳压电路其工作原理是利用稳压管两端的电压稍有变化,会引起其电流有较大变化这一特点,通过调节与稳压管串联的限流电阻上的压降来达到稳定输出电压的目的。它一般适用于负载电流变化较小的场合。串联型稳压电路是利用电压串联负反馈的原理来调节输出电压的。集成稳压电源事实上是串联稳压电源的集成化。13.2.2 电源电路设计根据上述介绍设计,电源电路包括变压器、整流电路、滤波电路、稳压电路等模块组成,使用led进行电源工作状态指示。lm78xx系列三端稳压ic来组成稳压电源所需的外围元件极少9,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,因此使用lm7805稳压芯片进行5v的电源电路设计。具体的5v电源电路如下图10所示。12图10 5v直流电源电路3.3放大整形模块由于输入的信号可以是正弦波,三角波。而后面的闸门或计数电路要求被测信号为矩形波,所以需要设计一个整形电路则在测量的时候,首先通过整形电路将正弦波或者三角波转化成矩形波。在整形之前由于不清楚被测信号的强弱的情况。所以在通过整形之前通过放大衰减处理。当输入信号电压幅度较大时,通过输入衰减电路将电压幅度降低。当输入信号电压幅度较小时,前级输入衰减为零时若不能驱动后面的整形电路,则调节输入放大的增益,时被测信号得以放大。根据上述分析,放大电路放大整形电路采用高频晶体管3dg100与74ls00等组成。其中3dg100为npn型高频小功率三极管,组成放大器将输入频率为fx的周期信号如正弦波、三角波及方波等波形进行放大。与非门74ls00构成施密特触发器,它对放大器的输出波形信号进行整形,使之成为矩形脉冲11。具体放大整形电路如图11所示。 图11 放大整形电路施密特触发器在电子电路中常用来完成波形变换、幅度鉴别等工作,电路具有以下工作特点2:电路的触发方式属于电平触发,对于缓慢变化的信号仍然适用,当输入电压达到某一定值时,输出电压会发生跳变。由于电路内部正反馈的作用,输出电压波形的边沿很陡直。在输入信号增加和减少时,施密特触发器有不同的阈值电压,正向阈值电压vt+和vt-3.4 分频设计分频用于扩展单片机频率测量范围,为减少外围扩展期件,尽可能降低成本,本设计采用单片机内部分频。本频率计的设计以at89s52单片机为核心,利用他内部的定时计数器完成待测信号周期频率的测量。单片机at89s52内部具有3个16位定时计数器,定时计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。在定时器工作方式下,在被测时间间隔内,每来一个机器周期,计数器自动加1(使用12 mhz时钟时,每1s加1),这样以机器周期为基准可以用来测量时间间隔。在计数器工作方式下,加至外部引脚的待测信号发生从1到0的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入在每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24个振荡周期),所以最大计数速率为时钟频率的124(使用12 mhz时钟时,最大计数速率为500 khz)。本打算用t1计数器实现不分频、20分频、100分频三种分频模式分别用于hz档、khz档、mhz档显示,然而在仿真时khz档显示很不稳定,因此采用t1计数器进行内部100分频使实现10khz-6mhz的测频,可以计算在100分频时误差在0.00167%-1%之间,频率越大误差越小。在不分频时四位数码管可以直接显示1hz-9999hz频率,频率越大误差越小。为了测量提高精度,当被测信号频率值较低时,直接使用单片机计数器计数测得频率值;当被测信号频率值较高时采用内部100分频后再计数测得频率值。这两种情况下,由单片机先简单测得被测信号是高频信号还是低频信号,然后根据信号频率值的高低进行分频处理,继而测得相应频率值。 3.5 显示模块显示模块由频率值显示电路和量程转换指示电路组成。频率值显示电路采用四位共阳极数码管动态显示频率计被测数值,使用三极管8550进行驱动,使数码管亮度变亮,便于观察测量。量程转换指示电路由绿、红、黄三个led分别指示hz、khz及mhz档,使读数简单可观。3.5.1 数码管介绍常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管,根据其结构的不同,可分为共阳极数码管和共阳极数码管两种。根据管脚资料,可以判断使用的是何种接口类型.两种数码管内部原理如图12所示。图12 两种数码管内部原理图led数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。在一定范围内,其正向电流与发光亮度成正比。由于常规的数码管起辉电流只有12 ma,最大极限电流也只有1030 ma,所以它的输入端在5 v电源或高于ttl高电平(3.5 v)的电路信号相接时,一定要串加限流电阻,以免损坏器件。3.5.2 频率值显示电路数码管电路设计不加三极管驱动时,数码管显示数值看不清,不便于频率值的测量与调试。因此加入三极管8550进行驱动数码管。使用4位数码管进行频率值显示,如果选择共阴极数码管显示,则需要8个三极管进行驱动,而采用共阳极数码管则需要4个三极管驱动,为了节约成本,因此选用共阳极数码管进行动态显示,具体数码管设计电路如图13所示。图13 数码管显示电路3.5.3 档位转换指示电路根据设计要求,采用绿、红、黄三个led分别指示hz、khz及mhz档,根据被测信号的频率值大小,可以自动切换量程单位,无需手动切换,便于测量和读数,简单方便。具体设计的档位转换led指示电路如图18所示。图14 led档位指示电路4 系统的软件设计系统软件设计主要采用模块化设计,叙述了各个模块的程序流程图,并介绍了软件keil和proteus的使用方法和调试仿真。4.1 软件模块设计系统软件设计采用模块化设计方法。整个系统由初始化模块,信号频率测量模块,自动量程转换和显示模块等模块组成。系统软件流程如图19所示。频率计开始工作或者完成一次频率测量,系统软件都进行测量初始化。测量初始化模块设置堆栈指针(sp)、工作寄存器、中断控制和定时计数器的工作方式。定时计数器的工作首先被设置为计数器方式,即用来测量信号频率。开始系统初始化频率测量 是否大于10khz n y计数器t1 100分频计数器计数测频率值 n 测量数据显示 图15 系统软件流程总图首先定时计数器的计数寄存器清0,运行控制位tr置1,启动对待测信号的计数。计数闸门由软件延时程序实现,从计数闸门的最小量程开始测量,计数闸门结束时tr清0,停止计数。计数寄存器中的数值经过数制转换程序从十六进制数转换为十进制数。判断该数的最高位,若该位不为0,满足测量数据有效位数的要求,测量值和量程信息一起送到显示模块;若该位为0,将计数闸门的宽度扩大100倍,重新对待测信号的计数,直到满足测量数据有效位数的要求。定时计数器t0的工作被设置为定时器方式实现1s定时,定时计数器的计数寄存器清0,在判断待测信号的上跳沿到来后,运行控制位tr置为1,以单片机工作周期为单位进行计数,直至信号的下跳沿到来,运行控制位tr清0,停止计数。16位定时计数器的最高计数值为65535,当待测信号的频率较低时,定时计数器可以对被测信号直接计数,当被测信号的频率较高时,先由计数器t1 100分频后再由定时计数器对被测信号计数,加大测量的精度和范围。4.2 中断服务子程序t0中断服务子程序流程如图20所示。测频时,定时器t0 工作在定时方式,每次定时50ms ,则t0 中断20 次正好为1秒,即t0用来产生标准秒信号,定时器t1用作计数器,对待测信号计数,每秒钟的开始启动t1 ,每秒钟的结束关闭t1 ,则定时器t1之值乘以分频系数就为待测信号的频率。图16 t0中断服务子程序定时计数器t1工作在计数方式, 对信号进行计数,计数器1中断流程图如图21所示。图17 计数器1中断服务子程序4.3 显示子程序显示子程序将存放在显示缓冲区的频率或周期值送往数码管上显示出来,由于所有4 位数码管的8 根段选线并联在一起由单片机的p2口 控制,因此,在每一瞬间4位数码管会显示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一瞬间只点亮某一位显示字符,在此瞬间,段选控制口p2输出相应字符。由p0.0-p0.3逐位轮流点亮各个数码管, 每位保持1ms ,在10ms20ms 之内再点亮一次,重复不止,利用人的视角暂留,好像4 位数码管同时点亮。数码管显示子程序流程如图22所示。图18 显示子程序流程图4.4 量程档自动转换子程序使用定时方法实现频率测量时,外部的待测信号通过频率计的预处理电路变成宽度等于待测信号周期的方波,该方波同样加至定时计数器的输入脚(p3.5)。工作高电平是否加至定时计数器的输入脚;当判定高电平加至定时计数器的输入脚,运行控制位tr置1,启动定时计数器对单片机的机器周期的计数,同时检测方波高电平是否结束;当判定高电平结束时tr清0,停止计数,然后从计数寄存器读出测量数据。由显示电路显示测量结果,根据测量结果判断,进行预定频率值比较后,进行档位的自动切换。具体档位自动切换流程为:开始计数后先测量频率值x,再判断x值,若x=10khz且xnew project”菜单,出现一个对话框,要求给将要建立的工程起一个名字,你可以在编缉框中输入一个名字,点击“保存”按钮,出现第二个对话框,按要求选择目标器件芯片。建立新文件并增加到组。分别设置“target1”中的“target,output,debug”各项,使程序汇编后产生hex文件。(2)汇编,调试系统程序keil 单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。在集成开发环境中选择菜单“file new.”、单击对应的工具按钮或者快捷键ctrl +n 将打开一个新的文本编辑窗口,完成汇编语言源文件的输入,并且完成源程序向当前工程的添加。然后在集成开发环境中选择菜单“filesave as.”可以完成文件的第一次存储。注意,汇编语言源文件的扩展名应该是“asm”,它应该与工程文件存储在同一文件夹之内。在完成文件的第一次存储以后,当对汇编语言源文件又进行了修改,再次存储文件则应该选择菜单“filesave”、单击对应的工具按钮或者快捷键ctrl +s 实现文件的保存。接着的工作需要把汇编语言源文件加入工程之中。选择工程管理器窗口的子目“source group 1”,再单击鼠标右键打开快捷菜单。在快捷菜单中选择“add file to group source group 1”,加入文件对话框被打开。在这个对话框的“查找范围(i)”下拉列表框中选择存储汇编语言源文件的文件夹,在“文件类型(t)” 下拉列表框选择“asm source file(*.a*;*.src)”,这时存储的汇编语言源文件将显示出来。双击要加入的文件名或者选择要加入的文件名再单击“add”按钮即可完成把汇编语言源文件加入工程。文件加入以后,加入文件对话框并不消失,更多的文件也可以利用它加入工程。如果不需要加入其它文件,单击“close”按钮可以关闭加入文件对话框。这时工程管理窗口的文件选项卡中子目录“source group 1”下出现一个汇编语言源文件。 需要注意,当把汇编语言源文件加入工程但还没有关闭加入文件对话框,这时有可能被误认为文件没有成功地加入工程而再次进行加入操作,系统将显示所需的文件已经加入的提示。在这种情况下,单击提示框中的“确定”按钮,再单击“close”按钮可以关闭加入文件对话框。(3)编译源程序,出现错误时,返回上一级对错误更改后重新编译,直到没有错误为止。4.5.2 protues简介 protues是labcenter公司出品的电路分析、实物仿真系统,而keil是目前世界上最好的51单片机汇编和c语言的集成开发环境。他支持汇编和c的混合编程,同时具备强大的软件仿真和硬件仿真功能17。protues能够很方便的和keil、matlab ide等编译模拟软件结合。proteus提供了大量的元件库有ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件,它可以仿真单片机和周边设备,可以仿真51系列、avr,pic等常用的mcu,与keil和matlab不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真。这里我将keil和 protues两个软件的快速集成起来使用。(1)首先将keil和 protues两个软件安装好。(2)然后在c:program fileslabcenter eletronicsprotues 6 professionalmodels(我的protues是安装c盘里面的)目录下的vdm51.dll 动态连接库文件复制到c:keilc51bin 目录下面(我的keil 也安装在c盘)这个文件将在keil的debug设置时用到。(3)打开protues软件,新建一文件将硬件原理图绘入图中。(4)将keil生成的hex文件下载入单片机中,点击“开始”进行仿真。(5)在keil中进行debug,同时在proteus中查看直观的结果(如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论