基于单片机的多点温度采集与记录系统

合集下载

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统近年来,无线传感器网络技术得到了广泛的应用和发展,其在工业、农业、医疗等领域都有着重要的作用。

无线传感器网络可以实现对各种参数的监测和数据的实时采集,极大地方便了人们对环境和设备状态的监控。

特别是在温度监控方面,无线传感器网络可以实时监测温度变化,并将数据远程传输到监控中心或者手机端,为人们提供及时的温度信息。

本设计旨在基于单片机技术,设计一种多点无线温度监控系统,实现对多个温度传感器的监测和数据传输。

该系统可以应用在各种需要温度监控的场合,例如仓储、生产车间、温室等。

通过该系统,用户可以实时监测各个监测点的温度变化,及时发现异常情况并进行处理。

系统设计采用了低功耗的无线传输模块,能够实现长期监测,并且具有一定的抗干扰能力,保证了数据的可靠性和稳定性。

本系统的核心是基于单片机的温度采集模块和无线传输模块,其主要功能包括温度数据的采集、处理和传输。

下面将从硬件设计和软件设计两方面对本系统进行详细的介绍。

一、硬件设计1. 硬件系统框图本系统的硬件设计包括多个温度传感器节点和一个数据接收节点。

每个温度传感器节点包括温度传感器、单片机和无线传输模块,用于采集和传输该节点的温度数据;数据接收节点包括单片机和无线接收模块,用于接收并处理各个节点传输的温度数据。

硬件系统框图如下图所示:(此处插入硬件系统框图)2. 温度传感器节点设计温度传感器节点的主要功能是采集温度数据,并通过无线传输模块将数据传输给数据接收节点。

具体的设计方案如下:(1)温度传感器选择:选用精度高、响应快、价格低廉的DS18B20数字温度传感器。

(2)单片机选择:选用低功耗、性能稳定的STM32系列单片机,用于温度数据的采集和处理。

(3)无线传输模块选择:选用低功耗、长距离传输的nRF24L01无线模块,用于将温度数据传输给数据接收节点。

3. 数据接收节点设计(3)数据显示设备:可以选择LCD显示屏或者LED指示灯,用于显示温度数据。

基于STM32的多点温度采集系统设计

基于STM32的多点温度采集系统设计

基于STM32的多点温度采集系统设计摘要:本文介绍了一种基于STM32的多点温度采集系统设计,该系统实现了对多个测点的温度采集,可广泛应用于物联网、环境监测、科学实验等领域。

文章首先介绍了该系统的硬件组成和软件设计,然后详细说明了各个模块的实现方法和细节,最后进行了测试和分析。

实验结果表明,该系统稳定可靠,具有较高的测量精度和较低的功耗,具有良好的应用前景。

关键词:STM32;温度采集;多点采集;物联网;环境监测一、概述随着物联网和环境监测技术的迅速发展,温度传感器越来越广泛地应用于各个领域。

温度采集系统可以帮助人们获取物理环境中的温度数据,从而提高环境安全性和生产效率,对于科学实验和工业制造行业尤其重要。

本文介绍了一种基于STM32的多点温度采集系统设计,该系统能够同时实时监测多个测点的温度数据,具有较高的精度和较低的功耗,可广泛应用于物联网、环境监测、科学实验等领域。

二、系统硬件设计该系统主要由STM32微控制器、多个DS18B20温度传感器、LCD显示屏、蜂鸣器、SD卡模块和电源模块等组成,如图1所示。

其中,STM32作为控制中心,与多个DS18B20温度传感器进行通信,获取温度数据,并将数据显示在LCD屏幕上。

电源模块采用锂电池供电,通过电源管理模块和充电管理模块对系统电源进行管理,以确保系统运行的稳定性和可靠性。

该系统的软件设计包括底层驱动程序和上层应用程序。

底层驱动程序主要实现与DS18B20温度传感器的通信,包括初始化DS18B20传感器、发送指令、读取温度数据等操作。

上层应用程序主要实现数据采集、处理、显示和存储等功能,包括读取传感器数据、计算温度值、显示温度值、存储温度数据等操作。

四、系统功能模块实现4.1 DS18B20传感器驱动程序DS18B20是一个数字式温度传感器,使用1-Wire总线方式进行通信,具有精度高、响应快、体积小等特点。

该系统采用STM32的GPIO接口模拟1-Wire总线方式与DS18B20传感器进行通信。

基于单片机多点温度采集系统的设计

基于单片机多点温度采集系统的设计

XXX 学院单片机技术课程设计说明书课题名称基于单片机的多点温度采集设计系别专业班级学号姓名 X X X指导教师2011 年 6 月 30 日摘要本论文介绍的是基于AT89C51单片机数字温度计设计,体现模块化设计思想。

论文重点阐述了硬件模块——MCU模块、温度的感应模块、控制模块、显示模块的设计。

软件同样采用模块化设计,软件模块——中断模块、温度转化模块。

温度是生产过程和科学实验中普遍而且重要的物理参数之一。

在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。

温度控制在生产过程中占有相当大的比例。

温度测量是温度控制的基础,技术已经比较成熟。

传统的测温元件有热电偶和二电阻。

而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。

我们用一种相对比较简单的方式来测量。

我们采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。

DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。

关键字:微控制器;数字控制;温度计;AT89C51;DS18B20。

AbstractThis paper introduces the design based on AT89C51 digital thermometer, reflect the modular design thought. Paper expounds the hardware module-module, temperature sensing MCU module, control module, display module design. The software also modular design, software module-module, fresh-interrupt temperature conversion module. The temperature is the production process and scientific experiments common and important physical parameter of. In the process of production, to highly efficient production, it needs to main parameters, such as temperature, pressure, and flow rate of effective control. Temperature control in production process occupies a large proportion. Temperature measurement is the foundation of temperature control, technology has more mature. The traditional measuring temperature elements have thermocouple and two resistance. And thermocouple and heat resistance of the measure is commonly voltage, again converted into the corresponding temperature, these methods relatively complex, need more of the external hardware support. We use a relatively simple way to measure. We adopt the DALLAS semiconductor company following the DS1820 rolls out after an improved version of the intelligent temperature sensor DS18B20 as the test components, temperature range for-55 to 125 C, the highest resolution time integration can be up to 0.0625 DHS C. DS18B20 can read out directly, and the temperature in north of the three wire and single-chip microcomputer is linked together, reduce the external hardware circuit, with low cost and easy to use features.Key word: micro controller, digital control, The thermometer, AT89C51, DS18B20.目录摘要 (1)Abstract (2)目录 (3)1 绪论 (4)2 设计任务与要求 (4)2.1 设计任务 (4)2.2 设计要求 (4)3 总体设计方案 (5)3.1 总体设计方案 (5)3.1.1 方案一 (5)3.1.2 方案二 (5)3.2 方案二的总体设计图 (6)3.2.1 主控电路设计 (6)3.2.2 主控制器AT89C51的介绍 (6)3.2.3 温度传感器DS18B20的介绍 (9)3.2.4 DS18B20的工作协议 (12)3.2.5 显示电路设计 (15)3.3 DS18B20温度传感器与单片机的接口电路 (16)3.4 系统整体硬件电路 (18)4 系统软件设计 (18)4.1 主程序 (18)4.2 读出温度子程序 (19)4.3 温度转换命令子程序 (20)4.4 显示数据子程序 (21)5 调试过程 (22)6 总结与体会 (23)致谢 (24)参考文献 (25)附录一 (26)附录二 (32)1绪论随着“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统1. 引言1.1 研究背景在现代社会,温度监控系统在各个领域中发挥着重要作用,例如工业生产、环境监测、医疗保健等。

