等精度频率计设计.docx_第1页
等精度频率计设计.docx_第2页
等精度频率计设计.docx_第3页
等精度频率计设计.docx_第4页
等精度频率计设计.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

等精度频率计设计摘要:本电路采用单片机为核心,实现对矩形波等精度测量。利用单片机产生的秒脉冲与未知信号通过D触发器获得一秒同步闸门信号。利用闸门信号将未知信号与标准脉冲信号采样,通过单片机计数器对采样信号计数得到信号等效频率。本系统电路主要分为五个部分:单片机控制、通道部分、同步电路部分、计数器部分、液晶显示部分。关键字:闸门同步 计数采样 单片机 等精度一、 系统方案1. 题目任务及相关指标分析本电路设计指标为对频率为1HZ至1MHz矩形波信号等精度测量。误差小于0.001。与之闸门时间为一秒。所以本系统电路分为五个部分:单片机控制、通道部分、同步电路部分、计数器部分、液晶显示部分。2. 方案的选择与比较。 图路1-1 脉冲发生电1) 秒脉冲发生电路方案一:如图1-1所示,利用无源晶振同过CD4060和74HC74分频产生周期为1秒的脉冲。此种方法原理简单,无需编写程序。但硬件电路相对复杂,不利于整体电路焊接。方案二:利用单片机P1.0口T2计数器产生一秒脉冲。此方式借助单片机编程,直接由单片机I/O口输出,电路简单,所需器件少。综合考虑选取方案二。2) 同步电路部分图1-2同步电路方案:如图1-2所示,利用D触发器功能,以未知信号为clock信号,一秒脉冲为D信号,将在Q端得到同步的脉冲信号。此时的脉冲信号周期不等于1 秒,且大小也不固定。3) 计数器部分方案一:如图1-3所示,采用两片八位TTL电平计数器74LS393,实现计数。当计数器从00H增加到FFH时将产生一个进位为输给单片机内部计数器T0/T1,从而拓展单片机内部计数范围。在原有范围内扩大256倍。图1-3 393计数电路图1-4 CD4040计数电路方案二:如图1-4所示,采用两片十二位计数器CD4040,实现片外计数器扩展。综上所述,12位的计数器CD4040计数范围更大,有利于扩大测量范围,所以选取方案二。图1-5通道整形电路4) 通道整形电路方案:如图1-5所示,采用74HC04非门对信号连续取非整形。3. 系统总体方案设计流程图预置闸门时间信号(秒脉冲)输入通道同步电路(D)触发器门控电路1(与门)门控电路2(与门)基准时钟信号f0计数器1 NA=fx T 计数器2 NB=f0T计算fx=NANBf0显示图1-6系统总体方案二、 系统总体电路图 图1-7 系统总体设计电路图三、 单片机程序设计#includereg52.h#includeabsacc.h#include intrins.h#define uchar unsigned char#define uint unsigned int#includeLCD1602.h/LCD1602显示程序头文件#includeLCD1602.c/#define KEY_H XBYTE0xFC00/按键行地址/#define KEY_L XBYTE0xFE00/按键列地址#define Data_LL XBYTE0xE000/CS6#define Data_HL XBYTE0xF800/CS70sbit CLK=P11;/闸门信号/sbit PR=P11;/清零信号,D触发器sbit Q=P10;/判断用sbit MR=P13;/清零信号,计数器/定义下面所需变量unsigned long int cnt0=0,cnt1=0;float num=0,numb=0;/,Tnum=0,Tnumb=0void main()/初始化TMOD=0x55;/T0,T1都为计数模式1 C/T=1;M1M0=01; MR=1;/使两个计数器清零TL0=0;TL1=0;TH0=0;TH1=0;/PR=0;/关同步闸门 RCAP2H=(65536-50000)/256;/T2计数初值RCAP2L=(65536-50000)%256; ET2=1;/开T2中断EA=1;/开总中断TR2=1;/开T2定时nint_LCD();/液晶初始化print(COME ON !-,0x40);while(1);void timer2()interrupt 5uchar i,date_l,date_h;unsigned long int dis0,dis1;TF2=0;ET2=0;TR2=0;MR=0;/PR=1;CLK=1; TR0=1;TR1=1;i+;if(i=20)i=0;CLK=0;while(Q);/此处是等待电平的变换TR0=0;TR1=0;dis0=TL0|(TH08);dis1=TL1|(TH1=10000000)num=num;dis_LCD(unsigned long int)num/10000000+0x30,0x02);dis_LCD(unsigned long int)num/1000000%10+0x30,0x03);print(.,0x04);dis_LCD(unsigned long int)num/100000%10+0x30,0x05);dis_LCD(unsigned long int)num/10000%10+0x30,0x06);dis_LCD(unsigned long int)num/1000%10+0x30,0x07);dis_LCD(unsigned long int)num/100%10+0x30,0x08);dis_LCD(unsigned long int)num/10%10+0x30,0x09)print(MHz,0x0b); else if(numb=1000000)&(numb=100000)&(numb=10000)&(numb=1000)&(numb=100)&(numb=10)&(numb100)num=num*1000000;dis_LCD(unsigned long int)num/10000000+0x30,0x02);dis_LCD(unsigned long int)num/1000000%10+0x30,0x03);print(.,0x04);dis_LCD(unsigned long int)num/100000%10+0x30,0x05);dis_LCD(unsigned long int)num/10000%10+0x30,0x06);dis_LCD(unsigned long int)num/1000%10+0x30,0x07);dis_LCD(unsigned long int)num/100%10+0x30,0x08);dis_LCD(unsigned long int)num/10%10+0x30,0x09);print( Hz,0x0b); elsenum=num*10000000;dis_LCD(unsigned long int)num/10000000+0x30,0x02);print(.,0x03);dis_LCD(unsigned long int)num/1000000%10+0x30,0x04);dis_LCD(unsigned long int)num/100000%10+0x30,0x05);dis_LCD(unsigned long int)num/10000%10+0x30,0x06);dis_LCD(unsigned long int)num/1000%10+0x30,0x07)

温馨提示

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

评论

0/150

提交评论