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

下载本文档

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

文档简介

1、目 录引言- 1 -1 设计方案及原理- 2 -2单片机选型及硬件配置- 3 -2.1 单片机及扩展模块选择- 3 -2.2 i/o地址分配- 4 -2.3 系统硬件原理图- 4 -3.软件实现- 6 -3.1 控制流程图- 6 -3.2 程序调试- 6 -3.3 设计结果- 7 -3.4 结果分析- 7 -心得体会- 8 -参考文献- 9 -附录- 10 - 14 -引 言随着电子信息产业的发展,信号作为其最基础的元素,其频率的测量在科技研究和实际应用中的作用日益重要,而且需要测频的范围也越来越宽。随着单片机技术的发展和成熟,用单片机来作为一个电路系统的控制电路逐渐显示出其无与伦比的优越性。

2、因此本论文采用单片机来作为电路的控制系统,设计一个能测量高频率的数字频率计。用单片机来做控制电路的数字频率计测量频率精度高,测量频率的范围得到很大的提高。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。 本数字频率计将采用定时、计数的方法测量频率,采用一个1602a lcd显示器动态显示6位数。测量范围从1hz10khz的正弦波、方波

3、、三角波,时基宽度为1us,10us,100us,1ms。用单片机实现自动测量功能。1 设计方案及原理基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量。数字频率计的主要功能是测量周期信号的频率。频率是单位时间( 1s )内信号发生周期变化的次数。如果我们能在给定的 1s 时间内对信号波形计数,并将计数结果显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的时间,通过单片机的定时与计数功能可以实现,同时将被测信号转换成幅度与波形均能被数字电路识别的脉冲信号,然后通过计数器计算这一段时间间隔内的脉冲个数,

4、将其换算后显示出来。这就是数字频率计的基本原理。频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数,进而测量出该信号频率的大小。若被测量信号的周期为,分频数m1,分频后信号的周期为t,则:t=m1tx 。由图可知: t=nto (注:to为标准信号的周期,所以t为分频后信号的周期,则可以算出被测量信号的频率f。)。由于单片机系统的标准频率比较稳定,而是系统标准信号频率的误差,通常情况下很小;而系统的量化误差小于1,所以由式t=nto可知,频率测量的误差主要取决于n值的大小,n值越大,误差越小,测量的精度越高。2单片机选型及硬件配置2.1 单片机及扩

5、展模块选择本频率计的数据采集系统主要元器件是单片机80c51,由它完成对待测信号频率的计数和结果显示等功能,外部还要有分频器、显示器等器件。可分为以下几个模块:放大整形模块、秒脉冲产生模块、换档模拟转换模块、单片机系统、lcd显示模块。各模块关系图如图2.1所示: 放大整形数字信号处理8051频率输出lcd显示器 图2.1 数字频率计功能模块1.信号调理及放大整形模块 放大整形系统包括衰减器、跟随器、放大器、施密特触发器。它将正弦输入信号vx整形成同频率方波vo,幅值过大的被测信号经过分压器分压送入后级放大器,以避免波形失真。由运算放大器构成的射级跟随器起阻抗变换作用,使输入阻抗提高。同相输入

6、的运算放大器的放大倍数为(r1+r2)/r1,改变r1的大小可以改变放大倍数。系统的整形电路由施密特触发器组成,整形后的方波送到闸门以便计数。由于输入的信号幅度是不确定、可能很大也有可能很小,这样对于输入信号的测量就不方便了,过大可能会把器件烧毁,过小可能器件检测不到,所以在设计中采用了信号调理电路对输入的波形进行阻抗变换、放大限幅和整形。2.时基信号产生电路 cd4013-双上升沿d触发器 ,cd4013由两个相同的、相互独立的数据型触发器构成。每个触发器有独立的数据置位复位时钟输入和 q及q非输出。此器件可用作移位寄存器,且通过将q非输出连接到数据输入,可用作计数器和触发器。在时钟上升沿触

7、发时,加在d 输入端的逻辑电平传送到q输出端。置位和复位或复位线上的高电平完成。 3.显示模块1602基本技术的主要功能:(1)40通道点阵lcd 驱动;(2)可选择当作行驱动或列驱动;(3)输入/输出信号:输出,能产生202个lcd驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(v1v6);(4)通过单片机控制将所测的频率信号读数显示出来。2.2 i/o地址分配程序开始 0000ht0中断入口 000bht1中断入口 001bh程序入口 0030h2.3 系统硬件原理图如图2.2所示为数字频率计的硬件电路图。由该图可知,8051构成了单片机最小系统,lcd数码管用来显示频率值。图2

8、.2 系统硬件原理图3.软件实现3.1 控制流程图如图3.1为系统的控制流程图。yesno开始系统初始化频率测量有效位判别周期测量浮点数格式化浮点到bcd码测量数据显示中断服务程序量程自动转换图3.1 控制流程图3.2 程序调试程序的调试分为两步进行,首先使用单片机sim仿真软件调试程序。然后,将程序下载到单片机中,若有实验设备,则将单片机的外部设备接好,进行程序的调试;若无实验设备,则进行模拟调试。本设计采用的是proteus仿真调适。3.3 设计结果如图3.2为系统的软件仿真图。图3.2 软件仿真图3.4 结果分析 1.测量结果给电路加+5 v电压,输入信号,按动开关,即可得到频率值。将所

