基于AT89C51单片机的量程自切换频率计
2 软件设计
在单片机应用系统的开发过程中,C语言的应用最为广泛。C语言不仅能直接对计算机的硬件进行操作,而且语言灵活、程序结构良好、代码效率高、可移植性好。
2.1 系统总流程图
流程图分析:当电源开启后,系统进行初始化,系统开始运行,单片机内部开始判断输入信号频率的高低,按从高到低的顺序进行分频测算从而得到合适的分频系数来控制数据选择器实现对信号进行分频处理,根据频率的高低范围来确定点亮相应的量程指示灯以及确定要显示小数的位数,最后将倍频后的结果通过动态扫描的显示方式在四位数码管上显示出相应的测量结果。系统总流程图如图8所示。本文引用地址:https://www.eepw.com.cn/article/170617.htm
2.2 量程显示的程序流程图
流程图分析:在系统确定了量程范围后,根据不同的量程范围分别电路不同颜色的量程指示灯:当频率范围在0~9999Hz时,绿色的发光二极管点亮;频率范围在10~999.9kHz时,黄色的发光二极管点亮;当频率范围在1~20 MHz时,红色的发光二极管点亮。显示量程的程序流程图如图9所示。
3 电路调试与结果
系统的调试主要从软件调试和硬件调试两方面着手,当然,所有的一切都是为了实现既定任务为目标的。软件调试和硬件调试过程是紧密相关、互相配合的,本次频率计设计重点是对软件程序的调试。
利用函数信号发生器输入正弦信号分别为279 Hz时,观察数码管的结果。得到结果如图10所示。
利用函数信号发生器输入方波信号分别为680 kHz时,得到结果如图11所示。
利用函数信号发生器输入锯齿波信号分别为2.76 MHz时,观察数码管的结果。得到结果如图12所示。
利用函数信号发生器输入三角波信号分别为583 Hz时,观察数码管的结果。得到结果如图13所示。
4 结论
本设计经Keil软件进行调试后在Proteus软件中进行仿真,并且经过实物的测试,实现了对方波、三角波、锯齿波、正弦波的频率进行测量。具有自动切换并指示量程,精度较高,测量范围较大等特点,符合电子仪表的发展趋势,具有一定的实用价值。
评论