基于VC++和数据库的实时温度监控系统软件的开发
- 格式:pdf
- 大小:227.19 KB
- 文档页数:5
温度监控系统的设计——系统的软件设计指导老师:** 老师摘要随着科技的发展,相较于很多年以前人们对于自己生活的需求也发生了戏剧性的改变。
而监控系统恰恰迎合了人们的这一需要。
在众多先进测量控制技术中,由于单片微处理器的性能日益提高、价格又不断降低,使其性能价格比的优势非常明显并且我们知道利用MATLAB可以方便地进行仿真整定PID参数。
本文介绍一个以单片机为核心的温度监控系统,主要包括控制算法的仿真分析(用MATLAB)和软件编程(用C51),它是利用传感器采集温度信号, 温度信号经放大电路放大、A/D转换后送到单片机中,并将温度值显示在数码管上,单片机把它同由键盘实现的给定温度进行比较,再由单片机根据控制策略给出控制量,然后将控制量送驱动电路驱动加热装置和报警装置,从而构成了实时闭环系统。
本人主要负责系统的软件设计,在软件设计过程中,我们尽可能使其功能化、模块化、尽量采用子程序调用的方法。
【关键字】单片机;温度监控系统;PID控制算法;MATLAB;软件设计(C51)。
AbstractWith the increasing pace of science and technology, perhaps no change has characteristic the past decades more dramatic than that of people’s demands of their own life. Supervision and monitoring system meet the requirements of them. In these numerous advanced measurement and control technology, because of the enhanced performance and reduced price of MCU, making the advantage that its ratio of performance to price been obvious and as we know MATLAB is easy to simulate the setting of PID parameter. This text, which comprised by the simulation and analysis of control algorithms (using MATLAB) and the program of software (using C51), introduces a temperature monitor whose core is a MCU. It gathers the temperature signal and amplifies it by an amplifier circuit microcomputer. Simultaneity sends it into the MCU after A/D conversion. Then show it on in the LED. The single chip compares it with the temperature, which realizes by the keyboardand give control measure according to the control strategy. In the end, the MCU sends control measure to drive circuit in order to drive the heating installation and warning device. And a closed system is formed.I am mainly responsible for the software design of the system .In process of the software design; we make its function, modularization and use subroutine as far as possible.KEYWORDS: MCU; temperature monitor system; The control algorithm of PID;MATLAB;software design(C51).目录引言---------------------------------------------------------------------------------------------- 4 1 系统概述---------------------------------------------------------------------------------------- 41.1系统功能描述 ------------------------------------------------------------------------------------------ 41.2 系统的框图--------------------------------------------------------------------------------------------- 52 、PID控制与MATLAB仿真 -------------------------------------------------------------- 52.1 PID控制------------------------------------------------------------------------------------------------- 52.1.1 PID控制的优点------------------------------------------------------------------------------ 52.1.2 数字PID ----------------------------------------------------------------------------------- 62.1.3 凑试法确定PID参数----------------------------------------------------------------------- 62.1.4 电炉传递函数 -------------------------------------------------------------------------------- 72.1.5 PID控制框图 ----------------------------------------------------------------------------- 72.2 MATLAB仿真-------------------------------------------------------------------------------------------- 72.2.1 Simulink模型的建立 ---------------------------------------------------------------------- 82.2.2 PID 的MATLAB编程实现 ------------------------------------------------------------------ 93 、硬件概述----------------------------------------------------------------------------------- 103.1 硬件电路概述 ---------------------------------------------------------------------------------------- 103.2 AT89C51端口定义---------------------------------------------------------------------------------- 113.3 模数转换模块 ---------------------------------------------------------------------------------------- 123.4键盘模块------------------------------------------------------------------------------------------------ 133.5显示模块------------------------------------------------------------------------------------------------ 144、软件设计----------------------------------------------------------------------------------- 154.1 单片机编程语言的选择 ---------------------------------------------------------------------------- 154.1.1 汇编语言 ------------------------------------------------------------------------------------- 154.1.2 C语言---------------------------------------------------------------------------------------- 154.2 软件总体结构图 ------------------------------------------------------------------------------------- 164.2.1系统初始化 ----------------------------------------------------------------------------------- 164.2.2主程序模块软件设计 ---------------------------------------------------------------------- 164.3 A/D模块软件设计 ----------------------------------------------------------------------------------- 174.4 键盘模块软件设计 ---------------------------------------------------------------------------------- 174.5 报警模块软件设计 ---------------------------------------------------------------------------------- 194.6 采样、PID校正及PWM 输出模块软件设计--------------------------------------------- 204.7 显示模块软件设计 ---------------------------------------------------------------------------------- 215、系统调试与总结 ------------------------------------------------------------------------- 225.1 系统调试----------------------------------------------------------------------------------------------- 225.2程序链接------------------------------------------------------------------------------------------------ 235.3总结------------------------------------------------------------------------------------------------------ 255.4英文及翻译链接 -------------------------------------------------------------------------------------- 25 参考文献----------------------------------------------------------------------------------------- 26鸣谢-------------------------------------------------------------------------------------------- 27引言随着电子技术和微电子技术的发展,微型计算机发展也越来越快。
基于VC++与MATLAB混合编程的温度控制系统的模拟程国怀武汉科技大学信息科学与工程学院自动化系,武汉(430081)E-mail:chengguohuaippts@摘要:应用MATLAB的engine引擎函数实现VC++与MATLAB的混合编程,结合温度PID控制系统实例,详细介绍参数的优化和接口实现的过程,最后在VC++的界面显示结果。
关键词:MATLAB;VC++;混合编程;接口;PID中图法分类号:TP311Visual C++ 是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快,能够实现具有人机交互界面友好、简洁的系统图形用户界面(GUI)。
但在科学计算方面函数库显得不够丰富、读取、显示数据图形不方便。
MATLAB 是一款将数值分析、矩阵计算、信号处理和图形显示结合在一起,包含大量高度集成的函数可供调用,适合科学研究、工程设计等众多学科领域使用的一种简洁、高效的编程工具。
不过由于 MATLAB 使用的是解释性语言,大大限制了它的执行速度和应用场合。
基于 VC 和 MATLAB 混合编程是很多熟悉 VC++ 编程而又需要进行科学计算、数据仿真的科研人员常用的一种方式,其中最简单也最直接的方法就是调用 MATLAB 引擎,可以在一定程度上满足两个软件接口的需要。
本文以下部分将详细介绍通过 VC++6.0 调用 MATLAB7.1 引擎函数来达到 VC++ 与 MATLAB 数据共享,实现温度PID控制系统的模拟。
1 温度系统的模型及PID参数优化2 编写所需的M文件M文件函数名为canshu和pidjiaozheng,分别计算最优PID参数和实现系统的模拟,canshu函数则按照上述最优参数整定方法计算,pidjiaozheng函数实现过程参考文献 [2]如下:%温度系统PID控制function [yout,time]=pidjiaozheng(Kp,Ki,Kd,K,T,a) %将返回数据保存在yout和time数组中ts=20;%设定采样时间%延时环节sys=tf([K],[T,1],'inputdelay',a);%系统模型dsys=c2d(sys,ts,'zoh');%离散化处理[num,den]=tfdata(dsys,'v');u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;error_1=0;error_2=0;ei=0;for k=1:1:60time(k)=k*ts;%delay plantyout(k)=-den(2)*y_1+num(2)*u_5;%I separationrin(k)=60;%设定的输入比较值error(k)=rin(k)-yout(k);ei=ei+error(k)*ts;M=1;if M==1;if abs(error(k))>=30&abs(error(k))<=40beta=0.3;elseif abs(error(k))>=20&abs(error(k))<=30beta=0.6;elseif abs(error(k))>=10&abs(error(k))<=20beta=0.9;elsebeta=1.0;endelseif M==2beta=1.0;endu(k)=Kp*error(k)+Kd*(error(k)-error_1)/ts+beta*Ki*ei;%PID调节的实现过程%限幅实现if u(k)>=110u(k)=110;endif u(k)<=-110u(k)=-110;endu_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=yout(k);error_2=error_1;error_1=error(k);end编写完成后将M文件放在MATLAB的work文件夹下,利用MFC AppWizard建立“温度控制系统”的对话框应用程序,在对话框中添加必要的控件,将用于显示曲线的ID设置为IDC-PIC。
温度实时监控系统的设计2008年4月摘要本论文简要的阐述了温度监控系统的现状与发展趋势和各个模块实现的设计方案。
硬件部分,我们采用DS18B20芯片实现温度采集模块。
利用AT89S51的高密度、非易失性存储和兼容标准MCS-51指令系统及80C51引脚结构,使其作为单片机控制模块的核心。
在数据传输模块我们选择MAX232实现单片机与PC的过渡桥梁作用。
软件部分,用单片机汇编语言与VB相结合并利用PC机串口通信技术,编写了双方的通信协议方便数据交换,并且PC机与单片机通信比较稳定。
本系统的温度监控部分主要在PC上操作,它采用Click事件来实现通信指令的触发,利用MSComm控件里的OnComm事件来实现PC机通过串口与单片机通信功能。
本设计不仅可以在图形界面下方便的查看外设温度,而且能够进行多路选择查看或单路查看等功能。
关键词:温度实时监控;DS18B20;VB;MSComm;AbstractThe present paper brief elaboration temperature supervisory system's present situation and the trend of development and each module realized design proposal.The system hardware part,we use DS18B20 the chip to realize the temperature gathering module. Using AT89S51 high density,non-volatility memory and compatible standard MCS-51 command system and 80C51 pin structure,causes its achievement monolithic integrated circuit control module the core .We choose MAX232 in the data transmission module to realize the monolithic integrated circuit and the PC transition bridge role.Software aspect,unify and use the PC machine serial port communication with the monolithic integrated circuit assembly language and VB has as compiled the bilateral communication protocol convenient data exchange and PC machine and the monolithic integrated circuit correspondence are quite stable.This system's temperature monitoring part mainly operates on PC. It uses the Click event to realize correspondence order triggering and controls in using MSComm the OnComm event to realize PC machine through the serial port and the monolithic integrated circuit correspondence function. This design not only may the examination peripheral device temperature which facilitates under the graphical interface but also can carry on multi-channel functions and so on choice examinations or single-channel examination.Key words: Temperature real-time monitoring; DS18B20; VB; MSComm;目录1 引言 (1)2 总体设计 (2)2.1方案比较 (2)2.1.1温度传感器的选择 (2)2.1.2 控制器的选择 (3)2.1.3 数据串行通信的接口标准 (3)2.1.4 WINDOWS编程语言选择 (4)2.2系统设计方案简介 (4)3 硬件设计 (6)3.1温度采集模块 (6)3.1.1 DS18B20芯片介绍 (6)3.1.2 DS18B20芯片与AT89S51连接 (10)3.2单片机控制模块 (10)3.2.1 AT89S51芯片介绍 (11)3.2.2 芯片HD7279A简介 (11)3.2.3 HD7279A与AT89S51的连接 (11)3.3数据传输模块 (12)4 系统软件设计 (14)4.1单片机模块软件设计 (14)4.1.1 主程序设计 (14)4.1.2 温度采集子程序设计 (15)4.1.3 串口中断子程序设计 (15)4.2PC机人机交互模块设计 (16)4.2.1 系统工作流程 (17)4.2.2 系统界面设计 (17)4.2.3 全局变量和各控件的设置 (18)4.2.4 通讯程序设计 (19)4.2.5 接收信息设计 (21)4.2.6 发送信息设计 (23)4.2.7下拉列表初始化 (24)5 结束语 (26)致谢 (27)参考文献 (28)附录1 系统实物图 (29)附录2 实验原理图 (30)附录3 毕业设计作品说明书 (31)1 引言随着计算机技术的发展和成熟,计算机的应用也越来越广泛。
基于labview的温度监测系统设计任务书一、项目背景随着工业和生活水平的提高,对温度监测系统的需求日益增加。
温度监测系统是通过传感器对环境或物体的温度进行实时监测、采集和处理,以达到控制、报警、记录或调节的目的。
本项目旨在设计一套基于LabVIEW的温度监测系统,能够实现高精度、高稳定性的温度监测,并具有数据可视化、报警提示、远程监测等功能。
二、项目目标1.设计一套温度监测系统,能够实现对环境或物体的温度进行实时监测、采集、处理和显示。
2.实现对温度数据的实时监测和记录,能够生成温度曲线图,并具有数据查询、导出、打印等功能。
3.实现对温度数据的报警处理,能够根据设定的温度阈值进行报警提示,并具有报警记录和处理功能。
4.设计一套用户界面友好、操作简便的温度监测系统,能够实现远程监控和操作。
三、系统总体设计1.系统硬件设计:包括传感器、数据采集模块、数据处理模块、显示模块等。
2.系统软件设计:采用LabVIEW软件进行开发,包括数据采集、数据处理、数据显示、报警处理、远程监控等功能的实现。
3.用户界面设计:设计用户界面友好、操作简便的温度监测系统,包括温度曲线图显示、数据查询、报警设置等功能。
四、具体实施方案1.系统硬件设计:选择高精度、高稳定性的温度传感器,并通过数据采集模块进行数据采集和处理;数据采集模块采用高速ADC进行温度数据转换,并通过数据处理模块进行数据存储和处理;显示模块采用高清晰度显示屏进行温度数据的显示。
2.系统软件设计:采用LabVIEW软件进行开发,包括数据采集模块、数据处理模块、数据显示模块、报警处理模块和远程监控模块等功能的实现;利用LabVIEW的图形化编程和数据可视化功能,实现对温度数据的实时监测、记录、显示和分析。
3.用户界面设计:设计用户界面友好、操作简便的温度监测系统,包括温度曲线图显示、数据查询、报警设置、远程监控等功能的实现;实现对温度数据的可视化和直观显示,使用户能够方便地进行操作和管理。
基于单片机的实时温度监控系统设计文献综述前言随着现代工业的发展,人们需要对工业生产中有关温度系统进行控制,如钢铁冶炼过程需要对刚出炉的钢铁进行热处理,塑料的定型及各种加热炉、热处理炉、反应炉和锅炉中温度进行实时监测和精确控制温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。
而且,很多领域的温度可能较高或较低,现场也会较复杂,有时人无法靠近或现场无需人力来监控。
如加热炉大都采用简单的温控仪表和温控电路进行控制, 存在控制精度低、超调量大等缺点, 很难达到生产工艺要求。
且在很多热处理行业都存在类似的问题,所以,设计一个较为通用的温度控制系统具有重要意义。
这时我们可以采用单片机控制,这些控制技术会大大提高控制精度,不但使控制简捷,降低了产品的成本,还可以和计算机通讯,提高了生产效率.单片机是指芯片本身,而单片机系统是为实现某一个控制应用需要由用户设计的,是一个围绕单片机芯片而组建的计算机应用系统,这是单片机应用系统。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,应用日益广泛,并且正在逐步取代现有的多片微机应用系统。
1.陈岩《基于ARM 的远程控制温控系统的设计》一个基于ARM的远程控制系统的设计.该系统以无线寻呼网络接收POCSAG编码的控制命令字,同时利用DIMF信号发送器将要反馈的数据通过公用电话网络以DTMF编码传送回去,从而实现了一个功能完整的远程控制系统,弥补了以往远程控制系统的不足同。
2.金凯鹏胡即明《基于模糊PID 算法远程温度控制系统的实现》针对实时温度控制对象,算法远程温度控制系统是一套远程控制系统,并结合了模糊PID控制算法,利用其电路组成和设计原理,实现了对远程温度系统的监视和控制功能.采集端主要实现温度采集、数码显示、温度设定、无线编码发射、加热开关控制等功能;监控部分主要实现无线解码接收、温度显示、报警等功能模块.本系统实现了实时控制与无线传输结合.3.王晓员《基于单片机多点温度控制的硬件构建设计》针对目前许多塑料反应炉温度控制不准确的现状,进行了基于MCS-51系列单片机多点温度控制的硬件构建的设计.采用数字化温度传感器DS18820,TLC2543型号的12位开关电容运次逼近模数A/D转换器.成本低、可靠性高4.王芳《利用单片机实现温度智能控制》温度控制系统是一个闭环反馈控制系统,它是用温度传感器将检测到实际炉温A/D转换,送入到计算机中,与设定值进行比较,得出偏差.对此偏差按PID算法进行修正,求得对应的控制量控制可控硅驱动器,调节电炉的加热功率,从而实现对炉温的控制.5.李晓伟郑小兵周磊李建军《基于单片机的精密温控系统设计》基于单片机的精密温控系统是一种基于单片机的精密温控系统.该系统采用单片机为核心控制部件进行PID运算,数字式温度传感器DS18B20芯片测量温度,大功率放大器OPA548驱动半导体致冷器TEC 实现温度控制,精度达到±0.1℃.关键字;单片机;温度控制;PID控制6.储海兵谭功全曹亢任善荣《单片机温度控制实验系统》以单片机AT89C51为核心的温度控制实验系统.它使用一线制数字温度传感器DS18B20采集温度,经过PID算法计算输出PWM波控制固态继电器调节热阻丝发热功率,最终控制被控对象温度.另外,该系统还扩展了人机接口和串口通信.整个系统不但成本低廉、而且使用和扩展方便,为广泛深入应用提供了借鉴7.叶丹《基于单片机的自适应温度控制系统》人体生物组织活性检测要求较高的温度准确度和稳定度,针对该应用设计了一个温度控制器;用现代控制理论分析了该系统;建立了系统的数学模型,并推导出其状态空间方程.从而提出了先使温度快速稳定在目标温度附近,然后通过自调整参数达到目标温度的自适应温度控制方案.仿真计算的结果证明了方案的可行性和对环境温度变化的适应能力.最后以PIC16C72A单片机为核心,具体实现了一个使用该控制方案的温度控制系统.实验结果表明该方案可以取得满意的准确度和稳定度.8.张小娟《一种基于模糊控制的温度控制系统设计》针对被控对象存在的滞后、时变、非线性等特点,将模糊控制算法引入除氧器控制系统,改善了系统的控制效果,并设计了以PIC18F252单片机为核心,实现了该控制方案.该控制方法在除氧器温度控制系统的应用中,取得了良好的效果.文中使用MATLAB软件对PID控制、带自调整因子模糊控制分别进行了仿真研究,仿真结果表明,带自调整因子模糊控制能满足调节时间短、超调量小且稳态误差在104±3 ℃内的控制要求.9. 美国加里福尼亚大学Zadeh教授《模糊集合论》标志着模糊数学的诞生。
1.系统介绍1)本系统主要讲解基于PC与单片机串口通信的温度监控系统程序设计(如图1),上位机采用常用的PC机,下位机使用的是STC89C52单片机,温度传感器使用的是DALLAS公司生产的DS18B20,下位机获得DS18B20采集的温度数据通过串口通信方式传输给PC,PC负责监控温度和显示温度值,并负责下达命令给下位机。
PC获得的数据实时显示在监控画面中,同时实时显示温度曲线.主要的功能和特点是有:1.1 多点监控:可以同时监控多个点温度状况;1.2 远程监控:可以通过网络查看和控制整个系统的工作过程(如图2);1.3 显示功能:同时以数值和曲线两种方式实时显示被监控对象的温度情况;1.4 数据归档:实时温度数据和图像均可由系统自动保存在数据库中,供以后查询或对被监控对象作更深入的分析之用(如图3);1.5 控制功能:上位机复制接收下位机数据进行分析和监控,并复制下达命令给下位机,控制下位机的动作执行元件;1.6 报警功能:上位机和下位机上均设置有报警功能,上位机中,采用语音或者警示灯报警,同时还有相关提示;下位机则采用报警灯和报警蜂鸣器提示;图1图2图3图42)本文主要讲解上位机程序的编写(VC++),下位机串口通信程序编写(C51),以及温度传感器的驱动程序的编写(C51).2.DS18B20及驱动程序美国DALLAS公司生产的DS18B20,采用独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,测温范围-55℃~+125℃,固有测温分辨率0.5℃,工作电源: 3~5V/DC,在使用中不需要任何外围元件,测量结果以9~12位数字量方式串行传送,DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。
因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。
主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM,4 )跳过ROM,5 )报警检查。
中文摘要本课题研究的是基于AT89S52型单片机控制的水温智能监控系统,以AT89S52单片机为核心,采用了温度传感器DS18B20进行温度检测。
文章首先阐述了用单片机进行水温监控系统一些特性优点,以及它的现状与发展前景。
然后又对系统总体设计方案的进行了深入分析。
系统总体设计方案包括了系统硬件设计与系统软件设计两大部分。
硬件部分用的是ATMEL公司的AT89S52单片机、温度传感器DS18B20、LCD等。
而且在本设计中有对其原理、结构方面的详细的论证。
软件环境主要使用了利用Keil和Protues软件进行联合仿真。
该系统实现了自动控制,使水温变化情况可以进行动态的显示,并能在一定的范围内由人工设定。
在本文的最后是对整个系统性能测试和分析的报告。
关键词:AT89S52单片机;DS18B20数字温度传感器;水温监测系统;软硬件设计AbstractWhat this topic AT89S52 SCM water temperature intelligent observation system.The single computer AT89S52 is used as a core in this designs, the DS18B20digital temperature sensor is used to measure the water temperature. The topic account many feature and advantages about the SCM water temperature intelligent observation system,and it is present situation and prospect .In this article among is to the system overall project design thorough analysis.The system overall project design has included the system hardware design and the system software designs two major parts. What hardware part is ATMEL company's AT89S52 SCM. DS18B20 digital temperature sensor, the LCD ;And discusses the principle and hardware structure.The software enviroment is Keil and Protues emulator. It realization of the automatic control system, The water temperature stuation can be showed on the microcomputer monitor system and may be set at some degree by manpower. In this article is finally to the overall system performance test and the analysis report.Keywords:AT89S52 SCM;Water temperature Control system;DS18B20digital temperature sensor;Hardware and software design目录第一章前言 (3)1.1论文来源及其研究背景 (3)1.2设计内容及要求 (3)第二章系统设计 (4)2.1总体方案设计 (4)2.2硬件各单元方案论证和选择 (5)2.2.1温度传感部分 (5)2.2.2显示部分 (6)2.2.3键盘输入部分 (6)2.2.4加热驱动控制电路部分 (7)2.2.5报警电路 (9)2.2.6电源电路 (9)第三章主要器件介绍 (10)3.1单片机AT89S52介绍 (10)3.2温度传感器DS18B20介绍 (13)3.3光电耦合器MOC3031M介绍 (17)第四章软件设计 (18)4.1主程序设计 (18)4.2温度检测模块程序设计 (19)4.3按键模块的软件设计 (22)4.4温度报警提示设计 (22)第五章系统仿真调试 (22)5.1总体硬件仿真电路图 (23)5.2 AT89S52端口定义 (24)5.3硬件仿真图及分析 (25)第六章结论 (27)谢辞 (28)参考文献 (29)附录一:外文资料翻译 (30)附录二:主程序 (43)第一章前言1.1论文来源及其研究背景温度是工业生产和生活中常见的被控参数,对温度的控制效果直接影响到许多产品的质量及使用寿命,及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节。
实验项目技术报告-热电偶温度测控系统实验内容➢热电偶测温原理,冷端补偿;➢DS18B20单总线单片机数据传输;➢仪表放大器的使用;➢AD转换器的使用;➢VC上位机虚拟仪表的设计,数据的显示;实验结果上位机基于VC软件的操作界面,对电加热炉的当前温度进行测量和显示。
实验所需元器件热电偶(1只),LM324放大器(1只),AD620仪表放大器(1只),AD0804转换器(1只),串口套件1套1. 实验整体结构图图1 炉温测控系统整体结构图实验中使用热电偶传感器将加热炉内温度与室温的温差转换为毫伏级电压,经仪表放大器(AD620)放大至标准电压输出信号(0~5V),送至AD模数转换器进行转换。
同时,利用DS18B20测温芯片测量室温,对热电偶冷端进行补偿。
2. 单片机基础知识本实验主要涉及使用单片机定时器定时串口写及波特率设置,DA和AD转换器的控制,单片机串口读上位机的数据,C51单片机的引脚功能,如图2所示。
图2 单片机管脚分布图2.1 与实验有关的管脚➢实验中P3口中两引脚第二功能:P3.0:RXD串行口输入接串口模块发送端TXD;P3.1:TXD串行口输出接串口模块RXD端。
P2.0脚接温度传感器DS18B20数据传输总线,转换器写控制P2.1脚接AD转换器写控制,P2.2脚接AD转换器读控制。
➢管脚18,和管脚19(XTAL1,XTAL2):外部晶振的输入端;➢管脚20(V SS):接地端➢管脚31(EA/Vpp):访问片内允许端,接VCC;➢管脚40(电源):+5V2.2 单片机能够运行起来的最小系统1. 电源2. 晶振3. 复位电路2.3 关于电平特性单片机为TTL电平:高+5V,低0V。
计算机的串口为RS232电平:高-12V,低+12V。
因此,计算机与单片机之间通讯时需要加电平转换芯片max232,连接图如图5所示,实验中我们使用232电平转TTL电平串口通讯模块来实现。
图5. MAX232串口连接图2.3 定时器➢ 与定时器有关的寄存器是8位TCON 寄存器,地址是0x88(注:地址可以被8整除,可以进行位操作),其各位的功能如下: sfr TCON = 0x88;sbit TR1 = TCON^6; // 启动定时器1; sbit TR0 = TCON^4; //启动定时器0;本实验我们只使用TR1=1对定时器进行启动,对波特率进行设置。
第五篇温度实时监测(VC版)首先说明一下,本文档所用到的代码全部都在蓝海微芯科技发展有限公司提供的eWin7000一体机上运行测试过。
eWin7000一体机上运行的是WINCE5.0操作系统。
本篇文档以C++语言为背景进行讲述,编程工具为VC2005。
在上一篇文档的基础上,我们本篇文档来添加一个温度实时监测的功能,根据采样的温度值,来绘制一条简单的动态曲线。
大家在一些实际应用中很可能需要绘制一些二维曲线,比如反应温度,湿度的走势等等。
绘制二维曲线,在以后的文档中,可能会去封装一个简单的类。
或者给大家推荐一些类,方便大家简单的应用。
这里只是简单的绘制一下。
利用MFC类向导添加一个对话框。
添加之后,输入类名:CTemInspect,基类:CDialog,单击完成。
打开CtemInspect类对话框,更改一下对话框的caption,删除原来的两个按钮,同时添加几个控件,如图:相应ID如下表:开始监测按钮IDC_BTN_START返回主界面按钮IDC_BTN_BACK当我们单击主窗口“温度监测”按钮的时候,就要弹出来“温度实时监测”这个对话框来。
我们来实现“温度监测”按钮的单击相应函数:void CserialDlg::OnBnClickedBtnTem(){// TODO: 在此添加控件通知处理程序代码CTemInspect teminspect;teminspect.DoModal();}我们的串口接收数据是在主窗口中已经实现了的。
那么这里我们就直接在主窗口中将温度值保存起来,然后在我们的“温度实时监测”窗口类中去读取这个温度值。
那么我们现在需要在CTemInspect类中添加一个CserialDlg类的对象指针。
如下:然后在上面的“温度监测”按钮单击响应函数中加一句代码:void CserialDlg::OnBnClickedBtnTem(){// TODO: 在此添加控件通知处理程序代码CTemInspect teminspect;teminspect.serialdlg=this;teminspect.DoModal();}我们在CserialDlg类的头文件中添加一个CHAR型的变量,用来保存温度采样值。
基于VB的上位机程序设计,用来实时监测温度变化用来连接Arduino的传感器很多,但是都没办法直观观测传感器数据值,本文设计的是一个简单的温度检测系统,上位机程序用来检测和显示Arduino串口发送的温度数据,并通过曲线的形式描绘出温度的变化过程。
上位机程序采用VB6.0设计。
上位机程序两次接收的温度数据间隔控制在1秒钟,能够显示的温度曲线的总时间在3分钟左右。
一、VB介绍VB是Visual Basic的简称,是美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,类似于浏览器中JAVAScript操作HTML一样、安卓APP开发等。
可用于开发Windows 环境下的各类应用程序。
今天我们以VB6.0为基础,简单的认识一下VB。
二、VB基本操作安装Visual Basic成功之后,安装程序自动在【开始】菜单中建立Visual Basic 6.0的程序组和程序项。
点击启动,在VB启动后,屏幕上将出现如图2-1所示的启动界面,在启动界面中会出现一个【新建工程】对话框。
图2-1 启动界面2.1、创建工程在VB启动界面中的【新建工程】对话框中选择一个合适的工程类型,然后单击【打开】按钮,就可以新建一个工程,新工程打开后的用户界面如图2-2所示。
图2-2 用户界面2.2、控件设置和控件属性设置在用户界面的左侧是VB的【工具箱】,在【工具箱】中有我们常用的各类控件,在设计窗体时我们可以直接从工具箱中选择控件,然后在中间的【对象窗口】中按住鼠标左键拖出一个矩形后,相应的控件就放置到了用户的编辑窗口中,对于控件的各个属性,我们可以通过VB界面右面的【属性窗口】设置各个控件的各种属性,放置并调整好控件的各个属性的,如图2-3所示。
图2-3 添加控件后的对象窗口2.3、添加代码双击【对象窗口】的空白处或者某个控件,就会出现【代码窗口】,如图2-4所示。
图2-4 代码窗口在代码窗口中为各个事件添加相应的代码,在程序运行的时候一旦某个事件发生,就会执行相应的代码段,这里以Form_Load()事件为例,简单的设计一个实例程序。
一、实验目的使用Java,实现定时任务以及对数据库数据的控制与访问。
二、实验题目与要求使用Java开发两个软件,要求如下:1.设计一个模拟温度传感器:实现每十秒钟向数据库发送一个温度值,要求温度值在20±5℃范围内随机变化2.设计一个温度显示模块,在Console上每10秒显示一次实时温度,每1分钟显示最近1分钟的平均温度。
数据库表名:sample,包含两个字段:sample_time: timestamp;sample_data: decimal(5,1);三、实验过程与实验结果设计思路:1.实现模拟温度传感器,通过Java定时任务与JDBC,定时向数据库发送随机温度值(20±5)2.实现温度显示模块,通过Java定时任务与JDBC,定时从数据库中获取温度(实时温度与一分钟内温度集合),通过格式化处理与组织展示给用户。
图1 项目类图图2 项目包图实现过程:1.封装数据库操作类DBUTil,实现JDBC对数据库的连接访问、数据查询与数据修改。
package edu.tjut.database;//数据库操作工具类import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;public class DBUtil {// 1.定义并声明常用字段private static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver";private static String url = "jdbc:mysql://localhost:3306/java";private static String user = "root";private static String pwd = "*******";// 2.定义并声明SQL操作对象private static Connection conn = null;private static Statement st = null;private static ResultSet rs = null;// 3.获取连接private static Connection getConn() {try {Class.forName(JDBC_DRIVER);conn = DriverManager.getConnection(url, user, pwd);} catch (Exception e) {图3 演示结果四、收获与体会1.掌握了Java中JDBC编程的基本思路与操作;2.掌握了Java定时调度的基本使用方法。
一种基于VC﹢﹢的智能仪表数据采集软件设计方案一、背景随着科技的发展和智能化的推进,智能仪表在工业生产和生活领域的应用不断扩大。
而智能仪表的数据采集是保证其可靠运行的基础。
因此,本文提出一种基于VC++的智能仪表数据采集软件设计方案。
二、需求分析智能仪表数据采集软件的主要功能是通过串口接收仪表发出的数据,并将其在PC端进行实时显示和存储。
因此,需要完成以下功能:1、串口通信功能——通过串口与智能仪表进行数据交互。
2、数据解析功能——将接收到的原始数据进行解析,得出对应的测量值。
3、实时显示功能——将解析得出的测量值实时地显示在PC 端。
4、数据存储功能——将解析得出的测量值存储在本地。
三、设计方案1、软件架构本设计方案采用C/S结构,即采用客户端和服务端的分布式架构,其结构如图1所示。
图1 软件架构图2、串口通信功能设计本方案采用VC++自带的函数库实现串口通信功能。
具体实现步骤如下:(1)打开串口HANDLE hComm = CreateFile(szPortName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); (2)初始化串口DCB dcb;ZeroMemory(&dcb, sizeof(dcb));dcb.DCBlength = sizeof(dcb);dcb.BaudRate = BAUD_RATE;dcb.ByteSize = DATA_BIT;dcb.Parity = PARITY;dcb.StopBits = STOP_BIT;SetCommState(hComm, &dcb);(3)读取数据int iLen = 0;while (ReadFile(hComm, szBuff + iLen, iBytesToRead – iLen,&dwReadBytes, NULL)){iLen += dwReadBytes;}(4)关闭串口CloseHandle(hComm);3、数据解析功能设计本方案采用面向对象和模板方法设计模式实现数据解析功能。
基于单片机与计算机串口的温度实时监控系统设计
【电源网】温度监控系统在农业、工业和生活中有着广泛的应用,但随
着监控的面积扩大,监控点的增加及控制处理趋于智能化等新的应用要求出现,传统的温度控制系统已经逐渐不适用,首先是不便于观察而且不能及时
地对异常温度变化做出迅速反应,其次是传统的温度控制系统不能储存大量
数据,不能对监控的数据进行分析,不便于对温度情况进行长期的监测和科
学的分析,为了解决以上问题,本文设计了一个能实时响应温度并进行控制
的温度实时控制系统,并且采用与计算机串口通信结合的方式通过计算机增
大了系统储存量,而且在计算机系统中收集和处理温度控制系统的数据,大
幅度的增强了该系统的功能,并具备较强的扩展性。
随着计算机技术特别是单片机技术的发展,串口通信在诸多领域上得到了
广泛的应用,计算机可以通过串口来获取单片机的各种数据,然后利用计算
机强大的功能进行处理,再根据处理的结果发送数据到单片机,实现远程控
制设备。
本设计采用上位机和下位机的互联工作,而计算机的分析处理能力
较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用计
算机,单片机具有价格低,功能强,较好的抗干扰能力和面向控制等特点,
所以下位机采用单片机来构成互联工作模式。
由于串行通信具有高效可靠、
价格便宜,遵循统一的标准等特点,适用于本设计的通信要求。
1 硬件设计
1.1 电路设计
温度实时控制系统的下位机由7个部分组成(详见图1),其中测量环境温度使用DS18B20数字温度传感器,它将温度传感器、A/D传感器、寄存器、
接口电路集成在一个芯片中,采用1-Wire总线协议,可实现直接数字化输出。
《现场总线与测控技术》课程论文题目:基于VC++的温度检测系统设计学号:2011080911姓名:蔡志威专业:电路与系统指导老师:李跃忠二零一二年四月二十日摘要:为了实现下位机的集散控制,本为介绍了一种有效的方案,实现了下位机的实施温度监测。
下位机通过DS18B20对温度采集,STC89C52单片机实现温度数据处理和显示,同时实时地通过串口发送给上位机。
在上位机上,利用Visual C++编写对应的串口通信软件,从而实现了完整的温度监测系统的设计。
关键词:Visual C++;上位机;单片机;温度Abstract:in order to implement a machine of distributed control, this is introduced a effective program, realized the implementation of a machine under temperature monitoring. A machine under temperature gathering to through ds18b20, stc89c52 single chip microcomputer temperature data processing and display, and real-time through a serial port sending to the PC. In the upper machine, to use Visual C++ write the corresponding serial interface communication software, thus fulfilling the complete temperature monitoring system design.Keywords: Visual C++; PC; Single chip microcomputer; temperature前言随着电子技术和计算机技术的发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。