基于matlab的温采集.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于 matlab 的温度采集 摘要 :基于 Matlab 环境下 PC 机与单片机实时串行通信及数据处理的方法 ,设计了一个小型温度检测系统 ,由单片机与 DS18B20 完成数据采集 ,PC 机实现通信数据的分析处理及图形显示并得到温度随时间变化的函数解析式。使用 Matlab 编程 ,提高了开发效率 ,具有一定的实用性。  , 关键字 :Matlab 设备控制箱 串口通信 DS18B20 1 前言 温度就是表征环境的一个重要的参数。在工程领域 ,尤其像工程热力学等 ,温度检测非常普遍 对温度精确测量以便实时控制也显得尤为重要。 在控制系统中 ,上位机与下位机之间实现通信的方法与应用平台很多。目前 ,以 VB 与 VC 开 发的通信软件较多 ,然而 ,这类软件虽然功能完善 ,但就是数据采集到计算机后要进行各种处 理( 例如滤波 ,系统辨识 ,曲线拟合等 ) 就显得不方便 ,编程比较复杂。 MATLAB 具有强大的数 据处理能力及功能丰富的工具箱 ,被广泛的应用于信号处理、自动控制等领域 [1] 。它编程语 言简单易学 ,利用简单的命令就可以代替复杂的代码 ,极大地提高了开发效率。 本实验基于 Matlab 环境下设计了一个小型温度检测系统 ,下位机使用 AT89S51 单片机与  , DS18B20 完成温度数据采集 ,上位机在 Matlab 环境下 ,调用设备控制箱 serial 类操作RS- 232 串口 ,用串行通信方式交换数据 ,进而借助 Matlab 对数据进行分析与处理 ,得到了温度随时间变化的函数解析式 ,同时介绍了基于 Matlab 环境下 PC 机与单片机串行通信的实时数据处理的实现方法。 系统总体设计 图 1 系统结构图 温度检测系统的整体结构如图 1 所示。 PC 机串口与单片机 USART 口通过 MAX232 电平转 换芯片相连 ,构成一个主从式通信系统。系统工作时 ,单片机对串口与 DS18B20 初始化 ,在读 取温度的同时等待中断。 PC 机通过调用 Matlab 设备控制工具箱中的 serial 类及相关函数来 创建串口设备对象 ,并以读写文件的方式实现对 PC 机串行口的访问 ,PC 机通过 Matlab 向串 行口发送特殊指令从而触发单片机中断系统 ,单片机调用中断服务例程 ,读取即使温度并将采 集的数据通过串行口回送给 PC 机。此时 ,Matlab 通过查询的方式 ,实时接收单片机发送的数 据,并完成对数据的分析处理及图形显示。 下位机部分 下位机部分由 AT89S51 单片机与 DS18B20 温度传感器构成 ,主要负责温度数据的采集工 作,并通过串行通信实时地将数据传送到上位机进行处理  ,PC 机与 MUC 串口通信技术相对 而言已经比较成熟。 基于 matlab 的温度采集 3、 1 串行通信协议 串口通信协议 SPCP(Serial Port Communication Protocol) 设计思想就是基于帧传输方式 ,在 本实验中 ,设定字符格式为 1 个起始位 ,8 个数据位与一个停止位 ,无奇偶校验 ,中间 8 位即为 有效数据 ,波特率设置为 9600,为保证数据可靠传输 ,在传送数据前通过握手建立连接 ,软件握 手协议规定如下 : 上位机发送握手信号 0xff 给下位机 ,下位机如果接受到上位机的信号为握手信号 ,则回送数据包给上位机 ,其中第一个数据为握手信号 ,以二个数据为温度传感器采集到的温度数据 ,此 ,上位机如果接受到的第一个数据不就是握手信号 ,则丢弃该数据包 ,若就是 ,则表示握手成功,直接存储第二个数据。 3、 2 温度数据采集 (DS18B20) 本系统中采用 DALLAS 生产的 “一线总线 ”可编程数字化温度传感器 DS18B20, 与微处理 器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯 ,在使用中不需要任何 外围元件 ,设计可用数据线供电 ,简化系统的硬件 ,同时支持多点组网功能 ,多个 DS18B20 可以 并联在惟一的三线上 ,实现多点测温 ,使用起来非常方便。尽管如此 ,DS18B20 就是以牺牲软 件资源换取硬件资源的 ,由于采用单总线数据出数方式 ,DS18B20 的数据 I/O 均由同一根线完 成,因此 ,对读写的操作时序要求非常严格。 根据 DTASHEET, 对 DS18B20 的编程主要注意以下几个方面 : 1,精确延时问题 [2]: 为了保证 DS18B20 的严格时序 ,可以将延时分为 2 种 :10us 以下的短延时 10us 以上的长延时。短延时可以使用 C51 提供的内部函数 _nop_()来实现 ,一个 nop()函数相当于一条 DJNZ 汇编指令 ,约 2us;长延时

文档评论(0)

zsmfjh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档