《基于单片机的弱信号过零检测测频系统仿真.docx》由会员分享,可在线阅读,更多相关《基于单片机的弱信号过零检测测频系统仿真.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、沈阳理工大学装备工程学院课程设计说明书摘 要 本文主要论述了基于单片机的微弱信号的过零检测的实现。随着无线电技术的开展与普及,频率已经成为广阔群众所熟悉的物理量。传统的频率计通采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时频率测量方法的优化也越来越受到重视。并采用单片机和相关硬软件实现。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域占有非常重要的地位。为此,本文给出了一种以单片机为核心的频率测量系统的设计方法,
2、实现了在一定误差范围内利用过零检测实现对给定信号频率的测量。过零检测法即利用信号的数学特性(信号在一个周期内有两个零点)和利用模拟元器件的物理特性(信号过零时产生不同于非过零时的电平)从而通过单片机记录这个信号,并由单片机计算出信号的频率输出给显示设备。关键词:过零检测;测频系统;单片机系统 目录1 绪 论12 设计任务22.1 课程设计的目的及意义22.2 课程设计任务与要求22.3 实验器材22.4 课程设计技术指标23 低频弱信号测频系统工作原理33.1 低频弱信号测频系统概述33.2 低频弱信号测频系统原理33.2.1 原理根本构造图33.2.2 电路仿真原理图33.3 三极管放大原理
3、43.4 三极管电子电子开关53.5 改进型电子开关64 低频弱信号测频系统参数计算和器件选择84.1 参数计算84.2 元器件清单84.3 单片机最小系统94.3.1 晶振电路94.3.2 AT89C51单片机复位电路105 低频弱信号测频系统源程序115.1 程序流程图设计115.2 源程序设计125.2.1 程序总体分析125.2.2 TCON存放器初值设定125.2.3 TMOD存放器初值设定125.2.4 IE存放器初值设定135.2.5 程序源代码146 低频弱信号测频系统调试及测试结果与分析176.1 实验调试176.2 实验结果17总结18致谢19参考文献20III1 绪 论微
4、弱信号无噪声的单片机测频系统分为三局部。第一为信号放大局部,第二为信号转换局部,第三为信号处理局部。信号放大局部对输入信号进行放大,使得信号能被后续电路所识别和处理,此局部由两个三极管作为放大电路,一个三极管的放大倍数=5,经过两级放大继而推动后续处理电路。信号转换局部对前级放大的信号进行转换为后级单片机能处理的信号。此局部由一个桥式整流电路连接一个三极管组成。桥式整流电路对信号进行整流使信号没有负向电流电压,全为正向电流电压,当信号出现不出现零点时,使得三极管导通,三极管输出低电平,当信号产生零点时,三极管输出高电平。此上下电平即为单片机能处理的信号。信号处理局部即为单片机最小系统加数码显示
5、屏组成。单片机对前级输出的上下电频进行处理,频率即为1S内信号周期变化的次数,据此可在1S内测定信号的过零点即为信号的频率。之后由单片机计算并查表输出所得数据的百十个位和小数点给数码显示屏,数码显示屏利用动态扫描的方式显示频率。动态显示方法输出数码,利用人眼的停留效果和数码管的“余辉作用实现功能。轮流点亮数码管一个时刻内只有一个数码管是亮的,利用人眼的视觉暂留现象也叫余辉效应,就可以做到看起来是所有数码管都同时亮了,这就是动态显示,也叫做动态扫描。只要刷新率大100Hz,即刷新时间小于10ms,就可以做到无闪烁,这也就是我们的动态扫描的硬性指标。2 设计任务2.1 课程设计的目的及意义1了解过
6、零检测方法及原理;2熟练掌握单片机的根底工程应用;3培养自我学习和设计的能力。2.2 课程设计任务与要求1认真分析和领会课程设计题目含意,查阅和运用相关技术资料,提倡独立思考,锻炼动手能力;2仔细观察实验现象,认真做好实验记录,要准确、标准、独立地完成实验内容,自觉培养严谨求实的科学作风;3认真完成课程设计论文应包含电路图、元器件清单、仿真调试及验证结论、设计总结等内容。2.3 实验器材1.PC; 2.Proteus仿真软件。2.4 课程设计技术指标输入信号幅度:27mV,测频范围:02710Hz,显示精度为小数点1位。3 低频弱信号测频系统工作原理3.1 低频弱信号测频系统概述对于低频弱信号
7、的测频首先对弱信号进行放大,使信号能推动后级电路并且能被单片机系统处理。进而利用三极管作为一个电子开关三极管导通时集电极为低电平,当三极管截止时,可把三极管看做一个大电阻,集电极输出高电平,输出单片机能识别的上下电平,此上下电平的输出跟信号的过零点成正比关系,即信号非过零时就输出低电平,当信号过零时输出高电平。单片机对高电平的次数进行统计得到信号的变化频率从而得到信号的频率。3.2 低频弱信号测频系统原理3.2.1 原理根本构造图由放大电路和反应网络形成自激振荡。单片机处理信号转换信号放大输出输入图3.1 弱信号测频系统框图弱信号低频测频系统的原理框图如图3.1所示,弱信号进过放大足以被系统检
8、测和处理,经过信号转换把信号的过零变化转化为单片机能识别的上下电平的转换,之后由单片机对上下电平进行处理,测量出系统的频率并输出给显示设备。3.2.2 电路仿真原理图 系统由V3作为信号源产生一个27mV,0270HZ的低频弱信号,并经过Q2、Q3两级三极管放大到峰峰值为1mV的信号,并经过桥式整流电路BR1整流输出给Q1和Q5两个三极管构成的电子开关,因为三极管由截止区过度到饱和区需要经过线型区,开关效果不会有明确的界线。为使三极管开关效果明确,故串接两个三极管。所以后一个三极管的状态只存在于饱和和截止两种状态,输出给单片机即为上下电平。单片机使用外部中断INT0边沿触发方式,记录信号1S内
9、的过零次数,由此得出信号的频率,输出给7SEG-MPX4-CC数码管利用动态显示的方法显示频率。动态显示即利用数码管的“余辉作用,利用人眼的短暂视觉停留,通过选通数码管的片选端逐位显示百位个位和十位。图3.2 电路仿真原理图 3.3 三极管放大原理晶体三极管以下简称三极管按材料分有两种:锗管和硅管。而每一种又有NPN和PNP两种结构形式,但使用最多的是硅NPN和锗PNP两种三极管,其中,N表示在高纯度硅中参加磷,是指取代一些硅原子,在电压刺激下产生自由电子导电,而p是参加硼取代硅,产生大量空穴利于导电。两者除了电源极性不同外,其工作原理都是相同的,下面仅介绍NPN硅管的电流放大原理。 对于NP
10、N管,它是由2块N型半导体中间夹着一块P型半导体所组成,发射区与基区之间形成的PN结称为发射结,而集电区与基区形成的PN结称为集电结,三条引线分别称为发射极e、基极b和集电极c。 当b点电位高于e点电位零点几伏时,发射结处于正偏状态,而C点电位高于b点电位几伏时,集电结处于反偏状态,集电极电源Ec要高于基极电源Ebo。 在制造三极管时,有意识地使发射区的多数载流子浓度大于基区的,同时基区做得很薄,而且,要严格控制杂质含量,这样,一旦接通电源后,由于发射结正偏,发射区的多数载流子电子及基区的多数载流子空穴很容易地越过发射结互相向对方扩散,但因前者的浓度基大于后者,所以通过发射结的电流根本上是电子
11、流,这股电子流称为发射极电流了。 由于基区很薄,加上集电结的反偏,注入基区的电子大局部越过集电结进入集电区而形成集电集电流Ic,只剩下很少1-10%的电子在基区的空穴进行复合,被复合掉的基区空穴由基极电源Eb重新补给,从而形成了基极电流Ibo。根据电流连续性原理得: Ie=Ib+Ic 这就是说,在基极补充一个很小的Ib,就可以在集电极上得到一个较大的Ic,这就是所谓电流放大作用,Ic与Ib是维持一定的比例关系,即: 1=Ic/Ib 式中:1-称为直流放大倍数, 集电极电流的变化量Ic与基极电流的变化量Ib之比为: = Ic/Ib 式中称为交流电流放大倍数,由于低频时1和的数值相差不大,所以有时
12、为了方便起见,对两者不作严格区分,值约为几十至一百多。 三极管是一种电流放大器件,但在实际使用中常常利用三极管的电流放大作用,通过电阻转变为电压放大作用。 三极管放大时管子内部的工作原理 1、发射区向基区发射电子 电源Ub经过电阻Rb加在发射结上,发射结正偏,发射区的多数载流子(自由电子不断地越过发射结进入基区,形成发射极电流Ie。同时基区多数载流子也向发射区扩散,但由于多数载流子浓度远低于发射区载流子浓度,可以不考虑这个电流,因此可以认为发射结主要是电子流。 2、基区中电子的扩散与复合 电子进入基区后,先在靠近发射结的附近密集,渐渐形成电子浓度差,在浓度差的作用下,促使电子流在基区中向集电结
13、扩散,被集电结电场拉入集电区形成集电极电流Ic。也有很小一局部电子因为基区很薄与基区的空穴复合,扩散的电子流与复合电子流之比例决定了三极管的放大能力。 3、集电区收集电子 由于集电结外加反向电压很大,这个反向电压产生的电场力将阻止集电区电子向基区扩散,同时将扩散到集电结附近的电子拉入集电区从而形成集电极主电流Icn。另外集电区的少数载流子空穴也会产生漂移运动,流向基区形成反向饱和电流,用Icbo来表示,其数值很小,但对温度却异常敏感。3.4 三极管电子电子开关 三极管不仅可以作为放大元器件,还可利用三级管的特性作为一个电子开关使用。 三极管是以B 极电流IB 作为输入,操控整个三极管的工作状态
14、。假设三极管是在截止区,IB 趋近于0 (VBE 亦趋近于0),C极与E极间约呈断路状态,IC = 0,VCE = VCC。假设三极管是在线性区,B-E接面为顺向偏压,B-C 接面为逆向偏压,IB 的值适中 (VBE = 0.7 V), IC= IB 呈比例放大,Vce= Vcc-Rc Ic = Vcc-Rc hFE IB可被 IB 操控。假设三极管在饱和区,IB 很大,VBE = 0.8 V,VCE = 0.2 V,VBC = 0.6 V,B-C 与B-E 两接面均为正向偏压,C-E间等同于一个带有0.2 V 电位落差的通路,可得I c=( Vcc - 0.2 )/ Rc ,Ic 与 IB
15、无关了,因此时的IB大过线性放大区的IB 值, IchFE IB 是必然的。三极管在截止态时 C-E 间如同断路,在饱和态时C-E 间如同通路 (带有0.2 V 电位降),因此可以作为开关。控制此开关的是 IB,也可以用 VBB 作为控制的输入讯号。图3.3和图3.4分别显示三极管开关的断路、通状态,及其对应的等效电路。 图3.3 三极管断路等效电路 图3.4三极管通路等效电路3.5 改进型电子开关改进三极管开关:因为三极管由截止区过度到饱和区需经过线性区,开关的效果不会有明确的界线。所以会导致电路开关效果不明显,使单片机记录产生误差不能精确算出中断次数。为使三极管开关的效果明确,可串接两三极
16、管,电路如图3.5所示。图3.5 改进型电子开关假设单独一个管子做开关电路,其截止工作状态是基极电压在0-0.7V(PN结正向电压)这个范围内都是截止的,但是电压增大,可能有漏电流增大,开关效果不好。而当用两个管子做开关的话,后面(带LED灯那个管子)的管子其基极电压只有最大电压12V(前面管子截止)和0.2V(前面一个管子导通)两种电压,这样就是完全的开或者关状态了,而不是有个0-0.7的中间电压。以上可以看出几乎任何一种型号三极管都可一做为电子开关来使用,如果条件允许也可用来控制加热设备。可见开关三极管只是一个笼统的概念,不过市面上也有少数的专用开关三极管出售。故用两个三极管构成了一个改进
17、的电子开关,提高了精确度。4 低频弱信号测频系统参数计算和器件选择4.1 参数计算 根据三极管的工作特性,设定基极电阻为280K,集电极电阻为3K,可用电流和电压表测出输入输出电压并根据公式4.1计算出三极管的放大倍数。 =UoUi (4.1)根据输入电压Ui=0.027V和输出电压Uo=0.23V,带入公式可知电压放大倍数约为10。通过以上数据通过公式4.2计算三极管的Q值 IBQ= VCC-VBERb (4.2)4.2 元器件清单表 4.2 系统元器件清单类型 参数 数量电阻 280K 2电阻 3K 3电阻 100 2三级管 NPN 4整流器 BRIGE 1单片机 AT89C51 1晶振
18、CRYSTAL 1电容 35f 4排电阻 RESPACK-8 1按钮 BUTTON 1数码显示屏 7SEG-MPX4-CC 14.3 单片机最小系统4.3.1 晶振电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,如图4.1所示。晶振结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的
19、晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供根本的时钟信号。通常一个系统共用一个晶振,便于各局部保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。 晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。AT89C51使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。图4.1单片机外部晶振电路4.3.2 AT89C51单片机复位电路在电路图中,
20、电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以出 电容充电到电源电压的0.7倍单片机的电源是5V,所以充电到0.7倍即为3.5V,需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位RST引脚接收到的高电平信号时间为0.1S左右。在单片机启动0.1S后
21、,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。 图4.2 复位电路图5 低频弱信号测频系统源程序5.1 程序流程图设计开始单片机初值设定中断子程序是否到时间计算过零次数输出到数码管结束中断发生是中断子程序计
22、数值加一中断返回否否是5.2 源程序设计5.2.1 程序总体分析频率即为1S内信号周期变化的次数,据此可在1S内测定信号的过零点次数即为信号的频率。首先确定单片机的初值。使用T0作为计时器,和使用方式1作为计时方式,并以查询的方式并使用INT0作为外部中断。故需对TCON存放器和TMOD存放器以及IE存放器进行初值计算。5.2.2 TCON存放器初值设定TCON的作用是控制定时器的启、停,标志定时器溢出和中断情况。图5.1 TCON存放器结构图各位定义如下:TF1:定时器1溢出标志位。当定时器1计满溢出时,由硬件使TF1置“1,并且申请中断。进入中断效劳程序后,由硬件自动清0,在查询方式下用软
23、件清“0。TR1:定时器1运行控制位。由软件清“0关闭定时器1。当GATE=1,且/INT1为高电平时,TR1置“1启动定时器1;当GATE=0,TR1置“1启动定时器1。TF0:定时器0溢出标志。其功能及操作情况同TF1。TR0:定时器0运行控制位。其功能及操作情况同TR1。IE1:外部中断1请求标志位。IT1:外部中断1触发方式选择位。当IT1=0,为低电平触发方式;当IT1=1,为下降沿触发方式。IE0:外部中断0请求标志位。IT0:外部中断0触发方式选择位。 当IT0=0,为低电平触发方式;当IT0=1,为下降沿触发方式。所以设定TCON初值为:00000001。5.2.3 TMOD存
24、放器初值设定TMOD:定时器/计数器模式控制存放器(TIMER/COUNTER MODE CONTROL REGISTER)定时器/计数器模式控制存放器TMOD是一个逐位定义的8位存放器,但只能使用字节寻址,其字节地址为89H。其格式为:图5.2 TMOD结构图其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明:GATE门控制。GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。当INT0引脚为高电平时TR0置位,启动定时器T0;当INT1引脚为高电平时TR1置位,启动定时器T1。GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。C/T
25、功能选择位C/T=0时为定时功能,C/T=1时为计数功能。置位时选择计数功能,清零时选择定时功能。M0、M1方式选择功能由于有2位,因此有4种工作方式M1M0 工作方式 计数器模式 TMOD(设置定时器模式),0 0 方式0 13位计数器 TMOD=0x00,0 1 方式1 16位计数器 TMOD=0x01,1 0 方式2 自动重装8位计数器 TMOD=0x02,1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 。因为选用T0并用方式1计时,故TMOD初值设定为00000001。 单片机晶振频率为12MHZ,那么经过12分频后,每个机器周期Tcy应为1s。因为方式1计时最
26、大值为216=65.536ms,因此采用循环计数的方式实现。为了便于循环,可选定计时50ms,循环20次即为1s。定时50ms,计数次数应为50ms/1s=501000=50000。T0初值即为65536-50000=15536,15536转换为16进制即为3C0BH。故TH0初值为3CH,TL0初值为B0H。5.2.4 IE存放器初值设定CPU对中断源的开放或中断屏蔽的控制是通过中断允许存放器IE设置的,IE既可按字节地址寻址其字节地址为A8H,又可按位寻址。AT89S52单片机中的6个中断矢量都是可屏蔽中断,通过对IE的某些位置位和清0,允许或禁止某个中断,当对IE的EA位清0时,屏蔽全部
27、中断源。IE结构如图5.3所示:图5.3 IE存放器结构图EA为中断总开关,ES为串口中断允许,ET1和ET0为T1、T0中断允许位,EX1和EX0为外部中断INT0和INT1中断允许位,故IE存放器初值为10000001,转换为16进制即为81H。在C语言中:外部中断0INT0,对应中断号是0, 中断入口地址0003H。定时/计数器0T1,对应中断号1 ,中断入口地址000BH。外部中断1INT1,中断号2 入口地址0013H。定时/计数器1T1中断号3 入口地址001BH。串行口中RI/TI中断号4 入口地址0023H。所以序中断标号选用0。在C语言中无符号字符型(unsigned cha
28、r)值域为0到255,而我们要记录的数据大于255,故变量选用无符号整型(unsigned int),其值域为0到65535。5.2.5 程序源代码 #includereg51.hunsigned char c=0; sbit P20=P20;sbit P21=P21;sbit P22=P22;sbit P23=P23;unsigned char a,i;unsigned int t=0;unsigned char bw,sw,gw;unsigned char tab=0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;unsigned char
29、 tab2=0xbF,0x86,0xDB,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF; void into() interrupt 0 c=c+1; void main() TMOD=0x01; TH0=0X3C; TL0=0XB0; TCON=0x01; IE=0X81; TR0=1; while(1) while(t!=20)if(TF0=1)t+;TF0=0;TH0=0X3C;TL0=0XB0; IE=0x00; TR0=0; a=c; bw=a/100; sw=(a-bw*100)/10; gw=a-bw*100-sw*10; P23=0; P0=tabbw;
30、for(i=0;i25;i+); P23=1; P22=0; P0=tabsw; for(i=0;i25;i+); P22=1; P21=0; P0=tab2gw;for(i=0;i25;i+); P21=1; P20=0; P0=0x3F;for(i=0;i25;i+); P20=1; 6 低频弱信号测频系统调试及测试结果与分析 6.1 实验调试连接好个各局部电路,在两级三极管放大局部调整静态工作点,使信号不失真。在整流电路局部保证信号不失真。6.2 实验结果如图6.1所示为最终结果显示图6.1 数码管显示总结本次课程设计让我受益匪浅,我更加深刻的理解了课本上的知识,很多平时模棱两可的知识点
31、都认真复习并实践了。我对电子电路设计提升了认识,我意识到我们现在,所学的知识将来都是要付诸实践的,所以一切都要从实际出发、理论联系实际,这样才能正确发挥我们所具备的能力。在这次课程设计中,我明白了课程设计的任务一般是设计,组装并调试一个简单的电子电路装置。需要我们综合运用?模拟电子技术根底?课程的知识,通过调查研究、查阅资料、方案论证与选定;设计和选取电路和元器件;组装和调试电路;测试指标和分析讨论,完成设计任务。在这次课程设计中,我学会了怎样根据课题的要求去设计电路和调试电路,动手能力得到很大提高。从中我发现自己并不能很好的熟练使用我所学的模电知识。在以后学习中我要加强对使用电路的设计和选用
32、能力,但由于电路比拟简单、定型,不是真实的生产和科研任务,所以我们根本上能有章可循,完成起来并不困难。把过去熟悉的定型分析和定量计算逐步和工程估算、实验调整等手段结合起来,掌握工程设计的步骤和方法,了解科学实验的程序和实施方案。这对今后从事技术工作无疑是个启蒙训练。通过这种综合训练,我们可以掌握电路设计的根本方法,提高动手组织实验的根本技能,培养分析解决电路问题的实际本领,为以后毕业设计和从事电子实验实际工作打下根底。致谢在这次课程设计的过程中,我得到了许多人的帮助。首先我要感谢我自己。紧接着,我要感谢老师,是老师给了我动力和方向。慢慢的了解了老师的良苦用心。桃李之言拳拳之心,让我真正了解了自己的知识水平,提醒自己努力求知,求实,求真的治学精神,让我明白了治学之心,不能浮于外表,要做到“板凳须坐十年冷,文章不写半句空刨根问底的了解学问,把知识从离散到连续,从点到线的贯彻。最后感谢所有在设计中曾经帮助过我的良师益友和同学参考文献1 杨素行.模拟电子技术根底简明教程. 高等教育出版社.20052 王立欣.电子技术实验及课程设计.哈尔滨工业大学出版社.20033 曲学基 王增福 曲敬凯.稳定电源实用电路选编.北京电子工业出版社.20034 何希才 姜余祥. 新型稳压电源及其应用. 国防工业出版社.20065 张东阳 李洪奎 岳明凯.单片机原理与应用系统设计实用教程.202120