单片机课程设计频率计数器_第1页
单片机课程设计频率计数器_第2页
单片机课程设计频率计数器_第3页
单片机课程设计频率计数器_第4页
单片机课程设计频率计数器_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、题群4“维小瓢EASTCHINAINSTITUTEOFTECHNOLOGY,VANGTZERIVERCOLLEGE单片机课程设计-频率计数器专业:自动化指导老师:朱兆优班级:1430201学号:201430020118姓名:张超梅目录一、绪论1.1设计任务和要求二、电路设计方案2.1 电路工作原理2.2 系统性能三、软件设计方案3.1 功能模块3.2 .编程算法思路3.3 程序流程图四、系统调试4.1 硬件调试4.2 软件调试五、心得体会一、绪论频率计又称为频率计数器,是一种专门对被测信号频率进行测量的电子测量仪器。其最基本的工作原理为:当被测信号在特定时间段T内的周期个数为N时,则被测信号的

2、频率f=N/T。频率计主要由四个部分构成:时基(T)电路、输入电路、计数显示电路以及控制电路。在一个测量周期过程中,被测周期信号在输入电路中经过放大、整形、微分操作之后形成特定周期的窄脉冲,送到主门的一个输入端。主门的另外一个输入端为时基电路产生电路产生的闸门脉冲。在闸门脉冲开启主门的期间,特定周期的窄脉冲才能通过主门,从而进入计数器进行计数,计数器的显示电路则用来显示被测信号的频率值,内部控制电路则用来完成各种测量功能之间的切换并实现测量设置。1.1设计任务和要求本次课程设计的内容是使用AT89C51单片机最小系统设计频率计系统,系统以单片机为主控单元,主要用于对方波频率的测量,使用NE55

3、5输出脉冲,用单片机计数器实现技术,再把计数值转换为频率,用静态或动态显示频率值,频率计数器要实现01MHz信号频率测量范围,要分段频率段测量,低频段用测周法,高频段用测频法:、电路设计方案2.1电路工作原理由NE555振荡电路产生脉冲,然后经过二分频电路,然后与定时器/计数器T1相连,P2.0接74Ls273锁存器的时钟信号端,P2.1口接74Ls273锁存器的时钟信号端,P0口接74LS273段选码和位选码,输出与七位共阳数码管显示,采用动态显示。由于P0口输出数据,T2截至,输出级属于开漏电路,要使高电平1信号正确输出,应该外接上拉电阻560k.分频电路本次设计采用的是脉冲定时测频法,由

4、于考虑到单片机的定时计数器得计数能力有限,无法对过高频进行测量,所以我们对待测信号进行了分频,这样能提高测量频率的范围,还能相应的提高频率测量的精度。所以我们需要把待测信号进行分频。显示电路我们测量的频率最终要显示出来八段LED数码管显示器由8个发光二极管组成。基中7个长条形的发光管排列成“日”字形,另一个圆点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。LED数码管显示器有两种形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。如下图所示。共阴和共阳结构的L

5、ED数码管显示器各笔划段名和安排位置是相同的。当二极管导通时,对应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7、D6、D5、。D4、D3、D2、D1、D0,于是用8位二进制码就能表示欲显示字符的字形代码C51RD二口生心口江船33叩404Rf±>AD£PD&W词一一,P2C.MF31MR22rAicP2+M?段&4匕P2SM4P2.M10f口1sPt!waawnipjsyirflF3.<TC*3.5TiP3&FirMTITtfn-小鼠在单片机应用系统中,数码管显示器显示常用两种办

6、法:静态显示和动态扫描显示。所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小,能供给单独锁存的I/O接口电路很多。在单片机系统中动态扫描显示接口是单片机中应用最为广泛的一种显示方式之一。其接口电路是把所有显示器的8个笔划段a-h同名端连在一起,而每一个显示器的公共极COM是各自独立地受I/O线控制。CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是

7、由I/O控制的,所以我们就能自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的办法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。S-SAII话上加LWEJTAJlEW"三WillU1川的cw,u廿1过24-SA7nlEifIESTJ_LJ岂,-王T1不一F3DHXL:-W'JCL:FSJ.MTrj31kFJ+TS叫一C2总电路图三、软件设计方

8、案3.1 功能模块测周法定时器/计数器初始化,测出周期t4字节除4字节二进制转换为BCD码提取BCD码查表显示测频法定时器/计数器初始化,设置中断二进制转换为BCD码提取BCD码查表显示3.2 ,编程算法思路子程序主要包括:按键中断子程序、定时中断子程序、计数中断子程序、周期中断子程序、超量程判断子程序、除法子程序、二进制转BCD子程序、显示程子序。除法子程序该子程序用于周期转换频率,因为周期为两到三字节,所以使用移位除法。3.3 3程序流程图四、系统调试4.1 硬件调试硬件调试,由大到小,从整体到局部,进行调试。本设计电路简单,所以不一一调试,就最复杂的显示电路进行调试。先由仿真器连接显示电

9、路,循环发送四位(1-9)显示编码,如果四位都不能显示,检查信号传输电路,时钟电路,电源。如果四位都能显示,但有的位显示不正确,检查LED与移位寄存器的连线顺序是否正确。如果还显示不正确,与正常的位调换LED数码管。调换后,正常的位显示不正常,则数码管坏了,换数码管。调换后,不正常的位显示不正常,则移位寄存器坏了,换移位寄存器。4.2 软件调试4.2.1软件调试的步骤(1)源文件的建立:使用菜单“Fil-NeU或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入汇编语言源程序(4.2小节所示)。保存该文件,加上扩展名(.asm),这里将文件保存为频率计数器

10、程序.asmo(2)建立工程文件:点击“ProjecewProject”菜单,出现一个对话框,要求给工程起一个名字,输入频率计数器程序,不需要扩展名,点击保存按钮,出现第二个对话框。这个对话框要求选择目标CPU(即我们所使用的芯片型号80C51)点击ATMEL前面的“+”骡开该层,点击其中的80C51,然后点击确定按钮。回到主界面,此时,在工程窗口的文件页中,出现了“鹏”,前面有“十”号,点击“十”展开,可以看到下一层的“SGLraup1",这时的工程还是一个空工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击SouceGroup”使其反白显示,然后,点击鼠标右键,出现

11、一个下拉菜单。选中其中的“AddiletoGroup”SouceGroupI",对话框,要求寻找源文件,注意该对话框下面的“文件类型”默认为Soucefile(*.c),也就是以C为扩展名的文件,而我们的文件是以asm为扩展名的,所以在列表框中找不到频率计数器程序.asm,要将文件类型该掉,点击对话框中“文件类型后的下拉列表,找到并选中“AsnSouceFile(*.asm,*.a51)”,这样,在列表框中就可以找到频率计数器程序.asm文文件了。双频率计数器程序.asm文件,将文件加入项目,注意,在文件加入项目后,该对话框并不消失,等待继续加入其他文件,但初学时常会认为操作没有成功

12、而再次双击同一文件,这时会出现对话框,提示你所选的文件以在列表中,此时点击确定,返回前一对话框,然后,点击"Close”即可返回主界面,返回后,点击“SoucGoup1”前的加号,会发现频率计数器程序.asm文件以在其中。双击文件名,即打开源程序。(3)工程的详细设置:首先点击左边Project窗口的Target1,然后使用菜单“ProgetOptionfortarget'target'”即出现对工程设置的对话框,对这个对话框可谓非常复杂,共有8个页面,要全部高清可不容易,好在绝大部分设置项取默认值就行了。设置完成以后安确认返回主界面,工程建立、设置完毕。(4)编译、

13、连接:在设置好工程后,既可以进行编译、连接。选择菜单Project-Buildtarget,对当前工程进行连接,如果当前文件已修改软件会先对该文件进行比,然后在连接以产生目标代码。编译过程中的信息将出现在输出窗口中的Build页中,如果源程序有语法错误,会有错误报告出现,双击该行,可以定到出错的位置,对源程序反复修改后,最终会得到如图5-1所示的结果,提示获得了名为频率计数器程序.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其他相关文件可被用于KEIL的仿真与调试4.2.2调试过程中遇到的问题及解决方法在进入环境以后,遇到了很多问题,总结如下:(1)提示无asm文件编译时

14、候提示:F:.XX.asm.hex的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其他相关文件可被用于KEIL的仿真与调试。Filehasbeenchangedoutsidetheeditor,reload?解决方法:重新生成项目,产生频率计数器程序.asm即可。(2)在进入Keil的调试环境以后,发现程序有错。解决方法:将光标定位于需要修改的程序上,用菜单,DebugInlineAssambly,即可出现对话框,EnterNew后面的编辑框内直接输入需要修改的程序语句,输入完之后键入回车将自动指向下一条语句,可以继续修改,如果不在需要修改,可以点击右上角的关闭按钮关闭窗口。(3)

15、程序调试时,一些程序必须满足一定的条件才能被执行到解决方法:这些条件往往是异步发生或难以预先设定的,这类问题使用的单步实行方法是很难调试的,这时就要使用发现程序调试中的另一种非常重要是方法-断点设置。断点设置的方法有多种,常用的是在某一程序行设置断点,设置好断点后可以全速运行程序,一旦执行到该程序行即停止,可在此观察有关变量值,以确定问题所在。在程序行设置/移除断点的方法是将光标定位于需要设置断点的程序行,使用菜单Debug/Insert/RemoveBreakPoint设置或移除断点(也可以用鼠标在该行双击实现同样的功能);Debug/Enable/DisableBreakPoint是开启或

16、暂停光标所在懂行的断点功能;Dubug/DisaleAllBreakPoint暂停所有断点;Debug/KillAllBreakPoint清除所有的断点设置。这些功能也可以用工具条上的快捷键进行设置。(4)输入程序时,有中文标点,用keil编译时出现错误解决方法:程序里有带中文标点,用英文重输入一遍(5)汇编出现数字、字母混淆解决方法:字母”明数字“0”。主要错在这里。注意细节。五、心得体会通过这一个月来的忙碌和学习,本次课程设计已接近尾声,由于经验的匮乏,难免有许多考虑不周全的地方,在这里衷心感谢指导老师的督促指导,以及一起学习的同学们的支持,让我按时完成了这次课程设计。在论文设计过程中,我遇到了许许多多的困难。在此我要感谢我的指导老师给我悉心的帮助和对我耐心而细致的指导,我的论文较为复杂烦

温馨提示

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

评论

0/150

提交评论