EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1 前言
9 k2 Z l* R5 s5 n/ V1 D, ?6 }% `+ e0 e7 P" {. |2 L- i; d! O
温度是表征环境的一个重要的参数。在工程领域,尤其像工程热力学等,温度检测非常普遍,对温度精确测量以便实时控制也显得尤为重要。
( U7 ~; A: Z% u) y( t1 o
9 O: K2 z/ f. Z' g, U' N在控制系统中,上位机与下位机之间实现通信的方法和应用平台很多。目前,以VB和VC开发的通信软件较多,然而,这类软件虽然功能完善,但是数据采集到计算机后要进行各种处理(例如滤波,系统辨识,曲线拟合等)就显得不方便,编程比较复杂。Matlab具有强大的数据处理能力及功能丰富的工具箱,被广泛的应用于信号处理、自动控制等领域[1]。它编程语言简单易学,利用简单的命令就可以代替复杂的代码,极大地提高了开发效率。
6 B9 H0 Q' ~& l% Y6 m
& m+ c J1 ~4 H% U* k- t" G本实验基于Matlab环境下设计了一个小型温度检测系统,下位机使用AT89S51单片机和DS18B20完成温度数据采集,上位机在Matlab环境下,调用设备控制箱serial类操作RS-232串口,用串行通信方式交换数据,进而借助Matlab对数据进行分析和处理,得到了温度随时间变化的函数解析式,同时介绍了基于Matlab环境下PC机与单片机串行通信的实时数据处理的实现方法。+ M0 ~, }, i0 A3 j
& v& |3 w) \. ]% P8 \" u" q. e: Q
2 系统总体设计
; q* K( X! h! j9 W/ q0 x& o, q: p, N- o z$ K; k' ^+ u% u7 M
" b8 y* s/ P' Y
图1 系统结构图温度检测系统的整体结构如图1所示。PC机串口与单片机USART口通过MAX232电平转换芯片相连,构成一个主从式通信系统。系统工作时,单片机对串口和DS18B20初始化,在读取温度的同时等待中断。PC机通过调用Matlab设备控制工具箱中的serial类及相关函数来创建串口设备对象,并以读写文件的方式实现对PC机串行口的访问,PC机通过Matlab向串行口发送特殊指令从而触发单片机中断系统,单片机调用中断服务例程,读取即使温度并将采集的数据通过串行口回送给PC机。此时,Matlab通过查询的方式,实时接收单片机发送的数据,并完成对数据的分析处理及图形显示。
/ F; X% K4 k! G 1 {, N S& c2 ^+ Q& A3 u4 d; ?
|