9、测频率值与示波器测量结果比较。2.误差来源分析(1)单片机计数速率的限制引起误差。从测量数据可以看出被测信号频率越高,测量误差越大,且所测信号频率不能超过480 khz。这是因为采用的是12 mhz的晶振,单片机最大计数速度为500 khz,所以当被测信号越接近500 khz时,测量结果与实际频率的误差就越大。而当被测信号大于500 khz时,频率计将测不出信号频率。 (2)原理上存在1误差。由于该设计是在计数门限时间一秒内的频率信号脉冲数,所以定时开始时的第一个脉冲和定时时间到时的最后一个脉冲信号是否被记录,存在随机性。这种误差对测量频率低的信号影响较大。 (3)晶振的准确度会影响一秒定时的

10、准确度,从而引起测量结果误差。 心得体会 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,会被经常使用到。通过一周的课程设计,加深了我对单片机系统的学习和应用,加强了我的动手操

11、作能力以及与同学之间的协作能力,使我深刻理解掌握了8051的基本功能和按键的相关操作,使我了解了单片机系统广泛的应用。在课程设计过程中,我遇到了一些问题,这些问题困惑了我好久,但通过查资料、和同学讨论,是我最终解决了这些问题,我认为这也是对我学习的一种提升。设计只是我们对所学知识的一种提升应用,我认为本次设计确实让我学到了这些东西。设计结束了,但我对单片机系统认识的意愿更强烈了,在以后的工作学习中,我一定会继续关注并继续学习有关单片机的知识参考文献1李华,王思明,张金敏编著,单片机原理及应用m,兰州:兰州大学出版社, 2001.2封志宏主编,模拟电子技术m,兰州:兰州大学出版社,2003.3吴

12、蓉主编,数字电子技术m,兰州:兰州大学出版社,2005.4林伸茂编著,8051单片机彻底研究m,北京:中国电力出版社,2007.5邹久明编著,80c51单片机实用技术m,北京:北京航空航天大学出版社,2008.附 录org 0000hajmp startorg 000bh ;t0中断入口ajmp t0intorg 001bh ;t1中断入口ajmp t1intorg 0030hstart: mov ie,#8ah ;开放t0、t1中断mov tmod,#51h ;t0定时,t1计数mov th0,#0dchmov tl0,#00h ;定时10msmov 20h,#100 ;100*10ms=1

13、smov th1,#00hmov tl1,#00hmov 21h,#0mov 22h,#0mov 23h,#0 ;存放采集到的频率setb tr1setb tr0wait: ajmp wait ;等待中断t1int: inc 23h ;计数器溢出则23h单元自增1reti t0int: djnz 20h,next1 ;定时10ms产生中断clr tr1clr tr0mov 22h,th1 ;1s时间到则采集数据mov 21h,tl1ajmp acountnext1: mov th0,#0dch ;继续定时mov tl0,#00hretiacount: mov a,23hmov b,#0ffh

14、mul ab mov 24h,a mov 25h,b mov a,23h mov b,#0ffh mul ab mov b,26h add a,25hmov 25h,a clr a addc a,26hmov 26h,amov a,24hadd a,tl1mov 24h,amov a,25haddc a,th1mov 25h,acrl aaddc a,26hmov 26h,a;文件名:lcd1301.asm;程序功能:显示程序rs bit p3.4rw bit p3.6e bit p3.7lcd equ p1;显示主程序show: mova,26hdaamov26h,amova,25hdaam

15、ov25h,amova,24hdaamov24h,atostring:movr6,#3movr1,#30hmovr0,#26hnext:mova,r0anla,#0f0hswap aadda,#30hmovr1,aincr1mova,r0anla,#0fhadda,#30hmovr1,aincr1decr0djnz r6,nextmov lcd,#00000001b ;清屏并光标复位acall wr_comm ;调用写入命令子程序 acall init_lcd ;调用初始化子程序mov lcd,#00h ;写入显示起始地址acall wr_comm ;调用写入命令子程序movr7,#6movr

16、1,#30hto:mova,r1mov lcd,a acall wr_data ;调用写入数据子程序inc r1djnz r7,tojmp $ ;维持当前输出状态;lcd初始化设定init_lcd: mov lcd,#00110000b ;设置8位、2行、5x7点阵 acall wr_comm ;调用写入命令子程序 mov lcd,#00001111b ;显示器开,光标允许闪烁,acall wr_comm ;调用写入命令子程序mov lcd,#00010100b ;文字不动,光标自动右移 acall wr_comm ;调用写入命令子程序 retwr_comm: ;写入命令子程序clr rs ;rs=0,选择指令寄存器clr rw ;rw=0,选择写模式clr e ;e=0,禁止读/写lcmacall check_bf ;调用判lcm忙碌子程序setb e ;e=1,允许读/写lcmret check_bf: ;判断是否忙碌

温馨提示

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

评论

0/150

提交评论