设计功能

(1)主要采用51单片机+最小系统+LCD1602液晶显示模块+分频电路+整形电路+按键而成。
(2)频率的测量范围为1Hz—20MHz能测量各种周期信号,能测出正弦波、三角波或方波等波形的频率。
(3)通过LCD1602液晶显示屏显示检测到的即时频率数值(最多8位数,单位为Hz)。 
(4)电路板上排针左边接信号输入,右边接地。

原理图:

原理图绘制软件采用AD2013。频率计能测出正弦波、三角波或方波等波形的频率,测量范围为1Hz—20MHz,且能检测幅度最小值为1Vpp的信号;③通过LCD1602液晶显示屏显示检测到的即时频率数值(最多8位数,单位为Hz)。另外,当输入频率大于20KHz的信号时,由于采用了100分频采样,显示结果稍有误差,如输入最大测量频率20MHz的信号时,LCD1602液晶显示屏上显示的测量结果为19998900HZ,误差不超过十万分之一,在可接受范围之内。

输入信号需要经过信号处理电路后,单片机才能准确计算出频率;

(1)信号放大电路

为了有效防止因信号过小而造成的检测障碍,在信号输入处采用了三极管共射放大电路,如图所示。

实际工作中,我们必须解决放大电路与信号源及放大电路与负载之间的耦合问题。一方面要求耦合电路能够传输交流的输入和输出信号,传输过程中的信号损耗尽可能小;另一方面又要求信号源,放大电路、负载之间的直流工作状态互补影响,即有“隔直”作用,电路的C1、C7就很好的解决了这个问题即固定偏置共射极放大器。集电极电压通过基极偏置电阻R2使晶体管Je正偏;同时拖过R3使Jc反偏,从而实现信号源放大。

(2)信号缓冲电路

脉冲产生模块采用74HC14实现了三次施密特触发并反相,从图1.2可以看出,来自信号采集模块的经过放大的信号从74HC14的1脚进入,经过1A→1Y、2A→2Y和3A→3Y三次施密特触发并反相最终将缓慢变化的输入信号转换成清晰、无抖动的信号从6脚输出。

(3)分频电路

由于单片机可操作频率有限,若输入信号频率过大则单片机无法成功实现脉冲计数,因此需要使用74HC390进行分频,以100分频为宜(具体为200KHz以上信号采取100分频后再检测,200KHz或以下信号则检测未经100分频的原始信号)。

采取的方法为:从图中可以看出,若从nCP1输入频率为f的时钟信号,则会在nQ2处输出频率为f/5的脉冲信号,因此可进行如图1.5所示的连线方法,1CP1--1Q2→2CP1--2Q2→1CP0--1Q0→2CP0--2Q0,其中“→”代表芯片外部电气连接,“--”代表芯片内部功能连接,从而得到5×5×2×2=100分频,即若从1CP1输入一个频率为f的信号,则会从2Q0输出一个频率为f/100的分频信号。

其总体硬件原理图如图所示。

仿真设计

仿真软件采用Protues7.8。

程序设计

程序采用C作为编程语言,使用Keil5作为编程软件;

/----------------主函数--------------------
void main()
{ unsigned char i;LCD_init();timer_init();             //定时/计数器初始化 for(i = 0;i<4;i++){LCD_disp_char(i+0,1,character_1[i]);}while(1){dis_num();         //显示delay_1s();}
}
//-------------------定时/计数器初始化--------------
void timer_init(void)         //定时/计数器初始化
{ TMOD=0x66;                //计数器0和计数器1工作工作方式2,自动重装初值 TH0=0;                    //计数器初值为0TL0=0;TR0=1;                    //计数器开始计数       ET0=1;                    //打开计数器0中断   TH1=0;                    //计数器初值为0TL1=0;TR1=1;                    //计数器开始计数     ET1=1;                    //打开计数器1中断   RCAP2H=(65536-62500)/256; //在程序初始化的时候给RCAP2L和RCAP2H赋值, RCAP2L=(65536-62500)%256; //TH2和TL2将会在中断产生时自动使TH2=RCAP2H,TL2=RCAP2L。 TH2=RCAP2H;               //12M晶振下每次中断62.5ms(1s=1000ms=62.5ms×16)TL2=RCAP2L;ET2=1;                    //打开定时器2中断     TR2=1;                    //定时器2开始计时  EA=1;                     //开总中断
}
//------------------中断函数----------------------
void timer2(void) interrupt 5 //定时器2中断(62.5ms)
{time++;TF2=0;                    //定时器2的中断标志位TF2不能够由硬件清零,所以要在中断服务程序中将其清零if (time==16)             //定时1s时间到  {time=0;                //计时清0EA=0;                  //关中断       fre=(long)count1*256+TL1;     //count*256强制转换成long型,否则将不产生进位~先判断分频后(计数器1)FLAG = 0; if(fre<2000)//如果不到200KHz则读取分频前(计数器0)频率(200K÷100=2000){fre = (long)count*256+TL0;FLAG = 1;          } if(!FLAG){fre = fre *100;//100分频}TL0=0;                 //清零计数器0计数      TH0=0;TL1=0;TH1=0; count=0;               //清零计数器0计数      count1=0;EA=1;                  //开中断       }
} 