随着科技的不断发展,基于单片机的多点无线温度监控系统逐渐成为一种趋势。

研究背景部分将深入探讨这一领域的发展现状,以及存在的问题和挑战。

目前,传统的有线温度监控系统存在布线复杂、安装维护困难等问题,限制了其在一些特定场景下的应用。

而无线温度监控系统以其布线简便、实时监测等优势逐渐被广泛应用。

目前市面上的产品多数存在监测范围有限、数据传输不稳定等问题,迫切需要一种更为稳定、可靠的无线温度监控系统。

本文将基于单片机技术设计一种多点无线温度监控系统,旨在解决现有系统存在的问题,提高监测范围和数据传输稳定性。

通过对单片机、温度传感器、通信模块等关键部件的选择和设计,构建一套高性能的无线温度监控系统,为相关领域的应用提供更好的技术支持和解决方案。

1.2 研究意义无线温度监控系统的研究意义在于提高温度监控的效率和精度,实现对多个点位的远程管理和监控。

通过使用单片机技术,可以实现对多个温度传感器的同时监测和数据传输,使监控过程更加智能化和便捷化。

这对于各种需要严格控制温度的场合如实验室、制造业、医疗行业等具有重要意义。

无线温度监控系统的研究也有助于推动物联网技术的发展,为智能家居、智能城市等领域打下基础。

通过建立稳定、高效的多点无线温度监控系统,不仅可以提高生产效率,降低能耗,提升产品质量,还可以有效预防事故发生,保障人员安全。

研究基于单片机的多点无线温度监控系统具有重要的现实意义和应用前景。

1.3 研究目的本文旨在设计并实现基于单片机的多点无线温度监控系统,通过对温度传感器采集的数据进行处理和传输,实现对多个监测点的实时监控。

具体目的包括:1. 提高温度监控系统的便捷性和灵活性,使监控人员可以随时随地实时获取监测点的温度数据,为及时处理异常情况提供有力支持;2. 降低监控系统的成本,利用单片机和无线通信模块取代传统的有线连接方式,减少线缆布线成本和维护成本;3. 提升监控系统的稳定性和可靠性,通过精心选型与设计,以及合理的系统实现过程,确保系统能够持续稳定地运行,并提供准确可靠的数据;4. 探索未来监控系统的发展方向,从实际应用情况出发,进一步优化系统性能,并为未来无线温度监控系统的研究和应用奠定基础。

基于单片机的高性价比多点温度监测记录仪的设计与研究的开题报告

基于单片机的高性价比多点温度监测记录仪的设计与研究的开题报告

基于单片机的高性价比多点温度监测记录仪的设计与研究的开题报告一、选题背景与意义温度在生产、生活、科研等方面都具有重要的作用,而在一些应用场合中,需要对多个位置的温度进行监测和记录,例如工业生产中对于不同环节的温度监测、实验室中对于多个实验器具的温度监测、医院中对于多个患者身体温度的监测等等。

传统的温度监测设备成本较高,同时很难实现多点同时监测,因此需要一种成本低廉、可靠性高、能够批量监测多点温度的设备来满足这些需求。

基于单片机的多点温度监测记录仪是一种较为理想的解决方案。

通过使用单片机,可以实现对多个温度传感器的读取与处理,并将温度数据以数字方式传输出来。

同时,该设备的成本较低,易于维护,方便控制和传输数据。

本课题旨在利用单片机设计一款高性价比的多点温度监测记录仪,以解决工业现场、实验室和医院等领域中的多点温度监测问题。

二、研究内容1. 设计多点温度监测记录仪的硬件电路,包括各种传感器的接口、A/D转换器芯片的选用、LED显示屏的设计等。

2. 将硬件电路与单片机相连接,实现对多个温度传感器的同步读取,并通过串口通信将数据传输出来。

3. 设计软件程序,实现对传感器数据的处理、存储和显示。

主要包括程序的编写和与硬件电路的配合。

4. 对所设计的多点温度监测记录仪进行测试和验证,并对经验进行总结。

三、技术路线1. 硬件设计方面,选用采样精度高、功耗低的A/D转换器芯片,同时采用串口通信进行数据的传输和显示,设计LED显示屏辅助数据显示。

2. 软件设计方面,主要使用C语言进行开发,实现对多个传感器的同步读取和数据的传输、处理和存储等功能。

3. 测试验证方面,通过实验室和实际场景测试,验证多点温度监测记录仪的性能和可靠性。

四、预期成果1. 设计出一款性能稳定、功能全面的多点温度监测记录仪,可行性得到验证。

2. 实现对多个温度传感器的同步读取,成功解决多点温度监测问题。

3. 可以提供一种性价比较高的多点温度监测设备,可用于实验室、工业生产和医疗等领域中的多点温度监测任务。

基于某单片机的多点温度测量系统设计

基于某单片机的多点温度测量系统设计

基于某单片机的多点温度测量系统设计设计需求及背景:在许多工业领域中,需要实时监测多点的温度数据,以确保系统的正常运行和生产过程的稳定性。

传统的温度测量系统通常使用多个独立的传感器连接到数据采集器,然后通过有线或无线的方式将数据传输到主控制系统。

这种设计方式存在布线繁琐、维护成本高等问题。

因此,我们需要设计一种基于单片机的多点温度测量系统,以实现简化布线、降低成本、提高系统可靠性等目的。

该系统需要能够同时测量多个点的温度,并将数据发送到中央控制系统进行处理和监控。

设计方案:1.硬件设计:- 选择一款适合的单片机作为系统主控制器,如Arduino或STM32等;-集成多个温度传感器,如DS18B20等,连接到单片机的GPIO口;-添加合适的电源管理模块,以确保传感器和单片机正常工作;-集成无线通信模块,如WiFi、蓝牙或LoRa等,以将数据传输至中央控制系统;-设计外壳和固定装置,以方便系统的安装和使用。

2.软件设计:-编写单片机上的程序,实现多路温度传感器数据的采集和处理;-设计通信协议,将采集到的数据封装成数据包,并通过无线通信模块发送至中央控制系统;-在中央控制系统上编写数据接收和处理程序,对接收到的数据进行解析和展示;-实现远程监控功能,可以通过手机或电脑实时查看系统各点的温度数据。

