基于AT89S52单片机的数字频率计的设计
时间:08-13 10:36 阅读:1911次
*温馨提示:点击图片可以放大观看高清大图
简介:本系统采用AT89S52单片机作为控制核心,把经处理的被测信号(单片机30脚输出经CD4013分频的自测信号)给单片机(P3.4端),再由单片机处理,通过LCD显示模块显示测得的频率值,所有的系统均由AC220V-DC5V底纹波电源模块供电。
1、系统设计
整体设计思路可用框图1表示,该设计包括4大模块:
1)系统控制模块;
2)低纹波电源模块;
3)分频自测模块(外界信号采集模块);
4)液晶显示模块。
图1整体思路框图
2、硬件部分设计
2.1系统控制模块
系统控制采用的是一种高性能低功耗的工艺制造的8位CMOS微控制器AT89S52单片机,它提供下列标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,一个5中断源两个优先级的中断结构,一个双工的串行口,片上振荡器和时钟电路,单片机系统电路如图2所示。
图2单片机系统电路
2.2低纹波电源模块
本系统电源完全采用220V交流电,经过二极管桥式整流和电容滤波,再由9014和TOP46协同确保较大且稳定的电流。由R2、D2、Q4等确保5V电压,并且系统内部有过流保护,保证输出电流不会超过最大允许值。输出电流达到允许的最大值,它就会自动减小输出电流。它内部有工作区限制,使稳压器的工作不进入非安全区(输出管的管压降和输出电流小于规定值)。最终输出波纹小于4MV的5V电压,确保了在测试频率时不受电源的影响,电源电路如图3所示。
图3电源电路
2.3分频自测模块
本系统为了方便检测,利用了89S52的ALE(30脚)完成了自检功能,完成此项功能还需要CD4060的辅助(完成14分频)。CD4060表示14位二进制串行计数器,引脚及功能略;CD4060由一振荡器和14级二进制计数器位组成,振荡器的结构可以是RC或晶振电路。CR为高电平时,计数器清零且振荡器使用无效,所有的计数器位均为主从触发器CP1非(和CP0)的下降沿计数器以二进制进行计数,在时钟脉冲线上使用施密特触发器对时钟上升和下降时间无限制。其在系统中的电路构成在后面的整体仿真图有阐述。根据系统框图的介绍,一般采用从外界接收正弦波、方波、三角波并进行测量周期的方法,如要进行对外界接收正弦波、方波、三角波、进行测量,必须经过放大(衰减器、放大器)、整形(施密特触发器、跟随器)两个过程才能转换成标准测量方波,送到闸门以便计数。而需完成放大整形过程是由于输入的信号幅度是不确定的,可能很大也可能很小,这样对于输入信号的测量就不方便了,过大可能会把器件烧毁,过小可能器件检测不到,所以在设计中应考虑对输入波形进行放大限幅、整形和阻抗变换(运算放大器构成的射极跟随器其阻抗变换作用,使输入阻抗提高)。
2.4LCD显示模块
1602ALCD具有耗电省、寿命长、显示信息量大等特点,因而得到广泛地应用。为实现设计要求的显示信息,本文采用1602LCD液晶模块实现显示信息的简略系显示。如比分信息以代号得方式显示。当然用128*64LCD显示效果更好,但出于实用性和价格的考虑,文中选用1602A-LCD完成设计要求。
3、软件设计流程图
根据设计原理其工作过程就是直接用十进制数字显示被测信号频率的一种测量方法。为了做到测试和读数方便,本设计让其做到自动换挡,即在每个档位(Hz、kHz)端设计了一个标准频率(如100Hz)。在对信号测量时,直接由单片机采样并与标准频率相比较,划分档位区间,在输出显示。本设计中主要程序流程如图4所示。
图4程序流程图
部分主要程序: