1 / 12
文档名称:

103636 基于MSP430G2553的频率计设计样本.doc

格式:doc   大小:100KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

103636 基于MSP430G2553的频率计设计样本.doc

上传人:书犹药也 2020/10/29 文件大小:100 KB

下载得到文件列表

103636 基于MSP430G2553的频率计设计样本.doc

文档介绍

文档介绍:数字式频率计一、设计概述在电子技术中,频率是最基础参数之一,数字频率计含有精度高、使用方便、测量快速、和便于实现测量过程自动化等优点,是近代电子技术领域关键工具之一,在很多领域得到广泛应用。本系统以超低功耗MSP430G2553单片机为关键处理芯片来测量信号频率,经过定时器A采取计数法完成信号频率测量,并将被测频率值经过LCD12864液晶串行显示。频率可测量范围在1Hz到999MHz之间。如需要,范围可继续扩宽,频率计误差在1%以内。二、原理图基于MSP430G2553频率计设计原理图图1所表示,经过串口方法液晶显示,只需配置单片机三个口线便能够实现对频率测量。,然后能够直接在液晶屏上显示。图1基于MSP430G2553频率计设计原理图三、引脚说明(一)MSP430G2553引脚功效说明由原理图能够看出,430单片机最小系统用到1脚电源、16脚复位端、20脚接地端、,,,如表1所表示。(二)LCD12864引脚功效说明LCD12864液晶显示器用到1、2脚,电源接口线,19、20脚背光电源接口线,15脚并行/串行接口选择,5脚串行数据口,6脚串行同时时钟。LCD12864引脚功效如表2所表示。表2LCD12864接口说明引脚序号引脚名称功效说明备注1VSS模块电源地2VDD模块电源正端4RS(CS)并行指令/数据选择信号;串行片选信号5R/W(SID)并行读写选择信号;串行数据口6E(CLK)并行使能信号;串行同时时钟15PSBPSB并/串行接口选择:H-并行,L-串行19LED_A背光源正极20LED_K背光源负极(0V)四、软件设计步骤图系统软件设计包含初始化模块、中止模块和信号频率显示模块。(一)主函数单片机初始化开始屏初始化显示结束图2主函数步骤图主函数步骤图图2所表示。在主程序中,关键对单片机配置进行初始化和屏幕初始化,和频率信号数据处理并实时显示。(二)单片机初始化函数开始图3MSP430初始化步骤图结束开中止定时器A配置ANGI/O口配置关闭看门狗单片机初始化函数包含对看门狗定时器模式设置、I/O口输入/输出功效配置。定时器A所需时钟源、分频系数选择,并将总中止打开。函数步骤图图3所表示。(三)中止函数进入中止count=count+65535开始结束图4中止函数中止函数步骤图图4所表示。当定时器A溢出后就进入中止,count就加上65535。(四)频率显示函数频率显示步骤图图5所表示。频率显示函数包含对定时器A相关内容操作,将定时器A计数寄存器内容清零后,设置定时器A工作模式,产生1s计数闸门,关闭定时器A,记下count值即为所测得频率大小。最终依据数据大小,按不一样单位将数据经过12864液晶显示器串行显示出来。计数1s调用数据处理函数1清定时器A计数内容关闭定时器A清屏开始count≥?count≥1000?调用数据处理函数3调用数据处理函数2结束图5频率显示函数五、程序源代码/***************************************************************基于定时器A,采取计数法完成信号频率测量使用片内时钟DOC,时钟频率默认值采取12864串行显示频率测量范围:1Hz--MHz(只要需要,范围能够继续扩宽,误差在1%以内)*****************************************************************/#include<>#defineuintunsignedint#defineucharunsignedchar#defineulintunsignedlongintulintcount=0;voiddelay(uintt);voiddelay1(void);voidint_430(void);voidsendbyte(ucharzdata);(ucharcmdcode);voidwrite_data(ucharDispdata);voidlcdinit();voidprint_string(char*s);voiddisplay(void);/*************主函数************/voidmain(){int_430();lcdinit();while(1){display();count=0;}}/*************延时函数****