3.系统特点:-灵活布线:传感器可以分布在不同位置,无需固定布线,减少安装和维护成本;-高可靠性:采用单片机控制和无线通信,系统稳定性高,数据传输可靠;-高效监控:通过中央控制系统实现多点温度数据的集中管理和实时监控;-易扩展:可以根据需要增加更多传感器和扩展功能,满足不同的监测需求。

总结:基于单片机的多点温度测量系统设计,可以提高监测效率、降低成本并提高系统可靠性。

通过合理的硬件设计和软件开发,可以实现多路温度数据的实时采集和传输,为工业自动化和生产管理提供有力支持。

未来,在不断优化和扩展的基础上,这种系统设计还可以应用到更多领域,并实现更多功能和特性的进一步发展。

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统随着物联网技术的不断发展,无线传感器网络在各个领域都得到了广泛应用。

基于单片机的多点无线温度监控系统,不仅可以实现对多个温度点的实时监控,还可以通过无线方式传输监测数据,实现远程监控和管理。

本文将介绍基于单片机的多点无线温度监控系统的原理、设计和实现过程。

一、系统概述基于单片机的多点无线温度监控系统主要由传感器节点、信号处理单元、无线通信模块、监控中心等组成。

传感器节点负责采集温度数据,信号处理单元对采集的数据进行处理和存储,无线通信模块实现数据传输,监控中心则负责接收和显示监测数据。

二、系统设计1. 传感器节点设计传感器节点是系统的核心部分,负责采集温度数据。

为了实现多点监控,传感器节点需要设计成多个独立的模块,每个模块负责监测一个特定的温度点。

传感器节点的设计需要考虑传感器的选择、数据采集和处理电路的设计、以及无线通信模块的接口设计。

传感器节点采用数字温度传感器DS18B20进行温度采集,采集到的数据通过单片机进行处理和存储,然后通过无线通信模块进行数据传输。

2. 信号处理单元设计信号处理单元主要负责对传感器采集到的数据进行处理和存储。

传感器采集到的数据需要进行数字化处理,然后存储到单片机的内部存储器中。

传感器节点采用的是单片机AT89S52作为信号处理单元,通过单片机的A/D转换功能对温度数据进行数字化处理,然后存储到单片机的内部EEPROM中。

3. 无线通信模块设计无线通信模块主要负责将传感器节点采集到的数据传输到监控中心。

传感器节点采用的是nRF24L01无线模块,通过SPI接口与单片机进行通信,并实现数据的传输。

4. 监控中心设计三、系统实现传感器节点采用DS18B20数字温度传感器进行温度采集,通过单片机AT89S52进行数据处理和存储,然后通过nRF24L01无线模块实现数据的传输。

传感器节点的设计需要考虑功耗、尺寸和成本等因素,需要尽量减小功耗和尺寸,降低成本。

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统随着物联网技术的不断发展,无线传感器网络(WSN)在各个领域中的应用越来越广泛。

温度监控系统作为最基本的传感器网络应用之一,在工业控制、环境监测、医疗保健等领域中发挥着重要作用。

本文将介绍一种基于单片机的多点无线温度监控系统,通过这种系统可以实现对多个点位温度数据的实时监测和远程传输。

一、系统设计方案1. 系统硬件设计该温度监控系统的核心部件是基于单片机的无线温度传感器节点。

每个节点由温度传感器、微控制器(MCU)、无线模块和电源模块组成。

温度传感器选用DS18B20,它是一种数字温度传感器,具有高精度、数字输出和单总线通信等特点。

微控制器采用常见的ARM Cortex-M系列单片机,用于采集温度传感器的数据、控制无线模块进行数据传输等。

无线模块采用低功耗蓝牙(BLE)模块,用于与监控中心进行无线通信。

电源模块采用可充电锂电池,以确保系统的长期稳定运行。

系统的软件设计主要包括传感器数据采集、数据处理和无线通信等部分。

传感器数据采集部分通过单片机的GPIO口读取温度传感器的数据,并进行相应的数字信号处理。

数据处理部分对采集到的数据进行滤波、校正等处理,以保证数据的准确性和稳定性。

无线通信部分则通过BLE模块实现与监控中心的无线数据传输。

二、系统工作原理1. 温度传感器节点工作原理每个温度传感器节点通过温度传感器采集环境温度数据,然后通过单片机将数据处理成符合BLE通信协议的数据格式,最终通过BLE模块进行无线传输。

2. 监控中心工作原理监控中心通过接收来自各个温度传感器节点的温度数据,并进行数据解析和处理,最终在界面上显示出各个点位的温度数据。

监控中心还可以设置温度报警阈值,当某个点位的温度超过预设阈值时,监控中心会发出报警信息。

三、系统特点1. 多点监控:系统可以同时监测多个点位的温度数据,实现对多个点位的实时监控。

2. 无线传输:系统采用BLE无线模块进行数据传输,避免了布线的烦恼,使得系统的安装和维护更加便捷。

基于单片机的多点温度采集系统

基于单片机的多点温度采集系统

基于单片机的多点温度采集系统The detecting System of the muti-point EnvironmentalTemperature Based on Single chip Microcomputer目录摘要 (I)Abstract (II)引言 (1)第一章方案论证 (2)1.1课题的来源 (2)1.2系统设计思路概述 (2)1.3系统方案对比 (2)1.3.1系统设计方案一 (3)1.3.2系统设计方案二 (3)1.3.3方案对比与选择 (4)第二章硬件系统设计 (5)2.1硬件系统设计概述 (5)2.2单片机最小系统设计 (5)2.2.1单片机简要介绍 (5)2.2.2时钟电路与复位电路 (5)2.2.3单片机的工作方式 (6)2.2.4单片机最小系统 (7)2.3温度采集电路设计 (7)2.3.2 温度传感器DS18B20简介 (8)2.4键盘控制电路设计 (11)2.4.1 键盘控制的主要功能 (11)2.4.2 键盘电路设计 (11)2.5液晶显示电路设计 (13)2.5.1 LCD1602液晶显示模块 (13)2.6报警电路设计 (15)第三章软件设计 (16)3.1程序设计语言与软件开发环境 (16)3.1.1 程序设计语言的选用 (16)3.1.2 Keil C51简介 (17)3.2程序流程图 (17)3.2.1 主程序流程图 (17)3.2.2 键盘控制子程序流程图 (18)3.2.3 温度采集子程序流程图 (19)3.2.4 LCD1602显示子程序流程图 (20)3.2.5 报警电路子程序流程图 (21)第四章仿真测试 (23)4.1P ROTEUS简介 (23)4.2仿真结果 (23)总结 (27)致谢 (28)参考文献 (29)附件A 原理图 (30)附件B 程序 (31)基于单片机的多点温度采集系统摘要:本课题设计制作了一个两点温度采集系统,主要实现两路温度采集,采集的温度可在LCD上显示,可根据需要手动调整LCD上显示哪一路的温度数据,包括实时温度值,高温限值,低温限值,并可以通过按键对限值进行设定。

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统随着科技的不断进步,无线技术在各个领域的应用也越来越广泛,其中无线温度监控系统在工业、医疗、环境监测等领域起到了至关重要的作用。

