毕业论文---基于MATLAB的温度检测系统设计Word格式文档下载.docx
《毕业论文---基于MATLAB的温度检测系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《毕业论文---基于MATLAB的温度检测系统设计Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。
2.3.3DS18B20的指令系统…………………………………………………12
2.3.4DS18B20的通信协议…………………………………………………13
2.3.5DS18B20使用中注意事项……………………………………………14
2.3.6DS18B20与单片机的典型接口设计…………………………………15
3系统的软件设计……………………………………………………………16
3.1下位机程序设计……………………………………………………………16
3.2MATLAB程序设计…………………………………………………………17
3.2.1MATLAB串口通信技术…………………………………………………18
3.2.2MATLABGUI介绍………………………………………………………20
3.2.3GUI界面设计…………………………………………………………21
4系统调试………………………………………………………………………23
4.1下位机调试………………………………………………………………23
4.2串口调试………………………………………………………………23
4.3系统联调………………………………………………………………24
基于MATLAB的温度检测系统设计
前言
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。
传统靠人工控制的温度、湿度、液位等信号的测压力控系统,外围电路比较复杂,测量精度较低,分辨率不高,需进行温度校准(非线性校准、温度补偿、传感器标定等);
且它们的体积较大、使用不够方便,更重要的是参数的设定需要有其它仪表的参与,外界设备多,成本高,因而越来越适应不了社会的要求。
在对多类型、多通道信号同时进行检测和控制中,传统的测控系统能力有限。
如何将计算机与各种设施、设备结合,简化人工操作并实现自动控制,满足社会的需求,成为一个很迫切的问题。
温度检测是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。
单片机具有处理能力强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。
由单片集成电路构成的温度传感器的种类越来越多,测量的精度越来越高,响应时间越来越短,因其使用方便、无需变换电路等特点已经得到了广泛的应用,例如:
以前常用的AD590和LM35等,以及现在得到广泛应用的DSl820、DS1821和DS1620等。
本次毕业设计正是为了完成温度采集而设计的,而且采用了美国DALLAS公司生产的可组网数字式温度传感器DS18B20。
由于物体的性质与稳定有着非常密切的关系,因此在工农业生产中,经常会遇到温度的测量和控制问题,它对保证生产质量、提高生产效率、节约能源及促进国民经济的发展起着非常重要的作用。
新型数字化、网络化传感器在工程中的应用具有极其重要的意义。
这类传感器是各种参量送入计算机系统,进行智能监测、控制的最前端。
随着科技的发展,数字化、网络化传感器应用日益广泛,以其传统方式不可比拟的优势渐渐成为技术的趋势和主流。
近年来,利用智能化数字式温度传感器以实现温度信息的在线检测已成为温度检测技术的一种发展趋势。
数字化技术推动了信息化的革命,在传感器的器件结构上采用数字化技术,使信息的采集更加方便。
例如,对于温度信号采集系统,传统的模拟温度传感器多为铂电阻、铜电阻等。
每一个传输线至少有两根导线,带补偿接法需要三根导线。
如果对50路温度信号进行检测,就需要100根导线接到采集端口,然后还要经过电桥电路、信号放大、通道选择、AD转换等,才能将温度信号供计算机处理。
而DS18B20新型单总线数字温度传感器,采用3脚(或8脚)封装,从DS18B20读出或
图1总设计框图
写入数据仅需要一根I/O口线。
使得硬件电路结构简单,广泛使用于距离远,节点分布多的场合。
具有较强的推广应用价值。
1系统总体结构
本次设计的目的就是以数字传感器DS18B20作为前端,采集温度经过单片机处理后,再采用串口通信,在MATLAB环境下对数据进行分析与处理,将结果用图形显示并储存,完成人机交互过程。
系统总体设计如图1所示。
本系统的设计包括硬件和软件两大部分。
系统的硬件部分大致可分为四部分:
DS18B20温度采集部分、单片机处理部分、显示部分、与计算机串口通信部分。
系统的软件部分分为五大部分:
读取DS18B20的内部数据部分、单片机对温度的处理部分、数码显示部分、串口通信部分、MATLAB界面部分。
2系统硬件
2.1系统的硬件设计
在本设计提出在上位机MATLAB环境下,使用RS232串行接口实时接收。
该方法较之使用VC、VB高级语言编程,极大地缩减了开发时间,提高了开发效率。
系统主要由上位机(PC机)和下位机(AT89S52)部分。
上位机和下位机通过RS232进行通讯。
上位机负责数据处理和图形化显示,它是在MATLAB环境下进行的,应用了仪器控制工具箱中关于串行通信的函数,通过程序控制整个系统的工作并进行数据处理。
下位机负责数据采集和响应主机的控制处理信号。
本设计中,由DS18B20构成的单片机温度测量装置主要由四部成:
DS18B20温度传感器、AT89S52、显示模块和电源模块(图2所示)。
产品的主要技术指标:
①测量范围:
-55.0℃~+125.0℃,②测量精度:
0.1℃,③反应时间≤1.5s。
图2温度检测系统结构图
2.2AT89S52单片机实验开发板
该开发板可对ATMEL公司的89S5x系列ISP单片机AT89S51、AT89S52、AT89S53、AT89LS53、AT89S8252、AT89LS8252的DIP40封装的器件进行直接编程操作。
单片机开发板结构如图3。
图3AT89S5x单片机实验开发板整体结构
开发板的结构:
1)CPU系统:
包括复位、时钟、在线编程电路及I/O引线插孔;
2)串行接口:
采用MAX232构成;
3)显示模块:
采用串行显示,由六片74HC164和六个七段共阴数码管组成;
4)模数转换模块:
采用ADC0809及外围器件,能实现8路八位的模数采集;
5)数模转换模块:
采用串行D/A转换TLC5616,能实现10位的数模转换;
6)LED显示模块:
由8个LED灯构成,其中3个红灯、2个黄灯、3个绿灯;
7)单脉冲发生电路:
产生单个正或负脉冲;
8)用户外接元件区:
方便用户外加少量外接元件进行实验。
本设计只用到CPU系统,串行接口,显示模块。
CPU系统由AT89S52单片机组成。
串行接口是RS232串口。
下面对各个部分作一简单介绍。
2.2.1AT89S52单片机介绍
2.2.1.1单片机简介
Atmel公司的AT89S52芯片是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
2.2.1.2单片机引脚功能
AT89S52芯片采用40脚双列直插封装方式。
当然,不同芯片之间引脚功能也略有差异。
AT89S52单片机是高性能单片机,因为受到引脚数目的限制,有部分引脚具有第二功能。
引脚分配如图4所示。
图4AT89S52双列直插式封装和引脚分配
下面以双列直插式为例,介绍AT89S52单片机的引脚。
引脚可分为三个部分:
I/O口引脚、控制引脚和电源时钟引脚。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表1所示。
表1P1口的第二功能
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3