第一范文网 - 专业文章范例文档资料分享平台

基于单片机的数字频率计的课程设计 1HZ-10MHZ概要

来源:用户分享 时间:2025/5/28 15:35:55 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

图7 两种数码管内部原理图

因为这里用的是共阳极数码管,它的公共端为高电平,因此要让其中各段(DP,A,B,C,D,E,F,G)的发光二极管发光,只要使它另一端置为低电平,即置0。 3.4.1 频率数值显示电路

图8共阳极数码管显示电路图

3.4.2 频率数值单位显示电路

图9 LED档位指示电路

四、系统软件设计

本文中系统软件设计采用模块化设计,整个系统分为初始化模块、频率测量模块、量程自动切换模块和显示模块等。

整个系统软件设计的程序由C语言编写,通俗易懂。 系统软件设计模块框图:

图10系统软件设计模块框图

4.1 开始

程序预处理,先声明头文件,定义一些变量。 程序入口,main()函数框图:

图11 主函数框图

4.2 初始化模块

初始化模块初始化分频器、量程档位、LED显示、工作寄存器、中断控制和定时/计数器的工作方式等。

4.3 频率测量模块和量程自动切换模块

经过初始化计数器1,每一次下降沿触发一次计数器1中断,每次中断执行中断处理程序则fCnt加1,因此fCnt为信号下降沿次数;经过初始化定时器0, 每50ms触发一次定时器0中断,每次中断执行中断处理程序则对数据下降沿次数fCnt进行处理,通过对数据的大小判断实现量程自动切换等,从而计算出信号的频率,然后调用显示模块把频率值显示出来。其中,16位定时/计数器的最高计数值为65535,因此,还需要先由硬件十分频后,再有定时/计数器对被测信号计数,加大测量的精度和范围。

计数器0(或者1)和定时器2的中断处理框图:

图12 计数器0(或者1)中断处理 图13定时器2中断处理

量程自动切换模块框图:

图14 量程自动切换程序总流程图

4.4 显示模块

显示程序将频率值和量程档位在数码管和LED管显示出来。由于所有4位数码管的8 根段选线由单片机的P0口控制,因此,在每一瞬间4位数码管会显示相同的字符,要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管,即在每一瞬间只点亮某一位显示字符,由P1.0-P1.3逐位轮流点亮各个数码管,在此瞬间,段选控制口P0输出相应字符。P2.4-P2.6控制三个发光二极管,通过光颜色的不同表示量程档位的不同。

P1.0-P1.3对应共阳极数码管的1,2,3,4;P0.0-P0.7对应共阳极数码管的A,B,C,D,E,F,G,DP;P2.4-P2.6对应发光二极管的颜色:绿色(MHZ档),黄色(KHZ),红色(HZ)。发光二极管全亮表示所测信号频率超出测量范围。

显示模块框图:

图15 显示子程序流程图

4.5 延时模块

延时模块框图:

图16 延时程序流程图

基于单片机的数字频率计的课程设计 1HZ-10MHZ概要.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c57mh63h1s07f1wl0k4bu3bj0w6iip0013ni_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top