本文将介绍一种基于单片机的多点无线温度监控系统,通过该系统可以实现多个温度点的实时监测和数据传输,为各种场景下的温度监控提供了一种有效的解决方案。

一、系统概述基于单片机的多点无线温度监控系统由传感器节点、单片机节点和接收器节点组成。

传感器节点负责采集温度数据,单片机节点负责数据处理和无线传输,接收器节点负责接收和显示温度数据。

系统采用无线通信技术,可以实现远距离的数据传输,同时具有低功耗、高可靠性的特点。

二、系统设计1. 传感器节点设计传感器节点采用数字温度传感器进行温度数据的采集,通过单片机节点进行数据采集、处理和无线传输。

传感器节点具有较小的体积和低功耗的特点,可以方便地布置在不同位置进行温度监测。

2. 单片机节点设计接收器节点负责接收来自单片机节点的温度数据,并进行处理和显示。

接收器节点通过液晶显示屏展示温度数据,同时可以通过网络等方式将数据上传到云端进行存储和分析。

三、系统工作流程1. 传感器节点采集温度数据,将数据发送给单片机节点;2. 单片机节点接收温度数据,进行处理和编码,然后通过无线通信模块将数据传输给接收器节点;3. 接收器节点接收温度数据,进行解码和处理,然后将数据显示在液晶屏上;4. 用户可以通过接收器节点实时监测各个传感器节点的温度数据,同时也可以通过网络等方式实现对数据的存储和分析。

四、系统特点及优势1. 多点监测:系统可以同时监测多个温度点的数据,满足不同场景下的多点温度监测需求;2. 无线传输:系统采用无线通信技术实现数据的传输,方便布置和维护;3. 低功耗设计:系统中的传感器节点和单片机节点采用低功耗设计,可以长时间稳定运行;4. 数据存储和分析:系统可以将数据上传到云端进行存储和分析,帮助用户了解温度变化的规律和趋势。

基于单片机的多点无线温度监控系统设计-毕业设计

基于单片机的多点无线温度监控系统设计-毕业设计

基于单片机的多点无线温度监控系统设计前言在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

其中,温度控制也越来越重要。

在工业生产的很多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。

采用单片机对温度进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。

因此,单片机对温度的控制问题是一个工业生产中经常会遇到的控制问题。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

因此,单片机广泛用于现代工业控制中。

随着“信息时代”的到来,作为获取信息的手段——传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。

传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。

因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。

由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。

传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。

因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。

另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。

温度传感器是其中重要的一类传感器。

其发展速度之快,以及其应用之广,并且还有很大潜力。

为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统【摘要】本文介绍了基于单片机的多点无线温度监控系统,在引言部分阐述了研究背景和研究意义。

在详细描述了系统的架构设计、硬件设计、软件设计、无线通信模块选择以及温度监控算法。

结论部分对系统性能进行了评估,并展望了未来的发展方向。

通过本文的研究,可以实现多点温度监控,并通过无线通信模块实现数据传输,具有重要的实际应用价值。

【关键词】单片机,多点无线,温度监控系统,系统架构设计,硬件设计,软件设计,无线通信模块,温度监控算法,系统性能评估,未来展望。

1. 引言1.1 研究背景随着社会的发展和科技的进步,人们对于温度监控系统的需求不断增加。

传统的温度监控系统往往存在布线困难、维护成本高等问题,因此基于单片机的多点无线温度监控系统逐渐被广泛应用。

通过使用单片机和无线通信模块,可以实现对多点的实时温度监控,提高了监控的精度和效率。

目前市面上已经存在很多基于单片机的温度监控系统,但大多数系统还存在着一些不足,比如监控点数有限、监控距离有限等问题。

研究如何设计一种更加稳定、可靠、灵活的多点无线温度监控系统是本研究的重要意义。

本文将从系统架构设计、硬件设计、软件设计、无线通信模块选择以及温度监控算法等方面进行深入研究和探讨,旨在提出一种全新的多点无线温度监控系统,以满足不同场景下对温度监控的需求。

1.2 研究意义研究意义:多点无线温度监控系统是一种能够实现远程监控和实时数据传输的智能监测系统。

在现代社会,随着科技的发展和人们生活水平的提高,温度监控成为各个领域中至关重要的一环。

例如在医疗领域,温度监控可以用于监测患者的体温变化,帮助医护人员及时发现异常情况;在工业生产中,温度监控可以用于保证生产过程的稳定性和产品质量的一致性。

而基于单片机的多点无线温度监控系统不仅可以实现对多个监测点的同时监控,还可以通过无线通信模块实现远程数据传输,极大地提高了监控的便利性和效率。

研究开发这种系统具有非常重要的意义。

基于单片机的多点温湿度采集与无线传输系统-郑州大学讲解

基于单片机的多点温湿度采集与无线传输系统-郑州大学讲解

郑州大学毕业设计题目:基于51单片机的多点温湿度采集和无线传输系统指导教师:职称:专业:电子信息工程院(系):信息工程学院完成时间:基于51单片机的多点温湿度采集和无线传输系统摘要:本系统是基于51单片机的多点温湿度采集和无线传输系统,由两个发射模块与一个接收模块组成。

发射模块利用数字温湿度传感器DHT11采集环境温湿度数据并传送给STC89C52RC单片机,单片机进行数据处理后利用无线传输模块NRF24L01进行无线发送。

同时,NRF24L01具有接收功能,接收模块的NRF24L01将接收到的数据传给STC89C52RC单片机,最后用数字显示屏LCD1602将经过单片机处理后的温湿度数据显示出来。

本系统能够完成同时远距离采集两点温湿度并在系统终端进行显示的功能,以达到监测多点环境温湿度的目的。

结果表明,本系统能够方便、高效、及时地测量出两个采集点的温湿度。

关键词:STC89C52 数据处理无线传输温湿度Abstract: This is a multi-point temperature and humidity acquisition and wireless transmission system which is based on 51 single-chip microcomputer .it includes two transmitter modules and a receiver module. Transmission module use DHT11—digital temperature and humidity sensor to collect temperature and humidity data and transmit them to STC89C52RC micro-controller.The micro-controller process the data and use NRF24L01—the wireless transmission module to transmit data wirelessly.At the same time,NRF24L01 have the function of reception. NRF24L01 of the receiver module will transmit the received data to the STC89C52RC micro-controller, and finally use LCD1602—a digital display screen to display temperature and humidity data after the micro-controller process the received data. The system can complete simultaneously and remotely the collection of temperature and humidity and the display of data in terminal features.It achieved the purpose of monitoring multi-point temperature and humidity. The results show that the system can measure the two collection points of temperature and humidity conveniently, efficiently, and timely.Key word: STC89C52 data processing wireless transmission temperature and humidity目录1绪论 (1)1.1引言 (1)1.2 选题背景及意义 (1)1.3 国内外现状及发展趋势 (2)1.4 研究内容 (3)2 系统架构 (4)3 系统硬件设计 (5)3.1 主控模块 (5)3.1.1单片机的选择 (5)3.1.2 主控模块的硬件设计 (7)3.2 温湿度采集模块 (8)3.2.1 温湿度传感器的选择 (8)3.2.2温湿度采集模块的硬件设计 (9)3.3 无线传输模块 (10)3.3.1 无线传输模块的元器件选择 (10)3.3.2无线传输模块的硬件设计 (12)3.4 显示模块 (13)3.4.1 显示屏的选择 (13)3.4.2显示模块的硬件设计 (14)4 软件设计 (16)4.1 系统总体软件设计 (16)4.1.1 发射机的总体软件设计 (16)4.1.2 接收机的总体软件设计 (16)4.2 温湿度采集模块软件设计 (17)4.3 无线传输模块软件设计 (18)4.3.1 数据发送模块软件设计 (18)4.3.2 数据接收模块软件设计 (20)4.4 显示模块软件设计 (22)5系统的实现与测试 (23)5.1系统的实现 (23)5.2系统的调试 (25)结论 (29)致谢 (32)参考文献 (33)1绪论1.1引言工业农业在国民经济中占据着重要地位,温度和湿度是工农业生产中一项重要的生产指标。

