单片机驱动的频率计数器设计与实现

版权申诉
0 下载量 31 浏览量 更新于2024-06-27 收藏 436KB DOC 举报
"基于单片机的频率计数器课程设计" 这篇文档详细介绍了基于单片机的频率计数器的设计过程。设计的目标是构建一个能够测量0-250kHz信号频率的计数器,误差控制在±1Hz以内。核心组件是AT89C51单片机,该单片机具有四个KB的闪存,支持低电压操作和高性能的8位处理。 在硬件系统设计中,单片机负责整个系统的控制。AT89C51具备五个中断源和两个定时/计数器(T0和T1)。其中,T1用于对输入信号进行计数,最高计数频率受限于单片机的晶振频率,最大为0.5MHz。T0则定时1秒,用于停止T1的计数并读取计数值。状态译码器74LS138用于控制数码管的显示,它有六个状态,分别连接到数码管的位选线上,实现对显示内容的控制。数据显示电路由限流电阻和7段数码管构成,用于将计数结果以视觉形式呈现。 在软件系统设计方面,程序设计包括1s定时、T1计数、进制转换和数码显示等功能。1s定时确保在每个秒间隔内更新频率计数;T1计数程序记录输入信号的周期;进制转换将计数值转化为适合显示的格式;数码显示程序则负责驱动数码管,将处理后的数据呈现出来。此外,程序调试是关键环节,确保所有功能正确无误。 设计总结体会部分强调了通过此项目,学生不仅掌握了单片机系统设计的基本原理,还提升了自学、创新思维和问题解决能力,为未来实际工作积累了宝贵经验。 参考文献和附录提供了进一步的技术细节和可能的参考资料,帮助读者深入理解频率计数器的设计与实现。
2023-02-27 上传
课程设计报告 课程名称: 单片机课程设计 题 目: 基于单片机的频率计数器设计 学 院: 环境与化学工程 系:过程装备与测控工程 专 业: 班 级: 学 号: 学生姓名: 起讫日期: 指导教师: 摘要 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它 是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信 号,方波信号以及其他各种单位时间内变化的物理量。本课程设计主要设计一个简易的 频率计,来实现信号在0-9999HZ范围内周期变化的方波频率的测定。 该文主要介绍了基于STC89C52 单片机频率计的设计方案和实现方法,该系统主要由硬件和软件两部分组成,其中重点 给出了具体硬件电路图和软件流程图以及具体工作原理。 硬件部分通过洞洞板的布线设计帮助,可以确保焊接时尽量少的飞线和出错。软件通过 keil µ vision编译及调试,其中在P1.7口编入了一个5500HZ的方波,用以仿真调试该频率计的 软硬件功能是否能够实现输出频率的功能。另外,本设计多增加了一个按键功能,通过 一个按键来控制定时计数器的开始和关闭。该频率计还带有3*3的矩阵键盘,可以作为扩 展应用区,通过编程实现。本设计中用的是LED共阴数码管,输出频率时采用的事动态显 示的方法。 关键词:频率计;单片机;动态显示 目录 一、频率计数器的设计任务和要求 1 1.1 频率计数器的设计任务 1 1.2 设计要求及发挥部分 1 二、方案的总体设计 1 2.1 方案的设计 1 2.2 方案的整体框图 2 2.3 方案的说明 2 三、 硬件设计 2 3.1 单片机的最小系统 2 3.1.1 上电复位电路 2 3.1.2 晶振电路 3 3.2 LED数码管显示电路 3 3.3 整体电路 4 四、 软件设计 5 4.1 程序流程图 5 4.2 初始化子函数 5 4.3 延时子函数 5 4.4 中断子函数 5 五、 系统的调试和说明 6 5.1 C程序的说明 6 5.2 C程序编译的结果 6 5.3 实物图 7 六、 设计总结与心得体会 8 6.1设计总结 8 6.2 设计心得 9 七、 参考文献 9 附录 10 一、频率计数器的设计任务和要求 1.1 频率计数器的设计任务 本课程设计任务主要是基于单片机系统,通过软件、硬件的调试,完成一个具有 计数功能的频率计数器。 1.2 设计要求及发挥部分 1.设计要求主要有: 设计的方案合理、正确; 完成系统硬件的设计及正确焊接; 完成系统软件的设计与调试; 2.发挥部分: 本课程设计的发挥部分较小,只再增加了一个按键来控制定时器,计数器的开始 。 二、方案的总体设计 2.1 方案的设计 本课程设计的基于ATMEL公司STC89C52单片机的频率计数器,是利用该52单片机内部 的定时计数器来完成待测信号频率的测量。 STC89C52单片机内部具有2个16位的定定时计数器T0与T1,可以通过编程来实现所需 要的功能。定时/计数器T0与T1的核心都是16位的加1计数器,TH0与TL0构成 在构成定时器/计数器T0加1计数器的高8位和低8位;TH1与TL1构成在构成定/计数器T1加 1计数器的高8位和低8位。加1计数器的初值可以通过程序设定,这样就可以获得不同的 计数器初值或定时时间。加1计数器用作定时器时,每个机器周期加1,这样以机器周期 为基准可以用来测量时间间隔。定时/计数器用作计数器时,在相应的外部方波从1到0的 跳变时计数器加1,这样在计数闸门的控制下可以测量待测信号的频率。定时/计数器的 工作由响应的运行控制位TR控制,当TR置1时,定时/计数器开始计数,当TR置零时停止计 数。 在本设计方案中,我在程序中设定T0工作在计数状态,T1工作在计时状态下。T0计数器 对输入信号进行计数,由于信号的频率就是每秒钟信号的脉冲个数,于是我让T1工作在 定时状态下,定时时间为1秒。每定1秒钟到,就停止T0的计数,然后从T0的计数单元中 读取计数的数值,即完成了信号的频率测量。最后通过四位数码显示出频率值。 由于要尽可能的使用最少的元件,在满足设计要求的前提下,我将P1.7口与P3.4口( 即T0)用导线连接,在设定程序时,利用T1定时的同时在P1.7口输出一个设定好的方波 ,以便直观的检测频率计数器的软件、硬件是否达到设计的基本功能。 2.2 方案的整体框图 图1 系统总体框图 2.3 方案的说明 本课程设计采用内部给定的方波来实现频率计数的功能,缺陷在于只能测得一个 方波的频率,但是这个方波的输入意在便于检测设计的软、硬件的功能是否实现,若 功能可以实现,则可用于测量外部输入的0--10000HZ之间的任意频率值。 硬件设计 3.1 单片机的最小系统 3.1.1 上电复位电路 复位是单片机的初始