链接:https://pan.baidu.com/s/1K_iaNaTtbG7G-vrYtpOvyw 
提取码:fqvi

51单片机的频率计设计相关推荐

  1. 基于51单片机数字频率计仿真设计(proteus仿真+程序+原理图+参考报告+器件清单)

    51单片机数字频率计仿真设计 51单片机数字频率计仿真设计 主要功能 任务书 实物图 仿真图 原理图 信号采集模块 脉冲产生模块 分频模块 程序 设计报告 全部参考资料 资料下载链接 51单片机数字频 ...

  2. 基于51单片机信号发生器仿真设计

    本设计 基于51单片机信号发生器仿真设计 (仿真+程序源码+设计说明书) 仿真原版本:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0015 目录标题 ...

  3. 51单片机综合课程设计多功能电子秤(显示时间、温度、存储、串口、报警装置等)

    51单片机综合课程设计----多功能电子秤 关键词:proteus仿真.51单片机.DS1302时钟芯片.DB18B20温度芯片.AT24C02存储芯片.LCD1602液晶屏.ADC0832芯片等,文 ...

  4. 51单片机数字电子钟设计(数电课设,含时间显示、校准、整点报时、闹钟功能)

    51单片机数字电子钟设计(数电课设,含时间显示.校准.整点报时.闹钟功能) 首先展示硬件设计部分,此处采用proteus仿真演示.其中液晶屏上面一行显示的是实际时间,下面一行显示的是设定闹钟时间.通过 ...

  5. 基于51单片机数字电压表的设计 仿真、程序、原理图(转发)

    摘 要 数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示.而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编 ...

  6. stc89c51单片机音乐盒系统设计_基于51单片机音乐盒课程设计1.doc

    基于51单片机音乐盒课程设计1 课程名称: 微机原理课程设计 题 目: 基于单片机的音乐盒设计 摘要 随着人类社会的发展,人们对视觉.听觉方面的享受提出了越来越高的要求.小小的音乐盒可以给人们带来美好 ...

  7. 51单片机控制继电器的设计及源代码

      51单片机控制继电器的设计及源代码 一.实验要求 利用P3.5输出高低,控制继电器的开合,实现对外部装置的控制. 二.实验目的 掌握继电器控制的基本方法和经验. 三.实验电路及连线 四.实验说明 ...

  8. 基于51单片机自行车码表设计

    [毕设课设]基于51单片机自行车码表设计 ​效果图 Proteus仿真: 功能简介: 文件内容: 程序框架: 网盘链接: ​效果图 更多内容请关注@WENJIE电子科技 ​ 基于51单片机proteu ...

  9. c语言 计步算法,基于51单片机的计步器设计

    基于51单片机的计步器设计(任务书,开题报告,外文翻译,论文15000字) 摘  要 随着科技发展和国民健康意识的提高,许多检测健康状态的电子产品开始普及.电子计步器作为一种越来越流行的平民锻炼检测装 ...

最新文章

  1. 咱们码农可以从曾国藩身上学到点什么呢?
  2. 数据结构----内存分配问题
  3. 泼冷水:反思机器学习5年大跃进(附论文)
  4. SAP WM LPK1 不能把 cross-material control cycles定义成release order parts
  5. FormView里用FindControl找不到控件的解决方法
  6. java8避免null_在 Java 8 中避免 Null 检查
  7. LVS负载均衡基础总结
  8. 工人物语5战役攻略_《工人物语7》入门详细图文攻略
  9. 使用 Canvas 生成公众号头图
  10. 第七十六期:糟糕!服务器被植入挖矿木马,CPU飙升200%
  11. java ejb jsp 架构_JavaEE架构
  12. 计算机基础知识ip地址,计算机基础知识练习题
  13. Spark基础学习笔记17:掌握RDD算子
  14. curl and wget
  15. 机械表小案例之transform的应用
  16. centos 用户和组的相关命令
  17. c语言实现词法分析器
  18. tof相机很好的总结~
  19. python在线培训视频
  20. iphone 快捷指令打开 行程码

热门文章

  1. Mina学习(4):实现自定义编解码器并解决半包,丢包,粘包问题
  2. 城市大脑一网统管建设解决方案 城市大脑一网统管及领导驾驶舱系统建设解决方案
  3. 计算机音乐大全集,计算器音乐合集
  4. S5PV210开发板用汇编设置栈和调用C语言
  5. LinkCloud:云计算服务 没有优惠活动就是最好的优惠
  6. 程序员的奋斗史(四十五)——大学断代史(九)——独自南下的岁月
  7. Quartz定时任务调度框架
  8. 北方互动:APP开发的具体流程
  9. 传奇服务器需要满足什么条件
  10. 实验一 数字基带信号