单片机课程设计-频率计的设计.doc_第1页
单片机课程设计-频率计的设计.doc_第2页
单片机课程设计-频率计的设计.doc_第3页
单片机课程设计-频率计的设计.doc_第4页
单片机课程设计-频率计的设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

基于at89c51频率计的设计xxx(陕西理工学院 电信工程系 电子信息工程专业,2007级6班,陕西 汉中 723000)指导教师:xxx摘要 本文设计了一种以单片机at89c51为核心的数字频率计,介绍了单片机、数字译码和显示单元的组成及工作原理。测量时,将被测输入信号送给单片机,通过程序控制计数,结果送译码器74ls138,驱动led数码管显示频率值。通过测量结果对比,分析了测量误差的来源,提出了减小误差应采取的措施。频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号。系统简单可靠、操作简易,能基本满足一般情况下的需要。既保证了系统的测频精度,又使系统具有较好的实时性。本频率计设计简洁,便于携带,扩展能力强,适用范围广。关键词数字频率计,单片机,led显示,proteus仿真,kell仿真 目 录引言1. 数字频率计总体方案设计1.1 频率计工作原理11.2 设计思想11.3 方案论证及选择12. 整体电路设计2.1 系统硬件设计32.2 系统工作原理图42.3 器件选型2.3.1 at89c51单片机及引脚功能42.3.2 译码电路6 2.3.3数据显示电路73. 软件设计 3.1 实现一秒定时.10 3.2 计数部分.10 3.3 软件仿真 3.3.1 keil和protues介绍和联调11 3.3.2 protues 软件仿真过程11 3.3.3 误差分析11致谢12参考文献13附录a 整体电路图14附录b 源程序15附录c 原器件清单16引言随着科学技术的发展,尤其是单片机技术和半导体技术的高速发展,频率计的研究及应用越来越受到重视,这样对频率测量设备的要求也越来越高。目前的微处理器芯片发展迅速,出现诸如dsp、fpja等不同领域的应用芯片。而单片机是一门发展极快,应用方式极其灵活的使用技术。它以灵活的设计、微小的功耗、低廉的成本,在数据采集、过程控制、模糊控制、智能仪表等领域得到广泛的应用,极大的提高了这些领域的技术水平和自动化程度。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。 51系列单片机是国内目前应用最广泛的一种8位单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用。51系列及其衍生单片机还会在继后很长一段时间占据嵌入式系统产品的低端市场,因此,作为新世纪的大学生,在信息产业高速发展的今天,掌握单片机的基本结构、原理和使用是非常重要的。本次课程设计的内容是使用at89c51单片机最小系统设计频率计系统,系统以单片机为主控单元,主要用于对方波频率的测量。朗读显示对应的拉丁字符的拼音字典 - 查看字典详细内容41数字频率计整体方案设计1.1频率计工作原理所谓“频率”,就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔t内测得这个周期性信号的重复变化次数n,则其频率可表示为f=n/t。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s。闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数n是在1秒时间内的累计数,所以被测频率fx=nhz。1.2 设计思想明确频率计工作原理以后,为了更方思路更清晰地对程序编写,还应该作出程序的总体框图,如图1.1所示。程序的主体可以分为4个模块:定时计数、采集数据、进制转换和数码显示。 图1.1 频率计系统总体框图1.3方案论证及选择方案一:本方案主要以单片机为核心,利用单片机的计数定时功能来实现频率的计数并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。其原理框图如图2.1所示:信号放大电路信号整形单片机at89c51电路数字显示 电路图1.2方案一原理框图方案二:本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。其原理框图如图2.2所示:逻辑控制电路时基电路放大整形电路闸门电路计数器锁存器译码显示器图1.3方案二原理框图方案一:本方案主要以单片机为核心,被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。利用单片机的计数器和定时器的功能对被测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。方案二:本方案使用大量的数字器件,被测信号经放大整形电路变成计数器所要求的脉冲信号,其频率与被侧信号的频率相同。同时时基电路提供标准时间基准信号,其高电平持续时间1s,当1s信号来到时,闸门开通,被测脉冲信号通过闸门,计数器开始计数,直到1s信号结束闸门关闭,停止计数。若在闸门时间1s内计数器计得的脉冲个数为n,则被测信号频率fx = nhz。逻辑控制电路的作用有两个:一是产生锁存脉冲,是显示器上的数字稳定;二是产生清零脉冲,使计数器每次测量从零开始计数。比较以上两种方案可以知道,方案一的核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。如要测量高频的信号还需要加上分频电路,价格相对高了点。基于上述比较,所以选择了方案一2硬件电路设计2.1 系统硬件的设计本频率计的数据采集系统主要元器件是at89c51单片机,由它完成对待测信号频率的计数和结果显示等功能,外部还有显示驱动芯片、lcd显示器、按键控制等器件。可分为以下四个模块:计时模块、计数模块、信息采集处理模块、lcd显示模块。由于本设计非常简单,实现的功能较少,所以计数模块、计时模块采用单片机本身的内部计时器和计数器。各模块关系图如图2.1所示: 单片机显示模块被测信号按键控制图2.1总体硬件框图2.2 系统工作原理图该系统工作的总原理图如图2.2所示 图2.2 系统工作总原理图2.3 器件选型2.3.1 at89c51单片机及其引脚说明选择单片机at89c51是因为有编程灵活、易调试的特点,而且at89c51的引脚较多,利于电路的扩展。它集成了cpu,ram,rom,定时器计数器和多功能io口等一台计算机所需的基本功能部件,有40个引脚,32个外部双向输入输出(io)端口,同时内含两个外中断口,两个16位可编程定时计数器,两个全双工串行通信口。其片内集成了4 kb的flashperom用来存放应用程序,这个flash程序存储器除允许一般的编程器离线编程外,还允许在应用系统中实现在线编程,并且还提供了对程序进行三级加密保护的功能。at89c51的另一个特点是工作速度更高,晶振频率可高达24 mhz,一个机器周期仅为500 ms,比mcs一51系列单片机快了一倍。 引脚说明:vcc:电源电压gnd:地p0口:p0口是一组8位漏极开路型双向i/o口,作为输出口用时,每个引脚能驱动8个ttl逻辑门电路。当对0端口写入1时,可以作为高阻抗输入端使用。当p0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,p0口具有内部上拉电阻。在eprom编程时,p0口接收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。p1口:p1口是一带有内部上拉电阻的8位双向i/o口。p1口的输出缓冲能接受或输出4个ttl逻辑门电路。当对p1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,p1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(iil)。p2口:p2是一带有内部上拉电阻的8位双向的i/o端口。p2口的输出缓冲能驱动4个ttl逻辑门电路。当向p2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(iil)。p2口在访问外部程序存储器或16位地址的外部数据存储器(例如movx dptr)时,p2口送出高8位地址数据。在这种情况下,p2口使用强大的内部上拉电阻功能当输出1时。当利用8位地址线访问外部数据存储器时(例movx r1),p2口输出特殊功能寄存器的内容。当eprom编程或校验时,p2口同时接收高8位地址和一些控制信号。p3口:p3是一带有内部上拉电阻的8位双向的i/o端口。p3口的输出缓冲能驱动4个ttl逻辑门电路。当向p3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(iil)。rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期的高电平将使单片机复位。ale/:当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。当在flash编程时还可以作为编程脉冲输出()。一般情况下,ale是以晶振频率的1/6输出,可以用作外部时钟或定时目的。但也要注意,每当访问外部数据存储器时将跳过一个ale脉冲。:程序存储允许时外部程序存储器的读选通信号。当at89c52执行外部程序存储器的指令时,每个机器周期两次有效,除了当访问外部数据存储器时,将跳过两个信号。/vpp:外部访问允许。为了使单片机能够有效的传送外部数据存储器从0000h到fffh单元的指令,必须同gnd相连接。需要主要的是,如果加密位1被编程,复位时ea端会自动内部锁存。当执行内部编程指令时,应该接到vcc端。xtal1:振荡器反相放大器以及内部时钟电路的输入端。xtal2:振荡器反相放大器的输出端。2.3.2译码电路单片机的外部数据读写电路主要由译码器组成,本次设计采用的是74ls138译码器,它的逻辑功能主要是将每个输入的二进制代码译成对应的输出高、低电平信号。该译码器在本设计中的作用是将p04,p05,p06的二进制代码输入到译码器中,然后翻译对应的输出信号,使其完成数据读写功能。其引脚如图3 图3 74管脚图真值表:上表中x表示为任意输入状态,在片选使用状态下输入中8线始终只有1线为0, 此74hc138芯片在单片机系统中极大限度的起到了扩展io资源的作用,只要用单片机的2个io引脚资源就能控制8个输出,而且程序的编制也容易实现。2.3.3数据显示电路数据显示电路由显示译码器和显示管组成,。本设计中采用了六个八笔划段数码管进行数据显示,将六个数码管并接起来进行显示,显示数据即是对频率计的测量结果。七段显示译码器7448引脚图及功能七段显示译码器7448功能,引脚图及应用电路 数字显示译码器是驱动显示器的核心部件,它可以将输入代码转换成相应的数字显示代码,并在数码管上显示出来。图3所示为七段显示译码器7448的引脚图,输入a3 、a2 、 a1和 a0接收四位二进制码,输出ag为高电平有效,可直接驱动共阴极显示器,三个辅助控制端 、 、 ,以增强器件的功能,扩大器件应用。7448的真值表如表4所示。 从功能表可以看出,对输入代码0000,译码条件是:灯测试输入 和动态灭零输入 同时等于1,而对其他输入代码则仅要求 =1,这时候,译码器各段ag输出的电平是由输入代码决定的,并且满足显示字形的要求。 灯测试输入低电平有效。当 = 0时,无论其他输入端是什么状态,所有输出ag均为1,显示字形8。该输入端常用于检查7448本身及显示器的好坏。 动态灭零输入 低电平有效。当 =1,且输入代码 时,输出ag均为低电平,即与0000码相应的字形0不显示,故称“灭零”。利用 =1与 = 0,可以实现某一位数码的“消隐”。 灭灯输入动态灭零输出 是特殊控制端,既可作输入,又可作输出。当 作输入使用,且 = 0时,无论其他输入端是什么电平,所有输出ag均为0,字形熄灭。 作为输出使用时,受 和 控制,只有当 , ,且输入代码 时, ,其他情况下 。该端主要用于显示多位数字时多个译码器之间的连接。 显示led显示器采用动态显示方式,显示时将所有位的段选线并联在一起,由一个8位的i/o口控制,行程段选线的多路复用,由于各位的段选线并联,段选码的输出对各位来说都是相同的,同一时刻,如果各位选线都处于选通状态的话,六位的led将显示相同的字符。要各位led能显示出与本位相应的的显示字符,就必须采用扫描显示方式。即在同一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段选线上输出相应位要显示字型码,这样同一时刻,六位led中只有选通的那一位显示出字符,而其他五位则是熄灭的,而在下一时刻,只让下一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,在段选线上输出相应位将要显示字符的字符码。这样循环下去,就可以使各位显示出将要显示的字符,虽然这些字符是在不同时刻出现的,而且同一时刻,只有一位显示,其他各位熄灭,但由于人眼有视觉残留现象,只要每位显示间隔足够短,则可造成多位同时亮的效果。由于单片机输出的显示数据电压不够高,无法直接送到数码管上直接显示,在本次设计中我们需要用上拉电阻,其电路图如下图所示3.软件设计频率放大读取当前计数值重新启动t0、t1中断,重新进行测量结果显示yn中断1开始图3.1 软件实现总流程图31 实现一秒定时电路实现的关键是设法取得准确的一秒定时,并让计数器只计数一秒,这样计数结果则为频率值。实现的方法是利用单片机内的16位定时计数器,用定时器计数器0作为定时器,实现一秒定时;用定时器计数器1作为计数器,对输入的脉冲进行计数。当按动开关时,开始定时及计数,时间到停止计数,计数值通过led显示,得到频率值。再次按动开关又进行定时计数。采用12 mhz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时计数器to作定时器,工作于方式1产生50 ms的定时,再用软件计数方式对它计数20次,就可得到一秒的定时。32 计数部分将定时器计数器的方式寄存器tmod,用软件赋初值51h,即01010001b。这时定时器计数器1采用工作方式1,方式选择位ct设为1,即设t1为16位计数器。定时器计数器0采用工作方式1,ct设为0,即设to为16位定时器。计算计数初值:设计数初值为x,本设计采用12 mhz的晶振。机器周期=12*(1晶振频率)=12 *(11210的6次方)=110的负6次方,(2的16次方-x)110的负6次方=5010负三次方,x=15 536。所以计数初值为15 536,用十六进制表示为3cboh。当定时器计数器t1设定为计数方式时,其计数脉冲是来源t1端口的外部事件。当t1端口上出现由“1”(高电平)到“0”(低电平)的负跳变脉冲时,计数器则加1计数。计算机是在每个机器周期的s。p。状态时采样t1端口,当前一个机器周期采样为1且后一个机器周期采样为0时,计数器加1计数。计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的124。在采用12 mhz晶振的情况下,单片机最大计数速度为05 mhz即500 khz。另外,此处对外部事件计数脉冲的占空比(即脉冲的持续宽度)无特殊要求,但必须保证所给出的高电平在其改变之前至少被采样1次,即至少保持1个完整的机器周期。由此可见,从t1口输入脉冲信号,t1可实现对脉冲个数的计数。3.3 软件仿真本次的设计主要应用了protues和keil c软件进行系统设计和仿真,经过仿真后,结果较好,示波器可以正确的测出输入波的频率。3.3.1 keil和protues介绍和联调下面说一下如何在keil中调用proteus进行mcu外围器件的仿真。 安装keil 与 proteus。 把安装proteus models目录下 vdm51.dll文件复制到keil安装目录的c51bin目录中。 修改keil安装目录下 tools.ini文件,在c51字段加入tdrv5=binvdm51.dll (proteus vsm monitor-51 driver),保存。还有就是不一定要用tdrv5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。 打开proteus,画出相应电路,在proteus的debug菜单中选中use remote debug monitor 在keil中编写mcu的程序 进入keil的project菜单option for target 工程名。在debug选项中右栏上部的下拉菜单选中 proteus vsm monitor-51 driver3.3.2 proteus软件仿真过程第一步,打开proteus软件,选择所需器件。第二步,将所有器件排列好。第三步,连接导线。第四步,打开keil软件,调出程序编译,生成hex文件。第五步,调试仿真。源程序及电路仿真图见附录3.3.3 误差分析 通过软件仿真可以发现,频率越高,误差越大,经过分析,主要有以下几个方面的原因:【1】原理上存在1误差。由于该设计是在计数门限时间一秒内的频率信号脉冲数,所以定时开始时的第一个脉冲和定时时间到时的最后一个脉冲信号是否被记录,存在随机性。这种误差对测量频率低的信号影响较大。【2】晶振的准确度会影响一秒定时的准确度,从而引起测量结果误差。致谢在刚开始拿到这个题目时,感觉应该说很神秘。经常做实验时用到频率计,但从来没有思考过频率计的实现原理,于是自己首先在网上查阅了大量的资料,对频率计的实现有一个大体的了解,并且参阅了好多其他同学的设计方案,最终设计出了一个系统简单可靠,操作简易的频率计。通过这次设计我们学到了很多知识,少走了弯路。学到了很多课堂上学不到的知识,有理论上的、有技术上的、也有思维上的、更有认识上的。 首先要感谢我的指导老师秦老师在百忙之中抽出时间为我的课程设计进行指导,第一次做完后,电路图软件仿真可以实现,但在报告撰写中好多细节,设计关键思路都没有写出来,最后在秦老师的指导下,我把报告重新改写,尽量使自己的设计思路,以及电路的实现过程表现出来,再次改写的过程也使自己对电路中其他细节问题有了更深入的掌握。这次设计由于各种原因时间有些紧迫,所以很多应该完成的工作并没有完成。使得系统的性能不能通过硬件电路来实际的显示出来。而且,还有很多好的想法无法实现,所以系统还有很大的改进空间。最后,再次我要感谢我的同学,在我最困难的时候伸出援助之手,用他们的智慧帮我解决各个难题。参考文献1李光飞 ,楼苗然主编.51系列单片机.北京:北京航空航天大学出版社,20032陈永甫编著.电子电路智能化设计.实例与应用.北京:电子工业出版,2002.8 3康华光主编.电子技术基础(第四版).北京:高等教育出版社,19994 单片机系统的proteus设计与仿真 北京:电子工业出版社,2008以及参考大量网络资源:刘竹琴,白泽生一种基于单片机的数字频率计的实现期刊论文陈君 浅析单片机的简易数字频率计 -硅谷2009(3)期刊论文司佑全.si you-quan 基于单片机的数字频率计设计与制作 -湖北师范学院学报(自然科学版)期刊论文尹国

温馨提示

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

评论

0/150

提交评论