版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 iGUILINUNIVERSITYOFELECTRONICTECHNOLOGY单片机课程设计报告题目:基于89C52单片机的数字频率计院(系):信息与通信学院专业:电子信息工程学生姓名:学号:指导教师:2012年11月15日 摘要该系统以STC89S51单片机为核心,应用单片机的运算和控制功能并采用LCD显示器实时地将所测频率显示出来,通过测量结果对比,分析了测量误差的来源,提出了减小误差应采取的措施。频率计具有电路结构简单、成本低、测量方便、精度较高等特点,适合测量低频信号。关键词:单片机,频率测量AbstractThepaperintroducesonecymometersystemBa
2、sedonsinglechipwhichapplysthesinglechipsfunctionofoperationandcontrolanddisplaystheresultbyLCD.Bycomparingresults,thesourceofmeasurementerrorisanalysed,themeasuresareproposedforreducingerrors.Thefrequencymeterhascharacteristicsofsimplecircuit,lowcost,easymeasurementandhighprecision,itfitsformeasurin
3、glowfrequencysignals.Keywords:Singlechip,frequency-measure引言1TOC o 1-5 h z HYPERLINK l bookmark12 o Current Document 1课程设计概述1课程设计任务及要求.1主要仪器.1数字频率计概述1 HYPERLINK l bookmark14 o Current Document 测频基本设计原理22方案论证2 HYPERLINK l bookmark16 o Current Document 总体方案2 HYPERLINK l bookmark22 o Current Document 测
4、频方案选择3 HYPERLINK l bookmark24 o Current Document 3硬件设计3 HYPERLINK l bookmark26 o Current Document 3.1系统功能描述3 HYPERLINK l bookmark28 o Current Document 3.2硬件电路设计框架3 HYPERLINK l bookmark30 o Current Document 3.3单片机部分4放大整形部分43.5分频部分5 HYPERLINK l bookmark36 o Current Document 3.6LCD显示和键盘部分64软件设计6主程序流程图设
5、计6子程序流程图设计7显示程序74.2.2频率测量程序框图84.2.3中断服务流程图8 HYPERLINK l bookmark44 o Current Document 5系统调试9 HYPERLINK l bookmark46 o Current Document 5.1显示调试95.2键盘调试95.3前置放大整形调试.9 HYPERLINK l bookmark50 o Current Document 5.4软件调试9 HYPERLINK l bookmark52 o Current Document 6结果分析与结论10 HYPERLINK l bookmark54 o Curren
6、t Document 7总结10 HYPERLINK l bookmark56 o Current Document 参考文献11附录12 引言:在工业生产、仪器仪表行业及实验教学中,经常会遇到频率的测量,我们经常使用的及目前市场上所售的频率测量装置,大多数是采用小规模集成电路及分离元件组成。在现代电子学的各个领域,要求频率计精度高且能够直接读出频率值。频率计由89S52单片机控制电路、信号处理电路、键盘电路以及测量数据的显示电路还有系统软件所构成的,在信号处理电路当中包含了待测信号放大、限幅、波形变换、波形整形以及分频电路。信号的予处理电路当中的放大器所实现的是对待测信号的一个放大的功能,能
7、够降低对待测信号的幅度的一个要求,波形的变换和整形电路实现将正弦波样的一个正负交替的号波形转换成为能够被单片机所接受的一个信号,分频电路所用于扩展的单片机的频率测量范围以及提高测量精度,并且通过实现单片机频率测量以及周期测量使用统一的一个输入的信号。系统的软件包括有测量初始化的模块、显示的模块以及信号频率测量的模1课程设计概述课程设计任务及要求题目:数字频率计要求:LCD显示,测量范围0100KHZ,带前置放大、整形电路,可测周期信号的频率。1.2主要仪器设备函数信号发生器1台示波器1台直流稳压电源(030V)1台数字万用表1块PC机1台数字频率计概述数字频率计是计算机、通讯设备、音频视频等科
8、研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。1.4测频基本设计原理图1-1所谓“频率”,就是周期性信号在单位时间(Is)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次数N,则其频率可表示为f=N/T(右图1-1所示)。其中脉冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等于被测频率fx。时间基准信号发生器提供标准的时间脉冲信号,若其周期为1s,则门
9、控电路的输出信号持续时间亦准确地等于1s。闸门电路由标准秒信号进行控制,当秒信号来到时,闸门开通,被测脉冲信号通过闸门送到计数译码显示电路。秒信号结束时闸门关闭,计数器停止计数。由于计数器计得的脉冲数N是在1秒时间内的累计数,所以被测频率fx=NHz。2方案论证2.1总体方案本次设计包含硬件设计与软件设计两部分,根据设计任务要求,采用AT89S52单片机,配置时钟电路,复位电路构成单片机最小系统,配置前置放大电路,人机对话通道中的键盘,LCD显示,从而构成设计要求的单片机应用测频系统,其结构框图如下图2-1所示:前置放大整形LCD显示电路图2-1结构框图测频方案选择方案一:直接测频法。直接测频
10、法是把被测频率信号经脉冲形成电路后加到闸门的一个输入端,只有在闸门开通时间T(以秒计)内,被计数的脉冲被送到十进制计数器进行计数。设计数器的值为N,由频率定义式可以计算得到被测信号频率为:f=N/T。方案二:高精度恒误差测频法。通过对传统测量方法的研究,结合高精度恒误差测量原理,设计一种测量精度与被测频率无关的硬件测频电路。本方法立足于快速的宽位数高精度浮点数字运算。方案三:倍频法。直接测频法在高频段有着很高的精度。可以把频率测量范围分成多个频段,使用倍频技术,根据频段设置倍频系数将经整形的低频信号进行倍频后再进行测量,高频段则进行直接测量。从编程难易及单片机资源利用情况和测量误差角度考虑,选
11、择方案一,尽管在测量低频段时的相对测量误差较大。但是可以通过增大T来提高测量精度。3硬件设计系统功能描述本次课程设计主要完成功能有:长按设置键可选择测量频率或者周期。短按则是选择设置闸门时间(0.05s10s)。测量频率范围:0.1Hz4MHz。硬件电路设计框架根据设计要求,数字频率计整个系统硬件框架图如下3-1图3-1整机硬件电路框图本系统实用LM318对待测信号进行放大,在用稳压二极管1N4733对信号进行限幅,然后经74LS14反向器整形得到TTL信号,送74LS161分频,最后送单片机P35内部计数器进行计数,单片机处理数据后送LCD显示。3.3单片机部分P0口经上拉后做LCD数据接口
12、P2.1P2.3作为LCD控制端口P2.4-P2.5作为分频选择端口P1.6-P1.7作为键盘设置端口P3.5作为被测信号输入端口v:LU1JR1P1.0?1.1Pl.2Pl.3Pl.4Pl.5?16Pl.7DTjCT1i.mni4)12PO.O(ADO)PO.1(AD1)P0.2(AD2)P0.3(AD3)P0.4(AD4)P0.5(ADi)P0.6AD6)PO.NAD7)-EA.VppALE,-PROGTMT7KTD-Cd-iIES1F338DIX3j斗37D2Jj5aF63bD4?1634D578gREST刊7833D6V/932D7T1RM-?10P3.0(RXD)P3.1TXD)P3
13、2(-INT0)31T311c1OK5UHDTTQ129D-1*JP3.3C-INT1)P2.7(A1?)1i-rATT4P3.4(T0)aP2.6(A16)P2,5(A15)P2,4A12)P2.3(A11)13i2fIvJL152616P3.63-153512I2*2T*O6111GNO丄aIOj3la97ZD3124图3-574HC153管脚图74HC153是一个双4选1数据选择器,其管脚图如图3-5所示:74LS161对整形后的防波信号进行分频,Q1为四分频输出,Q3为16分频输出。未经分频、经过四分频和经过16分频的三路信号作为74LS153的一个4选1数据选择器低三位输入,由单片机
14、控制选择分频数,然后再送单片机内部计数器T1(如图3-6).3.6LCD显示和键盘部分LCD显示,通过调节变阻器调节LCD背光亮度,八位数据口接单片机P0口,读写控制端接P2.0-P2.2口。三个按键中,设置键接P3.2单片机按外部中断0接口,当按键按下后,置P3.2口低电平,单片机中断。SI、S2为频率/周期、闸门时间加/减选择按键(如图3-7)。1中l&feSIrrrrrr1Xr:sw-SI罐TSiiiCH寸DGo0寸gPl7i.1一8s8s8588.i1.sw也1ssEM313334加D71piS3T1It7roa,rxlV(swr-S15K图3-74软件设计4.1主程序流程图设计本次程
15、序设计采用的是C语言程序设计,其设计流程图4-1所示:图4-1主程序流程图A定时中断服子程序流程图设计显示程序LCD显示程序设计流程如图4-2LCD显示图4-2显示程序流程图频率测量程序框图频率测量程序的整体架构如图4-3所示测试频率程序1图4-3频率测量框架图、加按键4.2.3中断服务流程图退出中断图4-4INT0中断流程图系统调试显示调试调节变阻器改变LCD背光亮度,直到亮度合适且显示正常。去掉前置放大整形部分,送数据LCD显示看是否正常显示,能够正常显示,说明显示电路正常工作。键盘调试在显示正常情况下调试键盘,按设置键,看是否能正常进入中断,若能,进入中断后,按下频率/周期、闸门时间设置
16、键,看是否能正常设置。在调试过程中遇到能够进入中断,但是不能进行设置,经检查电路、程序后发现两个选择按键之间短路,当其中一个按键按下,相当于两个同时按下,只是单片机CPU不能正常识别。消除短路后电路正常工作了。前置放大整形调试去掉LCD、单片机调试放大器是否正常工作。给定输入信号,用示波器分别测量各级输入输出信号,看是否和放大相应倍数,限幅在指定范围。调试结果:第一级放大五倍与符合预想要求。第二级限幅在6.2V,与理论值5.1伏有所出入,但仍然满足后面电路要求。软件调试单片机软件调试主要是调试本次课程设计的主程序。其调试过程如下:(1)新建一个工程。单击Project菜单,在弹出的下拉菜单中选
17、NewProject。(2)然后选择你要保存的路径,输入工程文件的名字,保存。(3)新建一个工程后弹出一个对话框,根据你的需要选择你使用的单片机型号。然后点击确定。(4)单击“File”,选择“New”,新建文件并在其中输入程序代码,然后保存为c语言文件。(5)回到编辑界面后,单击“Target1”前面的“+”号,然后在“SourceGroup1”单击右键选择“AddFileToGroupSourceGroup1”,选中Test.c文件。(6)单击“Project”菜单,选中“BuiltTarget”,完成程序的编译,在工程文件夹中找到*.hex文件即可结果分析与结论测量结果对比分析:没有测试
18、更高频率;从测量结果对比分析可知本次设计的频率计基本满足课程设计要,并且功能有所扩展。总结在整个课程设计的过程中每一步都是自己亲自做过的,遇到的问题也非常多,在经过遇到问题,思索问题到解决问题的过程中,收获是最多的。以往没有注意到的问题,都在这一次的课程设计中得以体现,这培养了我的细心,耐心和专心。我觉得能够在这次的课程设计中学到很多的东西,以往不注意的细节,在这一次中是必须让自己去注意的。对实际经验的不足在设计过程中出现了不少的问题,得到了老师的耐心指导,在此表示感谢。参考文献张义和.例说51单片机.人民邮电出版社马淑华.王凤文等著.单片机原理与接口技术.北京邮电大学出版社华成英.童诗白著.
19、模拟电子技术基础.高等教育出版社阎石著.数字电子技术技术基础.高等教育出版社谭浩强.C语言程序设计.清华大学出版社陈尚松等.电子测量与仪器(第二版).电子工业出版社附录:PCB图:程序清单:#include#include#include#includefloatf;floatp;floatsj;charidatabuff20;charflag=0;charxs=0;/频率/周期/闸门时间/频率周期选择标志位/设置闸门时间结束后是否显示结果的标志位unsignedcharm=O,n=O,yichu=O,fenpin;/m定时中断次数n计数中断次数yichu判断是定时器还是计数器溢出#defin
20、eKey_SetP1#defineK1Oxbf/1O11_1111P16#defineK2Ox7f/O111_1111P17#defineNO_SetOxff#defineFreqO#definePeri1sbitB153=P24;sbitA153=P23;sbitP17=P7;sbitP16=P6;sbitP35=P35;sbitSet=P32;unsignedcharLCD_Wait(void);voidLCD_Write(bitstyle,unsignedcharinput);voidLCD_SetDisplay(unsignedcharDisplayMode);voidLCD_SetI
21、nput(unsignedcharInputMode);voidLCD_Initial();voidGotoXY(unsignedcharx,unsignedchary);voidPrint(unsignedchar*str);voidC52_Initial();voidDelay(unsignedintt);voiddisplay(floatf);voidcepin();voidpanduan();voidtimedisplay(floatsj);voidTime_Set1();voidTime_Set2();voidt0();voidt1();/*X*X*X*X*X*X*X*X*X*X*X
22、*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*/*模块名称:LCD1602显示程序*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*X*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*i*/*PortDefinitions*/sbitLcdRs二P20;sbitLcdRw=P2l;sbitLcdEn二P22;sfrDBPort=0 x80;/P0=0 x80,Pl=0 x90,P2=0 xA0,P3=0 xB0.数据端口/*内部等待函数*/unsignedchar
23、LCD_Wait(void)LcdRs=0;LcdRw=1;LcdEn=1;LcdEn=0;/寄存器选择输入端1:数据0:指令_nop_();/RW:为0:写状态;为1:读状态;_nop_();/使能输入端,读状态,高电平有效;写状态,下降沿有效returnDBPort;/*向LCD写入命令或数据*/#defineLCD_COMMAND0/Command#defineLCD_DATA1/Data#defineLCD_CLEAR_SCREEN0 x01/清屏#defineLCD_HOMING0 x02/光标返回原点voidLCD_Write(bitstyle,unsignedcharinput)
24、LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();/注意顺序LcdEn=1;_nop_();/注意顺序LcdEn=0;_nop_();LCD_Wait();/*设置显示模式*/#defineLCD_SHOW#defineLCD_HIDE0 x040 x00/显示开/显示关#defineLCD_CURSOR0 x02/显示光标#defineLCD_NO_CURSOR0 x00/无光标#defineLCD_FLASH0 x01/光标闪动#defineLCD_NO_FLASH0 x00/光标不闪动voidLCD_SetDisplay(u
25、nsignedcharDisplayMode)LCD_Write(LCD_COMMAND,0 x08|DisplayMode);/*设置输入模式*/#defineLCD_AC_UP0 x02#defineLCD_AC_DOWN0 x00/default#defineLCD_MOVE0 x01/画面可平移#defineLCD_NO_MOVE0 x00/defaultvoidLCD_SetInput(unsignedcharInputMode)LCD_Write(LCD_COMMAND,0 x04|InputMode);/II1厶、A1/IfI1*1*1*1*1*1*1*1*1*1*1*1*1*1
26、*1*1*1*1*1*1*1*X*X*X*X*X*X*X*X*X*X*X*X*X*/*j始口LCD*/voidLCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0 x38);/8位数据端口,2行显示,5*7点阵LCD_Write(LCD_COMMAND,0 x38);/开启显示,无光标/清屏/AC递增,画面不动LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);/voidGotoXY
27、(unsignedcharx,unsignedchary)if(y=0)LCD_Write(LCD_COMMAND,0 x80|x);if(y=1)LCD_Write(LCD_COMMAND,0 x80|(x-0 x40);voidPrint(unsignedchar*str)while(*str!=0)LCD_Write(LCD_DATA,*str);str+;/jsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjsjs/TOC
28、 o 1-5 h z*模块名称:频率测量程序*主要技术指标:测量范围:0.1Hz4M*闸门时间:0.05s10s可调。*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*/*89c52初始化*/voidC52_Initial()sj=1000000.00;Key_Set=0 xff;TM0D=0 x51;/01010001T1为计数器,T0为定时器EA=1;ET0=1;ET1=1;EX0=1;PX0=1;/外部中断
29、0设置为高优先级IT0=0;/电平触发方式/*ms延时子程序*/voidDelay(unsignedintt)/t随着数值越大,误差趋于平衡.unsignedchari;while(t-)for(i=0;i999400.00)if(f1040.00)sprintf(buff,Freq:%4.2fkHz,(f/1000.00);elseif(f0.06)sprintf(buff,Freq:%3.2fHz,f);GotoXY(0,1);Print(buff);/*周期显示*/voidPdisplay(floatp)if(p999400.00)if(p9950.00)sprintf(buff,Cyc
30、le:%4.2fms,(p/1000.00);elseif(p0.248)sprintf(buff,Cycle:%3.3fus,p);elsesprintf(buff,error(TimeorF),p);GotoXY(0,1);Print(buff);/*测试频率*/voidcepin()unsignedchara;unsignedlongjs;m=0;n=0;TMOD=0 x51;TH0=0 x3c;/定时50msTL0=0 xb0;TH1=0;TL1=0;a=sj/50000.00;TCON=0 x50;/启动定时器和计数器while(m!=a);TCON=0;js=TH1*256+n*6
31、5536+TL1;f=(js/(sj/1000000.00)*fenpin;p=sj/(js*fenpin);if(xs=0)/设置结束后第一次不显示结果if(flag=Freq)Fdisplay(f);elsePdisplay(p);/*判断频率*/voidpanduan()xs=0;/设置结束后第二次循环显示结果B153=1;A153=0;yichu=0;TMOD=0 x51;TH0=0 xff;TL0=0 x38;TH1=0 xff;TL1=0 x9c;TR0=1;TR1=1;while(yichu=0);TR0=0;TR1=0;if(yichu=1)(f500khz)fenpin=16
32、;cepin();/选择16分频/定时器0/计数器1200us100脉冲/启动定时器0和计数器1/如果没有溢出一直循环/已经溢出关闭定时器0和计数器1/计数器先溢出:在200ms内测得的脉冲过多,说明频率较高/转为测16分频后的频率16else以减少分频数yichu=0;B153=0;A153=1;TH0=0 xfc;TL0=0 x18;TH1=0 xff;TL1=0 x9c;TR0=1;TR1=1;while(yichu=0);TR0=0;TR1=0;if(yichu=1)(1khzf50000.00)timedisplay(sj);elsesj=50000.00;timedisplay(sj);elsewhile(P17=0)Delay(500);sj=sj-500000.00;if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年陕西省道德与法治中考考前一周加分卷(含答案)
- 稳扎稳打 2026-2027学年第一学期八年级语文部编版第四单元单元测试卷(含答案)
- 快速提分 2026-2027学年第一学期九年级英语人教版第二阶段阶段检测卷(含答案)
- 快速提分 2026-2027学年第一学期初一语文部编版第二单元单元归类复习卷(含答案)
- 超越自我 2026-2027学年第一学期初一道德与法治部编版上学期期末测试卷(含答案)
- 精准押题 2027年中考湖南省英语中考人教版考前冲刺押题卷(含答案)
- 靶向训练 2027年中考山东省语文九年级考前提分模拟卷(含答案)
- 幽门螺杆菌双联方案共识2026
- 四川事业编财会岗 2026 易错题试卷
- 2026 事业编计算机岗面试真题汇编 含答案
- 2026年高邮市消防系统事业单位公开招聘工作人员3人笔试备考题库及答案解析
- 2026年高校辅导员经典面试题(含答案)
- 《勤洗生活衣物》教学设计-2026-2027学年滇教版初中劳动技术七年级上册
- 2026年度湖北省部分工程高、中级职称水平能力测试(轻工)复习题及答案
- 2026八年级劳动国家质量监测考试卷含答案
- AQ3035-2010危险化学品重大危险源安全监控技术规范关键条款解读
- T∕CHCIA 013-2023 液体香氛规范
- 2025版《广东省护理病历书写管理规范(试行)》
- 银行对公营销培训课件
- 冬季安全生产综合注意事项(防冻、防滑、防火、防爆、防中毒)课件
- 中小学教学质量考核奖励办法(2026年修订)
评论
0/150
提交评论