(完整版)基于单片机的多点温度检测系统毕业设计论文

(完整版)基于单片机的多点温度检测系统毕业设计论文

集成电路课程设计课题:基于AT89C51单片机的多点温度测量系统设计姓名:韩颖班级:测控12-1学号:指导老师:汪玉坤日期:目录一、绪论二、总体方案设计三、硬件系统设计1主控制器2 显示模块3温度采集模块(1)DS18B20的内部结构(2)高速暂存存储器(3)DS18B20的测温功能及原理(4)DS18B20温度传感器与单片机的连接(5)单片机最小系统总体电路图四、系统软件设计五、系统仿真六、设计总结七、参考文献八、附源程序代码一、绪论在现代工业控制中和智能化仪表中,对于温度的控制,恒温等有较高的要求,如对食品的管理,冰箱的恒温控制,而且现在越来越多的地方用到多点温度测量,比如冰箱的保鲜层和冷冻层是不同的温度这就需要多点的测量和显示可以让用户直观的看到温度值,并根据需要调节冰箱的温。

它还在其他领域有着广泛的应用,如:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测。

温度检测系统应用十分广阔。

本设计采用DALLAS最新单线数字温度传感器DS18B20 简介新的"一线器件"体积更小、适用电压更宽、更经济DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持"一线总线",测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°二、设计过程及工艺要求1、基本功能(1)检测两点温度(2)两秒间隔循环显示温度2、主要技术参数测温范围:-30℃到+99℃测量精度:0.0625℃显示精度:0.1℃显示方法:LCD循环显示3、系统设计系统使用AT89C51单片机对两个DS18B20进行数据采集,并通过1602LCD液晶显示器显示所采集的温度。

DS18B20以单总线协议工作,51单片机首先分别发送复位脉冲,使信号上所有的DS18B20芯片都被复位,程序先跳过ROM,启动DS18B20进行温度变换,再读取存储器的第一位和第二位读取温度,通过IO口传到1602LCD显示。

基于单片机设计实现多点温度的监测

基于单片机设计实现多点温度的监测

基于单片机的炉窑多点温度监测系统一、系统背景温度是一般工业领域最容易碰到的检测参数,如环境温度的检测,工业工艺温度参数的检测,设备的温度保护检测等,而市场上专用的、通用的各类温控仪产品也比较丰富,国内外的温度检测仪器的发展水平主要体现在仪器的竹能化水平、测最的温度范围、测拟的精度以及仪器的功耗等技术指标上,目前国内的温度测星,在精度上很少有高于0. 1℃。

在同一个行业,各个企业之间的现代化水平的差异也十分人,尽管目前的计算机技术和电子技术的发展水平都十分迅猛,但仍有一部分企业对温度的测量,还停留在用水银温度计作为测量工具。

近年来,信息化一词在自动化领域内十分叫响,它在一定程度上推动了自动化技术的发展,我们的许多厂矿企业,运用计算机的水平不再体现在办公室的管理上,而且深入到生产的各个环节,各种可能导致安全生产隐患的各个环节在可能的条件下均运用了先进的计算机监控,例如:煤矿计算机调度监控系统、胶带输送机的计算机综合保护系统、各种现场的电机温度保护系统、各种炉窑的温度控制系统以及化工行业的温度工艺参数的自动调节等,无不有温度参数的监测。

二、系统概述本设计由一台上位机(PC微型计算机)、下位机(单片机)、多点温度数据采集电路,组成多点温度测量的巡回检测系统。

该系统采用RS-232串行通信标准,通过上位机(PC)来控制下位机(单片机)进行现场温度采集。

温度值既可以送回PC机进行数据处理,由显示器显示出来。

也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。

下位机采用的是单片机基于数字温度传感器DS18B20的系统。

DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。

采用上下位机实现,下位机使用AT89C52,可以实现按键控制,多路温度采集,对温度的实时显示:上位机可以实现对下位机的控制,对于下位机采集到的数据可以利用绘图软件绘成图显示出来。

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统

基于单片机的多点无线温度监控系统随着现代科技的不断发展,单片机技术在各个领域都得到了广泛的应用。

基于单片机的多点无线温度监控系统是一个非常实用的应用场景。

这种系统可以用于监控各个物理位置的温度变化,并且可以通过无线方式将数据传输到中央控制端,便于实时监控和远程管理。

本文将介绍基于单片机的多点无线温度监控系统的设计原理、硬件搭建和软件编程等方面的内容。

一、系统设计原理该系统的设计原理是通过多个传感器节点采集不同位置的温度数据,然后通过无线通信模块将数据传输到中央控制端,最后通过显示屏或者计算机等设备进行实时监控。

整个系统包括传感器节点、单片机控制模块、无线通信模块和中央控制端。

传感器节点:每个传感器节点都搭载一个温度传感器,用于采集环境温度数据。

一般可以选择DS18B20等数字式温度传感器,其具有高精度、数字输出、抗干扰等特点。

传感器节点还需要有适当的电源和信号处理电路。

单片机控制模块:每个传感器节点都需要配备一个单片机控制模块,用于控制传感器的采集和数据的处理。

可以选择常见的单片机芯片,如STC89C52等。

单片机控制模块负责读取传感器数据、进行数据处理和存储等操作。

无线通信模块:每个传感器节点还需要配备一个无线通信模块,用于将采集到的温度数据传输到中央控制端。

可以选择类似nRF24L01等2.4GHz无线通信模块,其具有低功耗、远距离传输和多节点连接等特点。

中央控制端:中央控制端负责接收各个传感器节点传输过来的数据,并对数据进行汇总和处理。

可以选择单片机、嵌入式开发板或者计算机等设备作为中央控制端,配备合适的无线通信模块用于接收数据。

二、系统硬件搭建传感器节点的硬件搭建主要包括传感器模块、单片机控制模块和无线通信模块三个部分。

传感器模块可以直接连接DS18B20温度传感器,并通过合适的引脚连接到单片机控制模块。

单片机控制模块由单片机芯片、外部晶振、电源管理电路、数据存储器和通信接口等组成,其中通信接口连接无线通信模块。

基于51单片机的多路温度采集系统

基于51单片机的多路温度采集系统

基于单片机的多路温度采集系统一、摘要:本设计利用单片机及Keil编程软件编程和PROTEUS单片机仿真软件和电子电工等方面知识,用Keil编程软件编程,用PROTEUS单片机仿真软件仿真。

最后制作实物,将程序下载到单片机中,利用(I/O)口采集来自多路温度的数据,根据各路温度的不同,集中准确的显示出来,并且根据所设温度的上下限通过驱动蜂鸣器进行听觉上的报警,同时还可以通过LED灯协助进行视觉上的报警,从而达到多点温度的采集和报警的目的。

以Keil编程软件和PROTEUS软件来进行仿真、分析,调试,为设计提供了一个方便、快捷的途径,为设计节约了设计时间。

关键词:AT89S52单片机温度采集报警二、设计要求1、检测的温度范围:0℃~100℃。

2、检测分辨率 0.1℃。

3、显示的多路的温度值不相互干扰,而且对各个传感器的所属温度都能进行报警。

三、硬件电路设计1、系统的设计思路本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。

单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LCD进行显示。

本系统可以实现多路温度信号采集与显示,可以使用程序来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和LED进行报警。

2、系统总体设计方案系统总体主要由对单片机进行编程后得到控制,系统的其他功能部件分别接至单片机的对应I/O口。

整体模块如图:3、主控制器本次设计选择Atmel 公司生产的AT89C51作为控制芯片。

AT89C51是高性能的CMOS8位单片机,片内含有4K bytes 的可反复擦写的只读程序存储器和128的随机存取数据存储器。

AT89系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个电路体积更小。

基于单片机的仓库多点温度采集系统

基于单片机的仓库多点温度采集系统

摘要本课题设计的是基于单片机的仓库多点温度采集系统,温度是生产过程和科学实验中普遍且重要的物理参数。

在生产中,为了高效生产,必须对生产过程中的主要参数,如温度、压力、流量、速度等进行有效的控制。

其中温度在生产过程中占有相当大的比例。

准确有效地测量、采集、控制温度是优质、高产、低耗和安全生产的主要条件。

目前在我国许多大棚、仓库等需要温度控制的单位仍采用测温仪器与人工抄录、管理相结合的传统方法,这不仅效率低,还易出错。

采用单片机与数字温度传感器等可构成温度采集系统,运用先进的思想,设计一种可以用于大规模多点温度采集系统。

将极大地提高工作效率和测量、采集、控制结果的准确性。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

单片机由于其微小的体积和极低的成本,而广泛的应用于家用电器、工业控制等领域中。

多点温度采集系统是利用温度传感器DS18B20检测温度,并由单片机处理显示。

本设计利用AT89C51单片机为处理器,结合温度采集电路、键盘电路、显示电路、报警电路等实现对多点温度的实时检测与显示。

通过设计实物,对系统存在的问题进行了分析和总结,并提出了改进措施。

实验证明:该信号采集系统性能稳定,采集精度高,具有极高的性价比。

关键词:单片机;DS18B20;温度采集;单总线ABSTRACTThis topic is the design of multipoint temperature acquisition system based on SCM warehouse, temperature is a common and important physical parameters in the production process and scientific experiments. In production, in order to efficient production, must be the main parameters of production process, such as temperature, pressure, flow, speed of effective control. The temperature has quite large proportion in the production process. Accurately measuring, acquisition, control of temperature is the main condition of high quality, high yield, low consumption and production safety.At present, in our country a lot of greenhouse, warehouse temperature control units are still using the traditional method of temperature measurement instrument and manual copy, the combination of management, this is not only inefficient, but also easy to make mistakes. Using SCM and digital temperature sensor can be formed into a temperature acquisition system, using the advanced thought, a design can be used in large-scale multipoint temperature acquisition system. Will greatly improve the work efficiency and measuring, acquisition, control the accuracy of the results.Single-chip is a device which consists of a set of CPU, RAM, ROM, I/O interface, interrupt system and other parts. You only need external power supply and clock then the digital information processing and control can be achieved on. Because of the small scale, low price and high efficiency of MCU, it is widely used in home appliances and industrial control. Multi-channel temperature acquisition system is used temperature thermometer DS18B20 to detect the temperature, process and display by the single-chip.This design uses A T89S52 as microprocessor to realize design goal this design including temperature gathering circuit, keyboard circuit, display circuit, alarm circuit etc. to achieve the temperature detection and the display. To introduce the problems during the debugging are analyzed and summarized, some measure about the system improvement are proposed.The result of experiments indicated that signal sampling system has good performance, high precision, and has a very high pertormance-to-price ration.Key words: MCU;DS18B20;temperature acquisitio;unibus目录1 绪论 ........................................................................................................................................................... I II1.1选题背景 ......................................................................................................................................... I II1.2 本设计国内外状况...................................................................................................................... I II1.3本设计的任务和主要内容 (IV)2 系统总体设计 (IV)2.1系统概述 (IV)2.2 系统工作原理分析 (IV)3 系统的硬件设计 (VI)3.1 温度采集系统的开发过程 (VI)3.2 单片机的最小系统设计 (VII)3.2.1 单片机的选型 (VII)3.2.2 AT89C51的性能及应用 (VII)3.2.3 时钟电路设计 (IX)3.2.4 复位电路设计 (IX)3.3温度采集接口电路设计 (X)3.3.1 DS18B20简介 (X)3.3.2 DS18B20与单片机的接口设计 (XIV)3.4 显示器与键盘电路的设计 (XIV)3.4.1 显示电路设计.................................................................................................................... X V3.4.2 键盘电路设计 (XVII)3.5 报警电路设计.......................................................................................................................... X VIII4 多点温度采集系统的软件设计 (XIX)4.1 主程序流程设计 (XIX)4.2 程序设计及巡检子程序设计 (XXI)4.3巡检键盘及数码管多通道显示............................................................................................... X XIII4.4 温度报警程序设计 (XXV)5 总结 (XXV)参考文献 ................................................................................................................................................. X XVI 致谢 .. (XXVII)附录A 多点温度采集系统电路图 (XXVIII)附录B DS18B20温度测量、采集程序................................................................................................ X XIX1.绪论本设计主要设计一种仓库多点温度采集检测系统,采用目前低价位但技术十分成熟的AT89C51单片机作为内核,选用DS18B20作为温度传感器,送到显示器循环显示所测的四路温度数值,并根据现场工业需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。

基于单片机的远程多路温度采集系统

基于单片机的远程多路温度采集系统

基于单片机的远程多路温度采集系统
基于单片机的远程多路温度采集系统是一种常见的温度监测系统。

它通过多个传感器来采集各个位置的温度,并通过无线通信技术将数据上传至远程服务器进行处理,最终实现对多个位置的温度监测和远程管理。

该系统由多个温度传感器、单片机、无线通信模块、显示屏等部分组成。

采用数字温度传感器来检测环境的温度,并将温度值通过单片机进行采集和处理。

之后,单片机再将处理后的数据通过无线通信模块发送到远程服务器上进行处理和存储。

通过显示屏可以直观地显示温度信息,也可以通过远程管理系统进行远程查看和调整。

基于单片机的远程多路温度采集系统具有许多优点。

首先,通过数字温度传感器进行温度测量,精度更高且测量数据更加稳定。

其次,该系统实现了远程无线数据通信,避免了数据传输的受限和线路的限制。

最后,可视化的显示屏和远程管理系统方便用户对温度数据进行监测和管理。

该系统适用于许多领域。

例如,田间地头或实验室实时监测不同位置的温度变化,以确保样品或产品在特定环境下的稳定性;也适用于疾病预防和监测领域,在医院和公共场合中监测人员的体温情况以预防疾病的传播。

总之,基于单片机的远程多路温度采集系统是一种方便实用
的温度监测系统。

它可以帮助用户实现对多个位置的温度监控,
通过远程无线通信技术实现数据传输。

在实际应用中,该系统为不同领域的使用者提供了更为方便的温度监测和管理。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

多点温度采集与记录系统目录一、引言 (4)二、硬件设计 (5)三、软件设计 (9)四、总结 (11)五、参考文献 (12)六、程序附录 (13)一、引言温度(K)是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量。

在工、农业生产和日常生活中,占据着极其重要地位。

工业发展与是否能掌握温度有着密切的联系。

在冶金、钢铁、石化、水泥、玻璃、医药等行业都与之有关,可以说几乎80%的工业部门都不得不考虑温度对自身系统的影响。

本设计是基于单片机的多点温度采集系统设计,多点温度测量显示是近几年的研究课题,随着传感技术与通讯技术的发展,单片机的出现,温度测量仪器应运而生,最近几年的研究更是迅速。

采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。

因此,本课题的研究在实际应用中意义十分重大。

二、硬件设计2.1总体方案硬件设计主要是温度测量模块的容,本设计由AT89C51单片机,LCD1602液晶显示屏,DS18B20温度传感器,以及DB9通信接口。

一共包括三大模块:控制模块,温度采集模块,温度显示模块。

总体方案如下图所示:1.1 系统总方案图2.1.1 控制模块功能控制模块在系统的功能是控制温度采集模块完成温度采集并将采集到的温度读入控制模块的数据寄存器,再将从温度采集模块读取的温度数据写入显示模块并控制显示模块完成温度的显示。

其中主控单位是AT89C52。

2.1.2 温度采集模块功能温度采集模块的主要功能是通过温度传感器感应温室温度并转化成模拟信号,通过转化模块将模拟信号转化成数字信号,并存取温度数据。

本设计采用2个DS18B20温度传感器,温度传感器DS18B20采用的电压是部电压,大小为5V,一个引脚接地,一个引脚接+5V电源,中间的引脚是数据的输入输出口。

由于每个单片机开发板上有两个温度传感器,所以一个传感器的输出是P1.4,另一个传感器的输出是P1.5。

使用时将一个传感器接到单片机的18b20接口,接口的1脚接18b20的地端,接口的3脚接18b20的电源,另一个温度传感器的电源接到P0.0口,数据读写端接到P1.5口,地端接到单片机的接地端,下面是温度传感器DS18B20的时序图。

图1.2 温度传感器DS18B20时序图2.1.3 温度显示模块功能温度显示模块的主要功能是在控制模块的控制下将控制模块写入的数据显示在液晶屏上,便于读取温度数值。

显示模块采用LCD1602液晶屏。

1602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W (读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。

以下具体阐述这三个管脚:RS为寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。

R/W为读写选择,高电平进行读操作,低电平进行写操作。

E端为使能端,后面和时序联系在一起。

除此外,D0~D7分别为8位双向数据线。

其操作时序如下图所示:图1.3 LCD1602时序图2.1.4温读报警模块温度报警模块主要由2个led灯组成,当温度的采集值高于设定的温度上限或者低于设定的温度下限时,led灯将由暗变亮进行报警,此时此时设计者就可以改变室外的温度满足温度的需求,此报警简单易懂,可操作性强。

2、硬件电路仿真根据设计的总方案在pretues中仿真,其结果如图所示;图1.4硬件电路仿真当温度超过高于设定的温度上限(此处设定38℃)或者低于下限(此处设定12℃)时,led灯发生报警。

其仿真图如下所示:图1.3 温度报警显示三、软件设计软件设计包括下位机编程和PC机编程,下位机编程完成ds18b20的温度采集、数据处理、数码管显示,串口中断处理及硬件初始化,通信协议的制定及数据的收发。

通过串口通信将温度数据在上位机上面显示,并且编译VB程序,实现报警显示。

上位机程序工程:图3.1上位机工程显示当温度1是35℃,温度计2是13℃时:当温度1是39℃,温度计2是11℃时:四、总结通过这次课程学习制作,令我学到了很多东西受益匪浅,仿佛又经历了一次系统学习,在作做课程前,我的导师也要求我做一些温度采集的设计,我一直在查找相关资料,这次的设计让我对多点温度采集的知识了解了许多,同时也上位机编程有了初步的概念。

一直来认为做这些设计没什么困难,但在实际运作过程中才清楚地认识到自己的不足和短练,端正了学习态度。

这次设计使我加深巩固了基础知识,更加深刻的把握到基础知识的重要,提高了动手和实际解决问题的能力,提高了对问题整体规划的意识。

能把握重点设计的核心,并提高查阅资料的能力,培养了团队合作精神和人际交往能力。

由于本人水平有限,难免有考虑不足之处,所以恳请老师同学们批评指正。

五、参考文献[1]谭浩强《C程序设计》,清华大学[2]童诗白《模拟电子技术基础(第四版)》,高等教育[3]恢先、黄辉先《单片机原理及应用》,人民邮电[4]何立民《单片机高级教程--应用于设计(第二版)》,航空航天大学[5]蔡《单片机控制实习与专题制作》,航空航天大学[6]伏加、林峰《Visual Basic程序设计教程(第4版)》,邮电大学六、程序附录单片机c语言代码:#include<reg52.h>#include<stdio.h> //标准输入输出#include<intrins.h>#define uchar unsigned char#define uint unsigned int;#define ulong unsigned long;/******************************************************************/ /* 定义端口 */ /******************************************************************/ #define Data P0//数据端口sbit RS = P2^4; //Pin4sbit RW = P2^5; //Pin5sbit E = P2^6; //Pin6sbit DQ=P1^3;//ds18b20 端口sbit DQ1=P1^4;//ds18b20 端口改动sbit D0=P1^6;sbit D1=P1^5;/******************************************************************/ /* 全局变量 */ /******************************************************************/ uint temp=0,temp1=0;float t0,t1;float high=38,low=12,change=0;unsigned char point_flag=0,key_flag=0;unsigned char receive[5];unsigned char receive_no=0;unsigned char receive_flag=0;char Text[]=" ";uchar code TPoint[16]={0, 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 8, 8, 9, 9 }; /* 函数声明 */ /******************************************************************/ /******************************************************************/ /* 微秒延时函数 */ /******************************************************************/ void DelayUs(unsigned char us)//delay us{unsigned char uscnt;uscnt=us>>1; /*12MHz频率*/while(--uscnt);}/******************************************************************/ /* 毫秒函数声明 */ /******************************************************************/ void DelayMs(unsigned char ms){while(--ms){DelayUs(250);DelayUs(250);DelayUs(250);DelayUs(250);}}/******************************************************************/ /* 1602写入命令函数*//******************************************************************/ void WriteCommand(unsigned char c){DelayMs(5);//操作前短暂延时,保证信号稳定E=0;RS=0;RW=0;_nop_();E=1;Data=c;E=0;}/******************************************************************/ /* 1602写入数据函数 */ /******************************************************************/ void WriteData(unsigned char c){DelayMs(5); //操作前短暂延时,保证信号稳定E=0;RS=1;RW=0;_nop_();E=1;Data=c;E=0;RS=0;}/******************************************************************/ /* 1602写入字节函数 */ /******************************************************************/ void ShowChar(unsigned char pos,unsigned char c){unsigned char p;if (pos>=0x10)p=pos+0xb0; //是第二行则命令代码高4位为0xcelsep=pos+0x80; //是第二行则命令代码高4位为0x8WriteCommand (p);//写命令WriteData (c); //写数据}/******************************************************************/ /* 1602写入字符串函数 */ /******************************************************************/ void ShowString (unsigned char line,char *ptr){unsigned char l,i;l=line<<4;for (i=0;i<16;i++)ShowChar (l++,*(ptr+i));//循环显示16个字符}/******************************************************************/ /* 1602初始化函数 */ /******************************************************************/ void InitLcd(){DelayMs(15);WriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x38); //display modeWriteCommand(0x06); //显示光标移动位置WriteCommand(0x0c); //显示开及光标设置WriteCommand(0x01); //显示清屏}/******************************************************************/ /* 18b20延时函数*//******************************************************************/ void delay(unsigned int i)//延时函数{while(i--);}/******************************************************************/ /* 18b20初始化*//******************************************************************/ void Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时大于 480usDQ = 1; //拉高总线delay(10);x=DQ; //稍做延时后如果x=0则初始化成功 x=1则初始化失败delay(5);}void Init_DS18B201(void){unsigned char x=0;DQ1 = 1; //DQ复位delay(8); //稍做延时DQ1 = 0; //单片机将DQ1拉低delay(80); //精确延时大于 480usDQ1 = 1; //拉高总线delay(10);x=DQ1; //稍做延时后如果x=0则初始化成功 x=1则初始化失败delay(5);}/******************************************************************/ /* 18b20读一个字节*//******************************************************************/ unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(5);}return(dat);}unsigned char ReadOneChar1(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ1 = 0; // 给脉冲信号dat>>=1;DQ1 = 1; // 给脉冲信号if(DQ1)dat|=0x80;delay(5);}return(dat);}/******************************************************************/ /* 18b20写一个字节*//******************************************************************/ void WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}delay(5);}void WriteOneChar1(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ1 = 0;DQ1 = dat&0x01;delay(5);DQ1 = 1;dat>>=1;}delay(5);}/******************************************************************/ /* 18b20读取温度*//******************************************************************/ unsigned int ReadTemperature(void){unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar(); //低位b=ReadOneChar(); //高位b<<=8;t=a+b;return(t);}unsigned int ReadTemperature1(void){unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B201();WriteOneChar1(0xCC); // 跳过读序号列号的操作WriteOneChar1(0x44); // 启动温度转换delay(200);Init_DS18B201();WriteOneChar1(0xCC); //跳过读序号列号的操作WriteOneChar1(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar1(); //低位b=ReadOneChar1(); //高位b<<=8;t=a+b;return(t);}void UartInit(void) //4800bps11.0592MHz{SCON = 0x50;TMOD |= 0x20;TL1 = 0xFD;TH1 = 0xFD;TR1 = 1;ES = 1;EA = 1;}/******************************************************************/ /* 主函数 */ /******************************************************************/ main(){unsigned int TempL,TempH,TempL1,TempH1;//state,i,j,k;float wendu;InitLcd(); //初始化LCDDelayMs(15); //延时保证信号稳定UartInit();EX0=1;IT0=1;while(1){temp=ReadTemperature();temp1=ReadTemperature1();t0=temp*0.0625;t1=temp1*0.0625;TempH=temp>>4;TempL=TPoint[temp&0x0F];TempH1=temp1>>4;TempL1=TPoint[temp1&0x0F];if(t0<low||t0>high){D0=0;}else{D0=1;}if(t1<low||t1>high){D1=0;}else{D1=1;}SBUF=0xff;//校验while(!TI);TI=0;SBUF=TempH;while(!TI);TI=0;SBUF=TempL;while(!TI);TI=0;SBUF=TempH1;while(!TI);TI=0;SBUF=TempL1;while(!TI);TI=0;SBUF=(int)wendu;while(!TI);TI=0;SBUF=(int)(wendu*10)%10; while(!TI);TI=0;SBUF=(int)high;while(!TI);TI=0;SBUF=(int)(high*10)%10;while(!TI);TI=0;SBUF=(int)low;while(!TI);TI=0;SBUF=(int)(low*10)%10;while(!TI);TI=0;ShowString(0,Text);if(key_flag==0)sprintf(Text,"%d.%d%cC,%d.%d%cC",TempH,TempL,0xdf,TempH1,TempL1,0xdf);//打印输出第二行信息elsesprintf(Text,"U:%d.%d%%,D:%d.%d%%",(int)high,(int)(high*10)%10,(int)low,(int)(low*10)%10);//打印输出第二行信息}}void s(void) interrupt 4{if(RI){RI=0;if (receive_flag==0){receive_no=0;receive[receive_no]=SBUF;if (receive[receive_no]==0x63){receive_flag=1;change=0;point_flag=0;}}else{receive_flag=0;receive[receive_no]=SBUF;if(receive[receive_no]!=0x61 && receive[receive_no]!=0x62 &&receive[receive_no]!=0x2E && point_flag==0){change=change*10+receive[receive_no]-'0';receive_no++;receive_flag=1;}else if(receive[receive_no]==0x2E&&change!=0){point_flag=1;receive_no++;receive_flag=1;}else if(receive[receive_no]!=0x61 &&receive[receive_no]!=0x62 && receive[receive_no]!=0x2E && point_flag==1){change+=(receive[receive_no]-'0')*0.1;receive_no++;receive_flag=1;point_flag=0;}else if(receive[receive_no]==0x61){high=change;change=0;receive_flag=0;receive_no=0;point_flag=0;}else if(receive[receive_no]==0x62){low=change;change=0;receive_flag=0;receive_no=0;point_flag=0;}}}}void ISR_Key(void) interrupt 0 using 1{key_flag=~key_flag; }页脚.。

相关文档
最新文档