商丘学院本科毕业设计(论文)
2 系统总体设计方案
本设计采用国产宏晶公司的STC89C52RC单片机做核心控制器件。硬件电路系统主要可分为以下6大模块:单片机控制模块、信号放大、信号整形、分频模块、显示模块,电源模块。各模块关系如图2.1所示。
信号放大 信号整形 分频电路 5V电源 单片机 STC89C52 1602液晶显示
图2.1 各模块的总体框
图
本设计主要研究以STC89C52RC单片机为控制核心辅以信号处理电路实现对输入信号的频率进行测量。利用单片机的定时计数功能来实现频率的检测并把测出的频率数值送到液晶显示电路显示。
通过信号预处理电路,包括信号放大电路、信号整形电路和分频电路,将各种输入信号进行处理,使信号变成高低电平形式的矩形波信号,然后和单片机开始对接,用52单片机的定时/计数器和编写的程序指令进行处理和计算,最终把测出的频率数据送到显示电路显示。
本设计所使用的原件较少,电路原理简单易懂,方便调试。是一种不论硬件实现还是检测的精确度和检测的范围指标都比较合适的方案。本设计方案能够实现的具体要求如下:
①能测出正弦波、矩形波、锯齿波等波形的频率。
②频率的测量范围为1Hz—20MHz。(当输入频率大于200KHz的信号时,由于采用了100分频采样,显示结果稍有误差。)
③通过1602液晶显示器显示即时频率值。
2
商丘学院本科毕业设计(论文)
3 系统电路设计与分析
3.1 单片机控制模块
本设计采用宏晶公司的STC89C52单片机为主控器件,用它来完成待测信号的计数和显示以及对分频的控制。使用单片机内部的定时/计数器来测量待检测信号的频率。STC89C52芯片的内部拥有三个定时/计数器,用编写程序来达到定时、计数和产生计数溢出时中断请求的目的[3]。 3.1.1 STC89C52管脚功能说明
本设计单片机使用双列直插DIP-40的封装,STC89C52RC单片机管脚如下图3.1所示。
图3.1 STC89C52RC管脚图
由于STC89C52单片机的管脚及功能介绍比较繁琐且相对基础,在此,本人不再全部详细赘述。只说明与本作品有关的部分:
VCC(40管脚):电源输入,接+5V电源 VSS(20管脚):接地线
P0口(P0.0~P0.7,39~32管脚):P0端口为漏极开路的八位双向I/O口。身为输出口,它的每个管脚可以驱动八个TTL负载,对P0口写进高电平1时,能够当做高阻抗输入。在访问数据存储器和外部程序时,P0端口也能够提供八位地址和八位数据的复用总线。这时,P0口内部的上拉电阻无效。在Flash ROM编程的时候,P0端口接收指令字节;但校验的话,却输出来指令字节。验证的时候,需要外接上拉电阻。
P1口(P1.0~P1.7,1~8管脚):P1口是内部含有上拉电阻的八位双向I/O口。P1端
3
商丘学院本科毕业设计(论文)
口的输出缓冲器能够驱动四个TTL的输入。在对端口写进高电平1的时候,内部上拉电阻把该端口拉到高电平状态,此时候能够当输入端口。P1端口当成输入端口的时候,因它的内部含有上拉电阻,被外部拉低的管脚就会输出一个电流。
而且,P1.0和P1.1还能够当做定时/计数器2的外部计数输入和定时/计数器2的触发输入。
如表3.1所示:
管脚编号 P1.0 P1.1 表3.1 P1.0和P1.1管脚复用功能 功能与特性 T2(定时器/计数器2外部计数输入和时钟输出) T2EX(定时器/计数器2捕获/方向控制和重装触发) P3端口(P3.0~P3.7,10~17管脚):P3为内部含有上拉电阻的八位双向I/O口,除此外它还有一些复用功能。
如下表3.2所示:
管脚编号 P3.4 P3.5 表3.2 P3端口管脚复用功能 复用功能 T0(定时器0的外部输入) T1(定时器1的外部输入) RST(9管脚):复位输入管脚。 XTAL1(19管脚):振荡器反相放大器和内部时钟发生电路的信号输入端。 XTAL2(18管脚):振荡器同相放大器的时钟信号输入端。
EA/VPP(31管脚):为了执行内部程序指令,EA错误!未找到引用源。应该接VCC[4]。
3.1.2 复位电路
复位就是让单片机恢复初始化状态,单片机系统在上电启动运行时,都需要复位。它的主要功能即将CPU初始化为0000H状态,让单片机从0000H执行指令程序。不仅在系统开始执行的时候需要用到复位,由于程序在运行时出错或是操作上的错误导致系统死机跑飞时,为恢复正常,也就按复位按键来重新启动。RESET管脚是复位信号的输入端。复位信号是高电平有效,它的有效时间应保持大于2个机器周期(即大于二十四个振荡脉冲周期)。如果用12MHz的晶振,那么复位信号保持时间应大于2μs才能实现复位操作[5]。
单片机的外部复位电路包括上电后自动复位与按键手动复位这2种。
上电后自动复位是靠电容的充放电实现的。在时钟电路工作以后,在RESET端连续给出两个机器周期的高电平信号就能够完成复位操作。通过选用合适的电阻、电容就能够使复位信号高电平持续的时间大于2个机器周期。
4
商丘学院本科毕业设计(论文)
图3.2 按键手动复位
单片机的另一种复位方式是按键手动复位,本系统可实现按键手动复位,电路如图3.2所示。当复位键按下后,电容迅速放电,使RESET管脚为高电平,但复位键弹起后,电源通过10K电阻对电容重新充电,RESET管脚出现复位需要的正脉冲信号。 3.1.3 时钟电路
时钟电路用于产生单片机工作所需要的时钟信号。单片机本身就如一个复杂的同步时序电路,为保证同步,电路要在特定的时钟信号控制下,绝对依照规定的时序工作。
时钟频率高的话,程序会运行的更快,也就能够达到更高的采样率,也就可以实现更多的功能。但是高频对系统的要求高,功耗大,运行环境苛刻。因为单片机本身主要是用于控制,不是对高速信号进行采样和处理,因此要选择适当的频率。选择最佳频率的石英晶体对系统的和简介性准确度是很有利的,这里选取12.000M无源石英晶体接入单片机18和19管脚。同时并联两个30pF瓷片电容帮助起振。从而可以保证振荡器电路的稳定性和快速性。在设计电路板时,晶振和电容等应尽可能靠近芯片,以减少分布电容,保证振荡器振荡的稳定性[6]。时钟电路如图3.3所示。
图3.3 单片机时钟电路
5
商丘学院本科毕业设计(论文)
3.2 信号放大模块
在实际测量信号频率的的过程中,由于被检测的信号幅值不是确定的,有可能会非常小,为了有效防止因信号过小而造成的检测障碍,在信号输入处采用了三极管共射放大电路来放大信号,以保证信号被稳定检测到。 3.2.1 信号放大电路
图3.4 三极管共射放大电路
放大电路就是将待测信号进行放大,防止因信号过小而造成的检测障碍。在信号输入处采用了三极管共射放大电路,如图3.4所示。在现实的设计过程中,我们必须解决放大电路与信号源及放大电路与负载之间的耦合问题。一方面要求耦合电路可以传输交流的输入和输出信号,使传输过程中信号的损耗尽可能减小;另一方面又要求信号源,放大电路、负载之间的直流工作状态互不影响,即有“隔直”作用,电路的C1、C7就很好的解决了这个问题即固定偏置共射极放大器。集电极电压通过基极偏置电阻R2使晶体管Je正偏;同时通过R3使Jc反偏,从而实现信号源放大。 3.3 信号整形模块
我们知道,单片机只能对矩形波脉冲进行计数,然而实际中需要测量的信号是无规律的各种各样的,有矩形波,还有可能是正弦波、三角波、锯齿波等,所以需要一个电路把待测信号处理成可以进行计数的矩形波信号。
信号整形模块就是将待测信号进行波形整理,有效的传输给单片机主控模块和分频模块。它能够把输入的矩形波、三角波、正弦波等信号处理成频率相同,幅值相同的矩形波信号。小信号经过放大、整形有效地提高了系统检测的灵敏度和精确度。
6