数字频率计.docx
- 文档编号:4064116
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:59
- 大小:1.05MB
数字频率计.docx
《数字频率计.docx》由会员分享,可在线阅读,更多相关《数字频率计.docx(59页珍藏版)》请在冰点文库上搜索。
数字频率计
《单片机技术》课程设计说明书
数字频率计
学院:
学生姓名:
指导教师:
专业:
班级:
学号:
完成时间:
湖南工学院《单片机技术》课程设计课题任务书
指导教师
学生姓名
课题名称
数字频率计
内容及任务
一、设计任务
设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。
二、设计内容
1、频率计的硬件系统
(1)、单片机最小系统模块
(2)、供电模块
(3)、显示模块
(4)、键盘模块
2、频率计的软件系统
(1)、系统监控程序模块
(2)、显示程序模块
(3)、键盘程序模块
(4)、频率测量程序模块
(5)、周期测量程序模块
(6)、脉宽测量程序模块
(7)、占空比测量程序模块
三、设计要求
该频率计上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态。
按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。
被测信号频率范围:
10Hz至500KHz。
主要参考资料
[1]李广弟.单片机基础[M].第3版.北京:
北京航空航天大学出版社,2003.6.
[2]李全利.单片机原理及应用(C51编程)[M].北京:
高等教育出版社,2012.12.
[3]马忠梅.单片机的C语言应用程序设计[M].第4版.北京:
北京航空航天大学出版社,2003.6.
[4]李光飞.单片机C程序设计指导[M].北京:
北京航空航天大学出版社,2003.01.
[5]李光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版社,2004.9.
教研室
意见
教研室主任:
(签字)
年月日
摘要
在电子技术中,频率是最基本的参数之一,并且与许多参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。
传统的频率计通常是用很多的逻辑电路和时序电路来实现的,这种电路一般运行缓慢,而且测量频率的范围比较小。
考虑到上述问题,需设计一个具有测量迅速,精确度高,显示直观等优点的数字频率计。
数字频率计设计方案选择:
硬件系统以AT89S52单片机为控制核心,辅以12864液晶显示、键盘输入模块等电路实现数字频率计的基本功能;而软件包括以下模块:
主函数、液晶显示程序、键盘程序、频率处理程序。
具有一定的可行性。
设计系统以单片机为核心设计频率计,上电或按键复位后能够显示初始化界面,当输入周期的方波时,通过按不同的频率测量键,液晶屏能分别显示出测量的频率、周期、脉宽和占空比,并且具有清零、返回等功能,已达到且超过课题要求,具有一定的推广价值。
关键词:
频率计;单片机;12864液晶显示
目录
1绪论1
1.1数字频率计研究意义1
1.2实现功能2
1.3总体方案介绍2
1.4工作原理说明2
2数字频率计硬件系统设计4
2.1AT89S52单片机简介4
2.2电源电路5
2.3复位电路5
2.4晶振电路6
2.5下载电路7
2.6液晶电路7
2.7键盘电路9
2.8电路原理图9
2.9实物图9
2.10元器件清单9
3数字频率计软件系统设计10
3.1单片机资源使用10
3.2监控函数模块10
3.3液晶显示模块11
3.4按键程序模块11
3.5频率测量模块12
3.6周期测量模块12
3.7脉宽测量模块13
3.8占空比测量模块14
3.9系统程序清单14
4设计结果及误差分析15
4.1数字频率计使用说明15
4.2数字频率计调试结果15
4.3数字频率计误差分析20
4.4设计结论22
4.5设计体会22
结束语23
参考文献24
致谢25
附录26
附录A电路原理图26
附录B电路实物图27
附录C元器件清单27
附录D程序清单29
1绪论
1.1数字频率计研究意义
毋庸置疑,不管是在相关的科技研究中还是在日常的实际应用中,频率测量的重要作用越来越凸显出来,然而就一般情况来看,仅由一些诸如组合、时序电路等基本硬件电路构成的数字频率计,其体积大、使用不方便,而且其运行速度也较慢,灵活度不高,如若测量低频的信号时,则不适合直接使用。
为了满足生活中日益增长的需求,人们开始通过结合单片机的优越特性来获得较为精确的频率,其中它基于时间或频率的模数转换原理,同时借助数字电路技术来提高测量的精确度。
另一方面,结合单片机的数字频率计因其体积较小,运算速度较快,较宽测量范围等诸多优点,故而在现今科研领域中比传统频率计有着更普遍应用,更为重要的是,通常情况下,我们知道,仅由硬件组成的电路比有软件组成的电路更为复杂、繁琐,在出现差错时,更改硬件电路消耗的成本高、效率低,而经由软件编程就可以简单实现相应功能,由此它具有降低制作成本,提高使用效率的优点。
伴随着当今科技的跨越式发展,人们对电子产品的需求也日益增加,随后,低成本、高效率、精确性等优越特性日益成为人们力求达到的目标,就频率计而言,如若现如今还是借以传统方式来设计制造频率计,显而易见,不能满足人们不断增长的需求。
此时,数字频率计的优势就渐渐凸显了:
小巧轻便、集成度高、操作便捷、易于维护和修改。
这些优点无一不满足着这人们更高的需求,可以试想一下,改变程序中的一段程序指令显然要比检查电路、甚至重新制作电路板要便捷的多。
也正是由于基于单片机的数字频率计与传统的频率计相比,有着如此明显的优势,因此,我将基于单片机的数字频率计作为我的研究课题。
在检测系统设计中熟悉并了解将作为单片机为控制核心,并辅以以独立式键盘、人机界面以实现课题所要求的功能。
本课题主要要求掌握数字频率相应的软硬件实现方法。
扎实掌握并运用课题相关的学科理论知识,根据实际电路尽量设计制作出完美的频率计,以实现理论与实践的统一。
1.2实现功能
(1)数字频率计在上电或按键复位之后能显示初始化界面。
(2)频率计进入待测量状态。
(3)按对应的按键实现相应的功能:
按相应频率键可测量频率、周期、脉宽、占空比。
(4)重按该健可以进行重新测量。
(5)按返回键能返回到上一界面。
1.3总体方案介绍
硬件系统以AT89S52单片机为控制核心,辅以12864液晶显示、键盘输入模块等电路实现数字频率计的基本功能;软件系统包括主函数、液晶显示程序、键盘程序、频率处理程序。
采样的信号由P3.4端口引入,独立式键盘切换作为所需要测量的参数,LCD12864液晶屏作为参数测量输出显示。
用到AT89S52内部的定时器0、定时器1的定时与计数功能。
总体设计框图如图1所示。
图1总体硬件电路框图
1.4工作原理说明
(1)频率测量
频率,是单位时间内完成周期性变化的次数。
利用AT89S52单片机内部定时器0、定时器1的定时、计数功能,测量信号频率的大小。
信号从P3.4口引入,检测P3.4口信号的第一个上升沿到来,定时器1开始定时50ms,定时器0开始对P3.4口信号进行计数。
定时器0定时满20个50ms(1s)时,定时器1停止定时、定时器0停止计数。
假设50ms内定时器0计数为N,则该信号的频率为
(1)
(2)周期测量
利用AT89S52单片机内部定时器1的定时功能,测量信号周期的大小。
信号从P3.4口引入,检测P3.4口信号的第一个上升沿到来,定时器1以工作方式1开始定时,定时器1定时溢出,标志位count加一,直至第二个上升沿到来,定时器1停止工作。
则该信号的周期为
(2)
(3)脉宽测量
脉宽是脉冲宽度的缩写,脉冲宽度是高电平持续的时间。
利用AT89S52单片机内部定时器1的定时功能,测量信号脉宽的大小。
信号从P3.4口引入,检测P3.4口信号的第一个上升沿到来,定时器1以工作方式1开始定时,定时器1定时溢出,标志位count加一,直至第一个下降沿,定时器1停止工作。
则该信号的脉宽为
(3)
(4)占空比测量
占空比指高电平在一个周期之内所占的时间比率。
利用AT89S52单片机内部定时器1的定时功能,测量信号占空比的大小。
信号从P3.4口引入,检测P3.4口信号的第一个上升沿到来,定时器1以工作方式1开始定时,定时器1定时溢出,标志位count和m加一,直至第一个下降沿,得出脉宽的大小,如公式(3)所示。
定时器1继续以工作方式1工作,标志位count加一,直至第二个上升沿,定时器1停止工作。
得出周期的大小,如公式
(2)所示。
则该信号的占空比为
(4)
2数字频率计硬件系统设计
2.1AT89S52单片机简介
以AT89S52单片机为控制核心,外扩外围电路,完成频率计所需要的外围电路。
显示电路,键盘输入电路,复位电路等。
AT89S52单片机内部配以基本单元:
即三个定时/计数器、5个中断源。
可由编程来实现根据定时、计数时计数溢出而产生的中断申请信号中断功能,并由12864液晶对被测值进行显示。
AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。
AT89S52单片机的基本特点是低功耗、高性能,片内由4KB可编程/擦除只读存储器的8位COMS微控制器组成,通过结合高密度、非易失存储技术来保证单片机引脚与相应指令系统的高兼容度。
由于芯片里FLASH的存在,因此可以通过通用的非易失存储编程器实现在线编程以及重复编程等功能。
在通常情况下,当系统掉电时,数据存储器的内容立即会被保存下来,而此时单片机其他一切都会停止工作,直到产生下一个中断或硬件复位信号整个系统才会重新开始工作。
AT89S52的内部特点:
具有40个引脚、8K片内程序存储器空间、256B的随机存取数据存储器,32个外部双向输入/输出I/O口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个狗(WDT)电路,片内时钟振荡器。
AT89S52引脚图如图2所示。
图2AT89S52引脚图
2.2电源电路
电源电路是给数字频率计提供电源,此电路包括一个输入220V输出为15V的变压器,一个六脚开关,一个发光二极管、电容、电阻、导线组成。
其中根据经验值可取C1=2200µF,C2=470µF,C3=C4=0.1µF,R1=300Ω,其中C1与C3组成滤波结构,具有滤波作用,发光二极管的作用主要是:
运用二极管的单向导电特性来提示电源是否接通或观察电源是否一直保持通电正常、稳定,并且300Ω的电阻与二极管串联,其作用是保护二极管不会因为电流突然变大而被烧坏。
电源电路采用的是+5V直流稳压电源对整个系统进行供电。
如图3所示。
图3电源电路
2.3复位电路
复位电路的作用是按下复位键可以使显示界面回到最开始的地方。
课程设计按键复位电路由两个电阻一个电容和一个按键组成,大小分别为22µF,1K,200Ω,1KΩ电阻一端接电源,另一端接电容的正极接到单片机的复位引脚,200Ω电阻按键串联后与22µF电容并联,当按键按下时,200Ω电阻与VCC直接相连,和1KΩ电阻产生分压,在RST产生复位所需的高电平。
当按键松开的,VCC给电容充电,RST仍为高电平,而当电容充电完成后,相当于短路,则为低电平,正常工作。
复位电路如图4所示。
图4复位电路
2.4晶振电路
晶振电路的作用是产生单片机所必须的时钟频率。
单片机工作所需的同步时钟信号由由以下两种方法获得,第一:
由单片机片内时钟电路结合外部晶振、电容产生;第二:
直接从单片机外部引入脉冲信号。
设计中用第一方法,有石英晶体和微调电容(一般取值30pF左右)组成,石英晶体产生震荡,单片机振荡电路产生的脉冲信号称振荡信号,它的频率等于石英晶体的振荡频率(fosc),简称晶振频率,振荡脉冲信号还不是单片机工作所需的时钟信号,时钟信号必须由振荡脉冲信号经单片机片内时钟电路的处理后才能产生。
课程设计晶振电路主要由振荡电路和分频电路组成。
其中振荡电路由高增益反相器以及并联外接的石英晶体和电容构成产生振荡脉冲。
而分频电路则用于把振荡脉冲分频,已得到所需的时钟信号。
振荡电路由单片机芯片的XTAL1端输入,XTAL2端输出。
此时同时并接一个石英晶体振荡器以及两个33pF电容。
而AT89S52中自带有分频电路所以不需要外接电路对脉冲信号进行分频。
晶振频率是12MHz。
如图5所示。
图5晶振电路
2.5下载电路
由于AT89S52支持flash在线写入、擦除,所以下载电路是必不可少的部分。
由下载口进行单片机与电脑的连接。
并有下载电路产生电源提供给单片机工作。
主要是USB下载口(ISP)构成,1脚接P1.5;3脚接RET;4脚接P1.7;5脚接P1.6;10脚接VCC,6、7、8、9脚接GND;。
通过下载口实现计算机与单片机的通信。
如图6所示。
图6下载电路
2.6液晶电路
LCD12864显示器用于输入信号以及运算结果的显示。
内部的点阵液晶显示模块是由国标一级、二级简体的中文字库组成;其屏幕分辨率即为128×64,并且其内置8192个16×16点汉字,同时支持显示128个16×8点的ASCII字符集,该模块以灵便的对接方式、简便的操作指令,12864型LCD基本操作程序如表1所示。
表1LCD12864基本操作程序
操作
输入
输出
读状态
RS=L,R/W=H,E=H
D0—D7=状态字
写指令
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
无
读数据
RS=H,R/W=H,E=H
D0—D7=数据
写数据
RS=H,R/W=L,D0—D7=数据,E=高脉冲
无
电路主要由50K的滑动变阻电位器、可变换串行及并行通信方式的短接电路、供电电路构成,滑动变阻电位器主要用于调节LCD12864的亮度,LCD点阵SCLK(E)连至P26,点阵SID(RW)连至P25,点阵CS(RS)连至P24。
具体电路如图7所示。
图7液晶显示电路
2.7键盘电路
键盘电路的作用是给单片机系统提供输入信号。
通过外部按键使单片机接收信号,课程设计采用独立式键盘,主要由8个独立键盘组成,按键的一端并接在一起接地。
当按下某个键,该键处变为低电平。
如图8所示。
图8按键电路
2.8电路原理图
电路原理图见附录A
2.9实物图
实物图见附录B
2.10元器件清单
元器件清单见附录C
3数字频率计软件系统设计
应用C语言编来编写课题程序,它由监控程序、LCD12864显示程序、按键控制程序、延时程序等模块组成。
同时,也都给出了较为详细的流程图。
具体程序见附录D。
3.1单片机资源使用
P1:
基本输入输出口;
P2.6:
E(12864液晶);
P2.5:
RW(12864液晶);
P2.4:
RS(12864液晶);
P3.4:
T0(定时/计数器);
定时器1、计数器0。
3.2监控函数模块
主函数intmain(viod),用于设置初始化界面,调用各个主要模块,主要实现数字频率计的测试频率、周期、高脉宽、占空比整体功能。
相关程序流程图如图9所示,具体程序见附录D。
图9主函数流程图
3.3液晶显示模块
液晶显示是通过在主程序中调用相关的液晶功能函数来执行相应功能,经过液晶接在单片机上的P2部分管脚,通过液晶功能函数LCD12864()的调用对液晶进行操作,将各类指令写入液晶模块,用来驱动液晶以实现不同的显示功能。
简单来说,就是用作LCD12864液晶屏显示,将显示的数据以形参传送至LCD12864模块化函数中,将需要显示的内容显示在LCD12864液晶屏上。
相关程序流程图如图10所示,详细程序见附录D。
图10液晶显示流程图
3.4按键程序模块
当有操作按键按下时,单片机首先会先判断键值,然后依据判断出的键值来执行相应的键功能程序,并由液晶显示操作状态。
相关程序流程图如图11所示,详细程序见附录D。
图11按键程序流程图
3.5频率测量模块
当从单片机P3.4口有信号输入时,按下按键1,开始测量频率,通过监控函数进行处理之后,再由液晶显示所测的频率。
具体框图如图12所示。
详细程序见附录D。
图12频率测量流程图
3.6周期测量模块
当从单片机P3.4口有信号输入时,按下按键2,开始测量周期,通过监控函数进行处理之后,再由液晶显示所测的周期。
具体框图如图13所示。
详细程序见附录D。
图13周期测量流程图
3.7脉宽测量模块
当从单片机P3.4口有信号输入时,按下按键3,开始测量高脉宽,通过监控函数进行处理之后,再由液晶显示所测的高脉宽。
具体框图如图14所示。
详细程序见附录D。
图14高脉宽测量流程图
3.8占空比测量模块
当从单片机P3.4口有信号输入时,按下按键4,开始测量占空比,通过监控函数进行处理之后,再由液晶显示所测的占空比。
具体框图如图15所示。
详细程序见附录D。
图15占空比测量流程图
3.9系统程序清单
课题软件系统程序清单见附录D。
4设计结果及误差分析
4.1数字频率计使用说明
该设计能测量频率、周期、脉宽、占空比。
上电显示“湖南工学院”等字样,然后显示“1.测量频率”;“2.测量周期”;“3.测量脉宽”;“测量占空比”;在独立键盘摁下按键‘1’~‘4’进入对应的测量界面。
例如,摁下按键‘1’,进入频率测量界面,摁下按键‘2’,进入周期测量界面,摁下按键‘3’,进入脉宽测量界面摁下按键‘4’,进入占空比测量界面,当第二次摁下同样的按键时,表示重新测量,摁下按键‘RET’,表示返回初始测量界面,将信号引入到P3.4口,测量到的信号频率显示在LCD12864液晶屏上,且不断更新数据。
4.2数字频率计调试结果
各层界面显示以及测试的结果与示波器所测得图形及参数为:
(1)当上电显示后,显示的是初始化界面如图16所示。
图16上电显示界面
(2)当上电后3秒后,更新后的的界面如图17所示
图17上电三秒后显示界面
(3)当上电后6秒后,更新后的的界面如图18所示。
图18上电六秒后显示界面
(4)当输入信号为100HZ时,输入信号如图19所示。
图19输入信号显示界面
摁下按键1,测量的频率为100HZ。
如图20所示。
图20频率显示界面
摁下按键2,测量的周期为10.001ms。
如图21所示。
图21周期显示界面
摁下按键3,测量的脉宽为5.003ms。
如图22所示。
图22脉宽显示界面
摁下按键4,测量的占空比为50.0%。
如图23所示。
图23占空比显示界面
(4)当输入信号为2KHZ时,输入信号如图24所示。
图24输入信号显示界面
摁下按键1,测量的频率为2K2HZ。
如图25所示。
图25频率显示界面
摁下按键2,测量的周期为0.501ms。
如图26所示。
图26周期显示界面
摁下按键3,测量的脉宽为0.251ms。
如图27所示。
图27脉宽显示界面
摁下按键4,测量的占空比为50.4%。
如图28所示。
图28占空比显示界面
(5)当输入信号为100KHZ时,输入信号如图29所示。
图29输入信号显示界面
摁下按键1,测量的频率为100.018KHZ。
如图30所示。
图30频率显示界面
摁下按键2,测量的周期为0.009ms。
如图31所示。
图31周期显示界面
摁下按键3,测量的脉宽为0.007ms。
如图32所示。
图32脉宽显示界面
摁下按键4,测量的占空比为69.2%。
如图33所示。
图33占空比显示界面
4.3数字频率计误差分析
由图19至图23可知:
频率:
波形发生器为:
100Hz
界面显示:
100Hz
误差:
0
周期:
波形发生器为:
10ms
界面显示:
10.001ms
误差:
0.001ms
脉宽:
波形发生器为:
5ms
界面显示:
5.003ms
误差:
0.003ms
占空比:
波形发生器为:
50%
界面显示:
50.0%
误差:
0
由图24至图28可知:
频率:
波形发生器为:
2KHz
界面显示:
2KHz
误差:
0
周期:
波形发生器为:
0.500ms
界面显示:
0.501ms
误差:
0.001ms
脉宽:
波形发生器为:
0.250ms
界面显示:
0.251ms
误差:
0.001ms
占空比:
波形发生器为:
50.0%
界面显示:
50.4%
误差:
0.4%
由图29至图33可知:
频率:
波形发生器为:
100KHz
界面显示:
100.018KHz
误差:
0.018KHz
周期:
波形发生器为:
0.010ms
界面显示:
0.009ms
误差:
0.001ms
脉宽:
波形发生器为:
0.005ms
界面显示:
0.007ms
误差:
0.002ms
占空比:
波形发生器为:
50%
界面显示:
69.2%
误差:
19.2%
由以上三组数据可知:
随着频率的增高,误差越来越大。
误差主要体现在频率大小、周期大小、脉宽大小、占空比与信号源的频率大小、周期大小、脉宽大小占空比存在微小的偏差,产生误差的原因主要是:
使用技术功能时,单片机在每个机器周期的S5P2拍节对计数脉冲输入引脚进行采样。
如果前一机器周期采样为高电平,后一机器周期采样为低电平,即为一个计数脉冲,在下一机器周期的S3P1进行计数。
这样,采样计数脉冲需要占用2个机器周期,所以计数脉冲的频率不能高于1/24的晶振频率。
其一是随着频率的升高,脉宽的宽度变窄,单片机捕捉的难度增加,所以会产生误差;其二是跟脉宽的占空比有关,当脉宽变窄时,单片机在采样时可能因为时间过短而错失脉宽,也会产生误差。
还有以下可能引起上述误差的原因:
(1)执行语句时所引起的延时。
(2)以及中断开启与关闭引起的延时。
(3)编写的运算程序的精度够。
在计算时舍掉了低位小数。
解决方法:
针对于数字频率计出现的误差,当改用EDA做的时候,就不会出现,但由于时间关系,不给出详细解答过程。
4.4设计结论
由以上结果可知:
数字频率计上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态。
按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。
达到设计要求。
4.5设计体会
通过做数字频率计的课程设计,更加深刻了解了课本知识,和以往对知识的疏忽得以补充。
课程设计是一个重要的教学环节,通过课程设计能够了解到一些实际与理论之间的差异。
通过课程设计不仅可以巩固专业知识,为以后的工作打下了坚实的基础,而其还可以培养和熟练使用资料,运用工具书的能力,把所学的课本知识与实践结合起来,起到温故而知新的作用。
课程设计诚然是一门专业课,有很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门设计课,给了许多道,给了很多思,给了莫大的空间。
同时,设计过程中感触很深,更进一步对抽象的理论有了具体的认识。
在设计过程中,编写程序时,遇到了很多的问题,但通过问老师问同学,最终都解决了。
在编写文档时,在格式和排版上面花了特别多的时间和精力,几乎这些天都在熬夜编写文档,但同时也学到了许多东西,比如VISIO作图,以前画一个流程图的时候都要画很久,现在几分钟就能搞定了;又比如用AltiumDesigner软件画原理图及PCB图,以前没那么熟练,现在比较熟练了。
更为重要的是,这些天学会了查找资料,会搜资料是一件很重要的事情,这个必须得学会,现在课程设计都成功了,心里松了一口气的同时也感觉到知识的匮乏,在以后的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字频率计