基于51单片机的频率计_第1页
基于51单片机的频率计_第2页
基于51单片机的频率计_第3页
基于51单片机的频率计_第4页
基于51单片机的频率计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 2016年浙江理工大学电子设计大赛 设计报告 简易数字频率计(B题) 2016年3月30日摘要:频率测量用途非常广泛,高精度,宽量程的数字频率计因而成为重要的测量仪器。本设计采用先放大整形,再分频选择,产生信号给单片机显示的原理,从而能能减少一些干扰,提高输出波形的纯净度,减小误差。放大模块采用低噪声,精密,高速运动放大器OP37芯片,整流部分采用LM311芯片,采用两个反相器,使波形更稳定,反相器用的是芯片74LS00.考虑到单片机能承受的频率达不到我们预期想要的高频率,所以采用分频模块,并采用选择器进行调节分频的程度。分频模块采用三块74LS160,数据选择器用74LS153芯片。最后把

2、信号输出到单片机,采用单片机1602显示屏的显示功能显示出所测频率的大小,实现了高精度的频率测量。关键词:高精度频率测量 放大整形 分频选择 单片机1602显示 OP37 LM311 74LS系列。 简易数字频率计(B题)1. 系统方案本系统主要由放大模块,整形模块,分频模块,控制模块,显示模块组成,下面分别论证这几个模块的选择。 1.1方案论证 1.1.1 总体方案的论证 方案:采用中小规模的数字电路构成频率计,为了提高抗干扰能力,统一将万能板刻成了PCB板并调试成功。放大整形反向模块为了得到纯净的方波信号,分频模块采用与数据选择器结合达到调节十分频,百分频,千分频的控制效果。方案设计简单,

3、而且采用PCB板,比较美观,抗干扰能力高,误差不大,小于0.1%。1.1.2 放大方案的论证方案:采用OP37高精度低噪声的芯片,整体上比一般的OP07新芯片有很大的优化提升。OP37不仅具有OP07的低失调电压和漂移特性,而且速度更高、噪声更低。在增益大于5的应用中用OP37可取代OP07。所以本实验适宜采用OP37。1.1.3 整形方案的论证方案:采用LM311电压比较器设计运行在更宽的电源电压:从标准的15V运算放大器到单5V电源用于逻辑集成电路。1.1.4 显示方案的论证方案:采用STC89C51单片机与1602显示屏结合,通过单片机的代码接受外部中断,即已经被放大整形反向并分频的信号

4、,又通过单片机在1602显示屏将信号以频率形式呈现,达到直观的测量频率的目的。2. 电路与程序设计2.1 电路的设计2.1.1 系统总体框图 系统总体框图如下图所示,系统主要由放大电路,整形电路,分频电路和STC89C51单片机组成。放大电路负责放大信号,整形电路负责把放大后的信号变换成标准的矩形波信号,使之成为单片机能够检测到的信号。被测信号放大整形反向单片机分频选择开关1602显示屏2.1.2 放大电路方案放大电路采用OP37高速放大器。增益带宽积为63MHz,可以在高频下仍然保持比较平稳的放大倍数,符合题目要求的发挥部分。根据运放增益的公式Aod=(R3/R1),可得电路的放大倍数。2.

5、1.3 整形电路方案整形电路采用基本的芯片基本电压比较器LM311。芯片基础性能强,适用性高。2.2程序的设计 2.2.1 程序设计思路 以T0计数器计数,程序主要完成对输入信号和标准号个数的测量、测量输入信号高电平和低电平。单片机主要完成对程序的控制、计算和显示相关信息及进行人机交互,并通过1602显示屏显示。3 测试方案与测试结果3.1 测试方案(1)软件仿真测试通过multisim和AD等仿真软件进行仿真并搭建电路,设计PCB电路板,然后进行实际电路搭建和焊接。(2)硬件测试依次进行放大电路和整形电路测试,然后进行分频和选择测试,最后和单片机连接进行显示测试,最后整体测试。确保放大模块整

6、形模块以及分频模块都能够满足使用需求。3.2 测试条件和仪器测试条件:检查多次,仿真电路和硬件电路必须和系统原理图完全相同,并且检查无误,硬件电路确认无虚焊等问题,能正常工作。测试仪器:高精度万能表,信号源,示波器,数字直流稳压源。3.3测试结果与分析3.3.1 频率和周期测量被测信号频率(HZ)实际测得频率(HZ)实际测得周期(us)20k20.13k50.0030k30.21k33.3340k40.18k25.0050k50.45k20.0082k82.30k12.50100k100.10k10.00150k150.10k6.66200k200.10k5.00230k230.20k4.34

7、270k270.20k3.70300k300.20k3.33400k400.20k2.50500k500.30k2.00600k600.40k1.66700k700.50k1.42800k800.60k1.24900k900.60k1.101M1001k0.992M2001k0.493M3002k0.334M3998k0.245M4997k0.20通过以上数据可得,放输入信号频率有效值为1HZ5MHZ,实际测量值与测量值的相对误差都是0.1%,符合题目要求,而且在幅值较大的情况下可以完成一部分发挥部分的要求。3.3.2误差分析(1)整形电路输入信号的误差。电路的输入信号是经过整形比较电路输入的

8、,硬件误差难以避免。整形电路的上升沿不够,必然导致整形出来的信号上升沿不够陡峭,单片机对其上升沿误判导致计数值错误,所以测得频率有偏差。(2)外界信号的干扰。测试时的周边信号的干扰都会对电路的测试产生一定的影响,所以测得的频率具有一定的偏差。4设计总结 通过本次电子设计大赛,我们小组设计的方案能够精确测量峰峰值500mvpp,频率范围为1Hz5MHz的正弦波,相对误差小于0.1%,符合题目基本要求。通过分频器的分频功能能够理想的将单片机的检测频率提高最多1000倍,其测量频率范围宽,精度高,易于编程和设计,基本符合题目要求。而且使用PCB板制图,得到的信号更加稳定,硬件电路的抗干扰能力强,稳定

9、性高,便于操作。 通过本次设计大赛,我们小组受益匪浅。我们明白了怎么使用AD软件进行PCB板制作及布线问题,为以后的学习和发展奠定了良好的基础。附录一选择器PCB图放大器PCB图附录二直流稳压电源设计原理图放大整形电路原理图 分频选择电路原理图附录三单片机程序代码#include #define uchar unsigned char#define uint unsigned int sbit lcdrs = P11;/液晶引脚定义sbit led_cs = P12;sbit lcden = P10;sbit k1=P13;sbit k2=P14;sbit dx = P27;/数码管引脚定义s

10、bit wx = P26;sbit key1 = P30;sbit key2 = P31;sbit key3 = P32;sbit key4 = P33;sbit led1=P17;sbit led2=P16;sbit led3=P15;int flag=0,s=1,a=0,i=0;unsigned long rate4,rate5,rate6,rate7,t4,t5,t6,t7,l4,l5,l6,l7;unsigned long x,c=0,T=0,L=0,f=0,f1=0;/*延时函数*/void delay(uint xms)uint i,j; for(i=xms;i0;i-)for(j

11、=114;j0;j-);/*1602液晶*/void write_com(uchar com)/写命令lcdrs=0;lcden=0;P0=com;delay(5);lcden=1;delay(5);lcden=0;void write_data(uchar date)/写数据lcdrs=1;lcden=0;P0=date;delay(5);lcden=1;delay(5);lcden=0;void write_by_xy(uchar x,uchar y)/坐标定位uchar address;if(y=0) address=0x80+x;/y=0,写第一行else address=0xc0+x

12、;/y=1,写第二行write_com(address); void write_string(uchar x,uchar y,uchar *s)/写字符串write_by_xy(x,y);/设定显示位置 while(*s)/write characterP0=*s;write_data(*s); s+;void write_sfm(uchar add,uchar date)/写时分秒函数uchar hour,ge;hour=date/10;/分解一个2位数的十位和个位ge=date%10;write_com(0x80+0x40+add);/设置显示位置write_data(0x30+hour

13、);/送去液晶显示十位write_data(0x30+ge); /送去液晶显示个位void write_cgf()/写入固定汉字和符号write_string(12,0,F=);void write_cgt()/写入固定汉字和符号write_string(12,0,T=);void write_cgl()/写入固定汉字和符号write_string(12,0,L=);void write_cgs()write_string(12,1,S=);void init_1602()/初始化dx=0;wx=0;led_cs=0,c=0;write_com(0x38);write_com(0x0c);wr

14、ite_com(0x06);write_com(0x01);TMOD=0x51;/设置定时器1计数工作模式1 定时器0计时工作模式1TH0=0x4b;/定时器0装初值TL0=0xfd;EA=1; /开总中断ET0=1; /开定时器0中断TR0=1; /启动定时器0TH1=0x00;/定时器1装初值TL1=0x00;ET1=1;/开定时器1中断TR1=1;/启动定时器1/*显示函数*/void show1()rate7=f/;write_sfm(0,rate7);rate6=(c%)/10000;write_sfm(2,rate6);rate5=(c%10000)/100;write_sfm(4

15、,rate5);rate4=(c%100)/1;write_sfm(6,rate4);if(k1=0&k2=0) write_string(8,1,kHz); f1=f*1000;if(k1=0&k2=1) write_string(8,1,bHz); f1=f*100;if(k1=1&k2=0) write_string(8,1,sHz); f1=f*10;if(k1=1&k2=1) write_string(8,1, Hz); f1=f;void show2()if(f1!=0)T=/f1;t7=T/;write_sfm(0,t7);t6=(T%)/10000;write_sfm(2,t6

16、);t5=(T%10000)/100;write_sfm(4,t5);write_string(6,1,.);t4=(T%100)/1;write_sfm(7,t4);write_string(9,1,us);void show3()if(f1!=0)L=/f1;l7=L/;write_sfm(0,l7);l6=(L%)/10000;write_sfm(2,l6);l5=(L%10000)/100;write_sfm(4,l5);write_string(6,1,.);l4=(L%100)/1;write_sfm(7,l4);write_string(9,1,us);/*主函数*/void m

17、ain()dx=0;wx=0;led_cs=0;init_1602();while(1)write_string(0,0,H-W-Z);if(key1 = 0)delay(5);/软件消抖if(key1 = 0)write_cgf();flag=1;while( !key1 );/松手检测if(key2 = 0)delay(5);/软件消抖 if(key2 = 0 )write_cgt();flag=2;while( !key2 );/松手检测if(key3 = 0)delay(5);/软件消抖 if(key3 = 0 )write_cgl();flag=3;while( !key3 );/松手检测if(key4 = 0)delay(5);/软件消抖if(key4 = 0)if(s=10)s=1;elses+;while( !key4 );/松手检测write_cgs();write_sfm(14,s);if(flag=1)show1();led1=0;led2=1;led3=1;if(flag=2)show2();led1=1;led2=0;led3=1;if(flag=3)show3();led1=1;led2=1;le

温馨提示

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

评论

0/150

提交评论