毕业设计论文副本副本副本.docx
- 文档编号:10121790
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:24
- 大小:961.06KB
毕业设计论文副本副本副本.docx
《毕业设计论文副本副本副本.docx》由会员分享,可在线阅读,更多相关《毕业设计论文副本副本副本.docx(24页珍藏版)》请在冰豆网上搜索。
毕业设计论文副本副本副本
西南交通大学
本科毕业设计(论文)
基于单片机的多通道数据监测系统
Amulti-channeldatadetectionsystembasedonMCU
年级:
2004级
学号:
20041426
姓名:
刘天豪
专业:
机械电子工程
指导老师:
肖世德
2008年6月
院系机械工程学院专业机械电子工程
年级2004级姓名刘天豪
题目基于单片机的多通道数据监测系统
指导教师
评语
指导教师(签章)
评阅人
评语
评阅人(签章)
成绩
答辩委员会主任(签章)
年月日
毕业设计(论文)任务书
班级茅机学生姓名刘天豪学号20041426
发题日期:
2008年3月5日完成日期:
6月10日
题目基于单片机的多通道数据监测系统
1、本论文的目的、意义
温度压力液位流量是工业自动化常见控制参量,实现其监测与控制是基础性工作,也是机械电子工程专业学生必须掌握的基础内容。
本课题要求学生综合利用所学知识,培养动手能力,在前人工作基础上,改进完善,实现多通道模拟工业温度压力液位信号采集和处理显示,实现上下限报警和电磁继电器和开关通断控制。
该课题对于机电测控实验中心完善实验建设具备价值。
2、学生应完成的任务
(1)查阅收集资料、熟悉设计原始资料、完成相关不少于10000个字符的外文资料
翻译。
(2)完成毕业实习调研以及实习报告的撰写。
(3)现有温度压力液位流量监测与控制系统调研和资料搜集。
(4)多路参量监测与控制系统方案设计。
(5)接口电路板制作和加工。
(6)实验程序设计与调试。
(7)完整程序和实物一套。
(8)整理完成不少于24000字的毕业论文。
3、论文各部分内容及时间分配:
(共12周)
第一部分调研准备和资料搜集(2周)
第二部分方案设计和元器件采购(2周)
第三部分硬件制作(3周)
第四部分软件调试(3周)
第五部分系统集成,撰写毕业论文(1周)
评阅及答辩评阅答辩(1周)
备注
指导教师:
年月日
审批人:
年月日
摘要
随着电子计算机信息技术的不断发展和完善,采用单片机实现的数据采集系统的应用越来越多。
采用单片机实现的数据采集系统具有自动化和无人值守的特点。
在许多工业测控机械、医疗仪器以及消费电子产品中,都对数据采集系统的实时性与功耗提出了更高的要求:
即在满足微功耗、微型化的总体设计原则基础上,又要能实时反映现场采集数据的变化。
这就对系统的功耗、采样速度、数据存储和传输速度等提出了更高的要求。
然而,随着半导体与微控制器技术的飞速发展,各种微电子器件的性能不断提高,功耗却不断降低。
技术的进步使得高速度、低功耗的数据采集系统得以实现。
本文设计的数据采集与显示、处理系统采用TI公司研制的MSP430系列超低功耗单片机作为核心控制元件,实现了8通道模拟量数据的采集、自动循环显示、用户查询、限位设定及报警、外围驱动能力、时间显示、以及和上位机组态软件的通信功能。
该系统功能齐全,且具有一定的通用性。
主要研究内容如下:
首先,分析了数据采集系统技术领域内国内外的研究现状,以及MSP430系列低功耗单片机的特点和应用情况。
其次,分析了研究数据采集系统的现实意义,在此基础上给出了基于MSP430单片机的数据采集系统的总体设计方案。
比较详细的介绍了实现该系统的硬件电路设计,包括电源电路、按键电路、复位电路、点阵LCD显示电路、LED指示灯和蜂鸣器报警电路、直流电机驱动电路和USART异步串行通信电路等电路的原理图设计。
最后详细的介绍了基于C语言的软件系统实现方案。
其中,软件系统的设计是本设计的工作重点。
设计过程采用了模块化的软件设计思想。
文中第4章前6小节详细介绍了系统中各个模块软件设计过程。
其中和组态王的串口通信程序设计是最有创新性的内容;第7小节介绍了这些模块之间的输入、输出等链接关系,并最终给出了主处理程序的结构框架。
本设计的最终实验结果表明,下位机的数据采集及显示、查询、报警等功能均能顺利实现;与组态王的串口通信程序设计取得了明显的成果。
关键词:
数据采集MSP430串行通信
Abstract
Withdevelopmentofcomputerandinformationtechnology,usingofMCUinadatadetectionsystemisbecomingmoreandmorepopular.DatadetectionsystemwithMCUhascharacterofautomatedandunattended.
Real-timeandlowerpowerconsumptionisdemandedinmanyindustrialmeasurementandcontrolmachinery,medicalequipmentandconsumerelectronicsproducts:
principleofoveralldesignisnotonlymeetmicro-powerconsumptionandminiaturizationbutalsoreflectreal-timedatachangeswhenthescenechanges.Thismakeahigherdemandofthesystem’spowerconsumption,samplingspeed,datastoragespeedandtransmissionspeed.Withtherapiddevelopmentofsemiconductorandmicrocontrollertechnology,performanceofmicroelectronicdevicesisimprovedbutthepowerconsumptionisreduced.Advancesintechnologymakehigh-speed,lower-powerdatadetectionsystemcanberealized.
ThedatadetectionandprocessingsystemdesignedinthispaperuseTI’sMSP430asthecoreelement,whichachievesthefunctionssuchas:
8-channelanalogdatadetection,automaticcycledisplay,userqueries,setthelimitandgivealarm,todrivetheexternaldevices,showtimeandcommunicatewithPC(throughKingView6.51).Thesystemhasenoughfunctionsandiscommonality.Maincontentsareasfollows:
First,analysestheresearchstatusquoofthedatadetectionsystemathomeandabroad.Second,analysesthepracticalsignificanceofdatadetectionsystem,onbasisofthis,wegiveadatadetectionsystemdesignprogrammewhichbasedonMSP430.
Wedetailthesystem’sstructuraldesignandhardwarecircuitdesign,includingpowercircuit,buttoncircuit,resetcircuit,dot-matrixLCDdisplaycircuit,LEDandbuzzeralarmcircuit,motor-drivencircuitandUSARTcommunicationcircuit,Finally,giveadetailintroductiontodesignasoftwaresystembasedonClanguagetorealizethewholefunction.
Thesoftwaredesignisthekeyworkofthisdesign.Thewholedesignprocessingbasedonaconceptcalled“modulardesign”.InChapter4thefirstsixsectionsdetaileverymodule’sdesigningprocess.SerialcommunicationproceduresdesignbetweenKingViewandMSP430isbelievedtobethemostinnovativecontentinthispaper;insection7,inputandoutputrelationsamongallthemodulesisanalysed.Andfinally,Igivethemainprogram’sstructuralframework.
Finaltestresultsshowthatdatadetectionanddisplay,queryandalarmfunctioncanrunssmoothly;serialcommunicationdesignbetweenKingViewandMSP430haveachievedremarkableresults.
keywords:
datadetectionMSP430serialcommunication
目录
第1章绪论1
1.1数据采集系统概述1
1.1.1嵌入式系统概述3
1.1.2嵌入式数据采集系统简介3
1.2数据采集系统发展方向3
1.3本文研究的主要内容及组织结构7
第2章基于MSP430的数据采集系统的系统设计6
2.1基于MSP430的数据采集系统的系统构建6
2.1.1系统功能分析6
2.1.2系统的硬件原理框图7
2.1.3系统的工作过程8
2.2系统主要功能器件的介绍及选择8
2.2.1单片机的选择8
2.2.2传感器简介11
2.2.3AD转换模块结构介绍11
2.2.4LCD显示模块的选择14
2.2.5上位机处理系统软件的选择15
第3章基于MSP430的数据采集系统的硬件设计17
3.1电源电路的设计17
3.2复位电路设计18
3.3模拟量采集电路的设计18
3.4图形点阵LCD显示电路19
3.5按键处理电路20
3.6串行通信电路设计21
3.7报警系统及外围驱动模块电路设计23
3.7.1报警电路设计23
3.7.1电机驱动电路设计24
3.8单片机电路设计24
第4章基于MSP430的数据采集系统的软件设计26
4.1系统时钟模块的初始化设置28
4.2模拟量采集模块软件设计28
4.2.1转换模块的初始化设置28
4.2.2转换数据的读取28
4.2.3转换数据的格式化30
4.2.4ADC12模块的启动31
4.3输入模块的软件设计32
4.3.1输入模块的初始化设置32
4.3.2中断处理程序34
4.4显示模块的软件设计42
4.4.1LCD初始化设计42
4.4.2LCD显示设计43
4.5串行通信模块的软件设计45
4.5.1组态王与单片机的通信协议46
4.5.2单片机通讯程序设计49
4.6报警系统及外围驱动电路模块的软件设计56
4.6.1报警系统的软件设计57
4.6.2外围驱动模块的软件设计58
4.7主处理模块程序设计60
第5章系统的调试及运行63
5.1系统实物电路的搭建63
5.2下位机设计功能调试63
5.1和组态王6.51串口通信的调试63
结论68
致谢69
参考文献70
附录1:
电路原理图71
附录2:
程序72
附录3:
实习报告72
4.7主处理模块程序设计
主处理模块主要是将各个模块进行协调处理和实现数据交互。
主处理模块首先完成初始化工作,初始化后进入循环处理,在循环过程中主处理获得采集模块的数据,并将数据进行处理,根据处理后的结果来进行显示或者报警,或者控制外围电路的运行。
主处理流程图如下图4-9所示。
图4-9主处理流程图
各个组成模块的程序设计思路在本章前六小节中已经做了较详细的说明,本小节主要按照以上主处理流程图给出各个模块在主处理程序中的结构安排。
voidmain()
{
WDTCTL=WDTHOLD+WDTPW;//关闭看门狗
init_LCD();//初始化点阵LCD,显示汉字及小数点
Init_CLK();//系统时钟模块的初始化函数
Init_TimerB();//初始化定时器B
Init_TimerA();//初始化定时器A
BTCTL=0xA6;//1s=0xa6
IFG2&=~BTIFG;
IE2|=BTIE;//以上3行为基本定时器的初始设置
Init_INPUTPort();//键盘端口初始化
init_ADC12();//初始化ADC12
_EINT();//使能中断
while
(1)
{
if(FUN_key!
=0)
{/*若有功能键按键事件(设置门限事件),则进入处理*/}
else
{
/*按键事件处理完毕FUN_key==0,同时若无按键也有FUN_key==0*/
start_ADC12();//开启ADC12
while(adc_Flag==0);//如果AD转换完毕、存储完毕则进入显示或向上位机发送。
/*串口通信程序*/
/*循环显示各通道检测数据*/
}
}
上述初始化程序中,定时器A(Timer_A)用于产生PWM方波,用于直流电机调速;定时器B(Timer_B)用于监视按键事件;基本定时器(BasicTimer1)用于产生时钟。
由程序框架可以看出,主处理程序结构非常简单,仅有一个while
(1)循环和if—else语句组成。
程序初始化完毕之后,进入while
(1)循环,首先检查是否有功能键按键事件(设置门限),若有,则进入if语句,根据FUN_key的值进行相关设置,并存入对应变量,设置完毕之后FUN_key=0,进入else语句;若无按键事件,同样也进入else语句;else语句主要功能是开启AD转换功能、显示检测数据、上传检测数据、监视检测数据以进行报警或控制外围电路;在else语句的执行过程中,若有查询事件(查询各个通道的检测值以及时间),则程序跳入端口中断服务程序显示所查询的内容,并延时数秒后,自动跳回else语句。
但是在进行具体的程序设计的时候,会遇到很多问题,比如:
图形点阵LCD显示字符有残缺现象、程序对于功能键按键事件的反应较缓慢。
对于第一个问题,用多次显示的办法可以得到很好的解决,也就是同样的内容重复显示几次;对于第二个问题,由于门限设置过程功能键的功能选择是通过判断FUN_Key的值来进行的,端口中断只是提供FUN_Key的最新值,所以当按下功能键时,程序可能还在别的地方运行(并且这些地方有很多延时函数),并没有监测到FUN_Key的当前值,为了使程序能够以最快的速度检测到FUN_Key的最新值,可以在else以后的语句中多个地方加入if(FUN_key!
=0)continue语句,即如果中途监测到FUN_Key值不为0,就结束本次while
(1)循环,进行下次循环,这样就能耐比较及时的监测到FUN_Key的值了,提高的程序的反应速度。
经过这样的操作,实验证明,得到了很好的效果。
第5章系统调试及运行
5.1系统实物电路的搭建
由于时间原因,本设计没有制作出自己的印制电路板。
调试过程借助于实验室提供的嵌入式系统开发箱和搭建简易外部电路实现。
各部分的实物结构图如下所示:
图形点阵液晶显示器
扫描式键盘
图5-1嵌入式系统开发箱
图5-2外部电路结构
图5-3整体结构照片
5.2下位机设计功能的调试
下位机的设计功能主要有:
8通道数据的采集及显示、各监测量门限的设置、时间的查询、超限报警以及直流电机的启停控制和调速控制。
在实际电路调试过程中,利用电位器模拟传感器给单片机模拟量采集通道输入电压值,调节电位器即可得到不同的电压输入值。
依据电路原理图连接电路如上图所示,给实验板接上9V外部电源,系统即进入工作状态。
观察点阵LCD可以发现,首先显示欢迎界面,延时数秒,即循环显示8通道采集数据值,此时用户可以按下相应键进行对应通道采集值的查询以及时间的查询;按下FUN键进行门限设置;旋动电位器调节旋钮,观察LCD采集的数据,当显示数据超出设定门限的时候,蜂鸣器鸣响,相应通道的LED灯闪烁,反向旋转该电位器旋钮,当检测值回归设定区域的时候,停止报警;旋动第二个通道的电位器调节旋钮,当采集值在15.00-16.00之间的时候,电动机启动以第一档速度转动,继续同一方向旋动调节旋钮,当采集值在16.00-20.00之间时,电动机以第二档较大速度转动,当采集值15.00-20.00之外时,电动机停止转动,并且LED和蜂鸣器开始报警。
实际实验结果表明,系统下位机运行效果基本符合设计要求。
不足之处在于系统反应较慢,对模拟量输入口的输入变化灵敏度不够。
5.3和组态王6.51串口通信的调试
由于目前尚无实现组态王6.51和MSP430串口通信的成功案例,加之本人对组态王6.51以及MSP430都不是很熟悉。
所以本模块的设计完全是在自己的摸索中前进。
然而经过两个多月的努力,也取得了较大的进展,距离成功实现两者的串口通信已是一步之遥。
下面很高兴同大家一起分享这段时间我的劳动成果。
在进行组态王和MSP430的串口通信程序调试的时候,假如能够很清楚的了解,甚至主动控制二者的对话状态(包括发送方发送了哪些数据,接收方接收到了什么数据),将在很大程度上提高调试工作的效率。
单片机的收发我们可以通过程序控制,然而组态王的收发程序是集成在组态王系统内部的,对于一般用户是无法控制的。
但为了方便通讯程序的调试,我们又需要了解组态王到底发送了什么数据,接收到了什么数据!
为了解决这个问题,我们引入了两个非常易用而功能强大的串口调试工具,“串口调试助手V2.1”和串口监听软件“AccessPort”。
其中串口调试助手可以以各种方式进行串口数据的接收和发送(并显示接收数据),AccessPort可以用来监听串口通信数据,当设置好通信参数之后,便可很方便的监视计算机串口经过了那些数据,包括接收到的数据和发送出的数据。
有了串口调试助手的帮助,我们可以利用其模拟组态王进行各请求的发送,并甚至可以做到一个字节一个字节的发送,从而方便我们检查单片机的接收缓存数据来判断程序的运行情况;有了AccessPort,我们可以在实际用组态王进行调试的过程中,监视组态王发送出了什么样的请求,单片机进行了什么样的应答。
如上文所分析,首先利用串口调试软件模拟组态王发送请求,无论是发送地址请求:
05010400还是发送数据请求:
0552017700010424还是两者同时发送:
050104000552017700010424,通过串口监听软件AccessPort均可发现,MCU都作出了正确的应答[06(确认)01(地址)03(结束)04(校验)以及06(确认)0100(MCU返回Data的字节数)0002(数据)03(结束)24(校验)]。
监听结果截图如下图5-4所示。
然后,再利用组态王进行实际的外设通信测试,通过串口监听软件监视串口数据,会发现,MCU对组态王的地址请求05010400有正确应答,但是对数据请求的应答却出现了错误。
监听结果如下图5-5所示。
以下两图中,浅蓝色部分为上位计算机发送的请求,即出串口数据;黄色部分为MSP430对请求的应答,即入串口数据。
图5-4串口调试工具发送时监听结果
图5-5用组态王进行外设测试监听结果
所以,问题就集中在了为什么MSP430对串口调试软件的模拟请求有正确应答,而对组态王实际发送的数据请求却没有正确应答呢?
为了深入的分析这里边的原因,考虑到组态王发送的数据请求有8个字节,为了分析每发送一个字节以后单片机的接收情况,我在单片机程序内部设置了断点,使其可以一个字节一个字节的接收组态王的数据请求。
利用这个办法,我终于找到了发生错误的地点所在。
通过多次实验发现,单片机对组态王发送的一位十六进制数,比如0x01、0x05等可以正确接收,但是对于两位的十六进制数,比如0x52、0x77等却不能够正确接收。
原因何在?
刚开始考虑是波特率设置的原因。
原程序的通信波特率是9600,后来我又改成2400以及19200发现均不能解决问题。
所以就考虑是校验问题或者是本HEX通信协议本身的问题(不针对MSP430),但由于时间原因,关于本问题的研究,在这里只能到此为止了。
但是以后的研究一定会继续的。
结论
随着数字技术的发展,我们已经进入了数字时代。
计算机技术、通信技术和测控技术的不断发展和相互融合,使得测试技术不再是一个孤立的个体。
我们的设计将MSP430十六位低功耗单片机和组态王HEX协议串口通信技术应用到了一个8通道的模拟量采集模块。
对数据采集系统功能的多元化进行了一种尝试。
通过在实验室的调试和运行,达到了一定的效果。
在本设计进行期间,我们完成了单片机的按键电路、LCD显示电路、报警及驱动电路以及同PC机的通信的RS232串口通信电路的设计工作。
用protel绘制了各个模块的电气原理图;完成了数据采集模块、LCD显示模块、按键处理模块、报警及驱动模块的软件设计工作,并以MSP430嵌入式试验箱做为实验平台进行了初步的运行测试工作。
实现了8通道的数据采集及显示,数据查询、时间查询及门限设置并报警以及对外围电路实现控制的功能。
基于组态王单片机通用通信协议(HEX)开发了串口通信驱动程序并取得了初步成果。
本设计在较短的时间内完成了实验室平台的设计、调试,取得了一些成果,但就本系统还有以下的工作可以深化。
1、在只有单片机采集模块(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计论文 副本 毕业设计 论文