单片机频率计数器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程名称:单片机课程设计
题目:基于单片机的频率计数器设计
学院:环境与化学工程系:过程装备与测控工程
专业:
班级:
学号:
学生姓名:
起讫日期:
指导教师:
摘要
数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。本课程设计主要设计一个简易的频率计,来实现信号在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)
四、软件设计 (4)
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 上电复位电路
复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。其作用是使CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。而复位是一个很重要的操作方式,但单片机本身是不能自动经行复位的,必须配合相应的外部复位电路才能实现。本设计的复位电路采用上电复位加按键手动复位,其电路如下图所示:
图2 上电复位电路
3.1.2 晶振电路
单片机工作是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲是单片机控制器中的时序电路发出的。单片机的时序就是 CPU 在执行指令时所需控制信号的时间顺序。为了保证各部件的同步工作,单内部电路应在唯一的时钟信号下严格按时序进行工作。其电路原理图如下:
图3 晶振电路
3.2 LED数码管显示电路
显示器是微机重要的输出设备。显示器有显示监控结果、提供用户操作界面等功能。在本次设计中采用了 LED 显示器,即数码管。数码管的每一个数码段是一只发光二极管。当发光二极管导通时,相应的一个点或者一个笔画发光,控制发光二极管发光组合,可以显示出所需字符。我采用了共阴极结构。在定义其显示字形的码段时,通过 I/O 口送出七段码其段码表如下: