基于单片机的温度控制器设计

合集下载

基于STM32单片机的温度控制系统设计

基于STM32单片机的温度控制系统设计

基于STM32单片机的温度控制系统设计一、本文概述本文旨在探讨基于STM32单片机的温度控制系统的设计。

我们将从系统需求分析、硬件设计、软件编程以及系统测试等多个方面进行全面而详细的介绍。

STM32单片机作为一款高性能、低功耗的微控制器,广泛应用于各类嵌入式系统中。

通过STM32单片机实现温度控制,不仅可以精确控制目标温度,而且能够实现系统的智能化和自动化。

本文将介绍如何通过STM32单片机,结合传感器、执行器等硬件设备,构建一套高效、稳定的温度控制系统,以满足不同应用场景的需求。

在本文中,我们将首先分析温度控制系统的基本需求,包括温度范围、精度、稳定性等关键指标。

随后,我们将详细介绍系统的硬件设计,包括STM32单片机的选型、传感器和执行器的选择、电路设计等。

在软件编程方面,我们将介绍如何使用STM32的开发环境进行程序编写,包括温度数据的采集、处理、显示以及控制策略的实现等。

我们将对系统进行测试,以验证其性能和稳定性。

通过本文的阐述,读者可以深入了解基于STM32单片机的温度控制系统的设计过程,掌握相关硬件和软件技术,为实际应用提供有力支持。

本文也为从事嵌入式系统设计和开发的工程师提供了一定的参考和借鉴。

二、系统总体设计基于STM32单片机的温度控制系统设计,主要围绕实现精确的温度监测与控制展开。

系统的总体设计目标是构建一个稳定、可靠且高效的环境温度控制平台,能够实时采集环境温度,并根据预设的温度阈值进行智能调节,以实现对环境温度的精确控制。

在系统总体设计中,我们采用了模块化设计的思想,将整个系统划分为多个功能模块,包括温度采集模块、控制算法模块、执行机构模块以及人机交互模块等。

这样的设计方式不仅提高了系统的可维护性和可扩展性,同时也便于后续的调试与优化。

温度采集模块是系统的感知层,负责实时采集环境温度数据。

我们选用高精度温度传感器作为采集元件,将其与STM32单片机相连,通过ADC(模数转换器)将模拟信号转换为数字信号,供后续处理使用。

基于单片机的室内温度控制系统设计与实现

基于单片机的室内温度控制系统设计与实现

基于单片机的室内温度控制系统设计与实现1. 本文概述随着科技的发展和人们生活水平的提高,室内环境的舒适度已成为现代生活中不可或缺的一部分。

作为室内环境的重要组成部分,室内温度的调控至关重要。

设计并实现一种高效、稳定且经济的室内温度控制系统成为了当前研究的热点。

本文旨在探讨基于单片机的室内温度控制系统的设计与实现,以满足现代家居和办公环境的温度控制需求。

本文将首先介绍室内温度控制系统的研究背景和意义,阐述其在实际应用中的重要性和必要性。

随后,将详细介绍基于单片机的室内温度控制系统的设计原理,包括硬件设计、软件编程和温度控制算法等方面。

硬件设计部分将重点介绍单片机的选型、传感器的选取、执行机构的搭配等关键环节软件编程部分将介绍系统的程序框架、主要功能模块以及温度数据的采集、处理和控制逻辑温度控制算法部分将探讨如何选择合适的控制算法以实现精准的温度调控。

在实现过程中,本文将注重理论与实践相结合,通过实际案例的分析和实验数据的验证,展示基于单片机的室内温度控制系统的实际应用效果。

同时,还将对系统的性能进行评估,包括稳定性、准确性、经济性等方面,以便为后续的改进和优化提供参考。

本文将对基于单片机的室内温度控制系统的设计与实现进行总结,分析其优缺点和适用范围,并对未来的研究方向进行展望。

本文旨在为读者提供一种简单、实用的室内温度控制系统设计方案,为相关领域的研究和实践提供有益的参考。

2. 单片机概述单片机,也被称为微控制器或微电脑,是一种集成电路芯片,它采用超大规模集成电路技术,将具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种IO口和中断系统、定时器计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、AD转换器等电路)集成到一块硅片上,构成一个小而完善的微型计算机系统。

单片机以其体积小、功能齐全、成本低廉、可靠性高、控制灵活、易于扩展等优点,广泛应用于各种控制系统和智能仪器中。

基于单片机的pid温度控制系统设计

基于单片机的pid温度控制系统设计

一、概述单片机PID温度控制系统是一种利用单片机对温度进行控制的智能系统。

在工业和日常生活中,温度控制是非常重要的,可以用来控制加热、冷却等过程。

PID控制器是一种利用比例、积分、微分三个调节参数来控制系统的控制器,它具有稳定性好、调节快等优点。

本文将介绍基于单片机的PID温度控制系统设计的相关原理、硬件设计、软件设计等内容。

二、基本原理1. PID控制器原理PID控制器是一种以比例、积分、微分三个控制参数为基础的控制系统。

比例项负责根据误差大小来控制输出;积分项用来修正系统长期稳态误差;微分项主要用来抑制系统的瞬时波动。

PID控制器将这三个项进行线性组合,通过调节比例、积分、微分这三个参数来实现对系统的控制。

2. 温度传感器原理温度传感器是将温度变化转化为电信号输出的器件。

常见的温度传感器有热电偶、热敏电阻、半导体温度传感器等。

在温度控制系统中,温度传感器负责将环境温度转化为电信号,以便控制系统进行监测和调节。

三、硬件设计1. 单片机选择单片机是整个温度控制系统的核心部件。

在设计单片机PID温度控制系统时,需要选择合适的单片机。

常见的单片机有STC89C52、AT89S52等,选型时需要考虑单片机的性能、价格、外设接口等因素。

2. 温度传感器接口设计温度传感器与单片机之间需要进行接口设计。

常见的温度传感器接口有模拟接口和数字接口两种。

模拟接口需要通过模数转换器将模拟信号转化为数字信号,而数字接口则可以直接将数字信号输入到单片机中。

3. 输出控制接口设计温度控制系统通常需要通过继电器、半导体元件等控制输出。

在硬件设计中,需要考虑输出接口的类型、电流、电压等参数,以及单片机与输出接口的连接方式。

四、软件设计1. PID算法实现在单片机中,需要通过程序实现PID控制算法。

常见的PID算法包括位置式PID和增量式PID。

在设计时需要考虑控制周期、控制精度等因素。

2. 温度采集和显示单片机需要通过程序对温度传感器进行数据采集,然后进行数据处理和显示。

基于单片机的温度控制系统设计原理

基于单片机的温度控制系统设计原理

基于单片机的温度控制系统设计原理基于单片机的温度控制系统设计概述•温度控制系统是在现代生活中广泛应用的一种自动控制系统。

它通过测量环境温度并对温度进行调节,以维持设定的温度范围内的稳定状态。

本文将介绍基于单片机的温度控制系统的设计原理。

单片机简介•单片机是一种集成电路芯片,具有强大的计算能力和丰富的输入输出接口。

它可以作为温度控制系统的核心控制器,通过编程实现温度的测量和调节功能。

温度传感器•温度传感器是温度控制系统中重要的部件,用于测量环境温度。

常见的温度传感器有热敏电阻、热电偶和数字温度传感器等。

在设计中,需要选择适合的温度传感器,并通过单片机的模拟输入接口对其进行连接。

温度测量与显示•单片机可以通过模拟输入接口读取温度传感器的信号,并进行数字化处理。

通过数值转换算法,可以将传感器输出的模拟信号转换为温度数值,并在显示器上进行显示。

常见的温度显示方式有数码管和LCD等。

温度控制算法•温度控制系统通常采用PID(比例-积分-微分)控制算法。

这种算法通过比较实际温度和设定温度,计算出调节量,并通过输出接口控制执行机构,实现温度的调节。

在单片机程序中,需要编写PID控制算法,并根据具体系统进行参数调优。

执行机构•执行机构是温度控制系统中的关键部件,用于实际调节环境温度。

常见的执行机构有加热器和制冷器。

通过单片机的输出接口,可以控制执行机构的开关状态,从而实现温度的调节。

界面与交互•温度控制系统还可以配备界面与交互功能,用于设定目标温度、显示当前温度和执行机构状态等信息。

在单片机程序中,可以通过按键、液晶显示屏和蜂鸣器等外设实现界面与交互功能的设计。

总结•基于单片机的温度控制系统设计涉及到温度传感器、温度测量与显示、温度控制算法、执行机构以及界面与交互等多个方面。

通过合理的设计和编程实现,可以实现对环境温度的自动调节,提高生活和工作的舒适性和效率。

以上是对基于单片机的温度控制系统设计原理的简要介绍。

《2024年基于51单片机的温度控制系统设计与实现》范文

《2024年基于51单片机的温度控制系统设计与实现》范文

《基于51单片机的温度控制系统设计与实现》篇一一、引言在现代工业控制领域,温度控制系统的设计与实现至关重要。

为了满足不同场景下对温度精确控制的需求,本文提出了一种基于51单片机的温度控制系统设计与实现方案。

该系统通过51单片机作为核心控制器,结合温度传感器与执行机构,实现了对环境温度的实时监测与精确控制。

二、系统设计1. 硬件设计本系统以51单片机为核心控制器,其具备成本低、开发简单、性能稳定等优点。

硬件部分主要包括51单片机、温度传感器、执行机构(如加热器、制冷器等)、电源模块等。

其中,温度传感器负责实时监测环境温度,将温度信号转换为电信号;执行机构根据控制器的指令进行工作,以实现对环境温度的调节;电源模块为整个系统提供稳定的供电。

2. 软件设计软件部分主要包括单片机程序与上位机监控软件。

单片机程序负责实时采集温度传感器的数据,根据设定的温度阈值,输出控制信号给执行机构,以实现对环境温度的精确控制。

上位机监控软件则负责与单片机进行通信,实时显示环境温度及控制状态,方便用户进行监控与操作。

三、系统实现1. 硬件连接将温度传感器、执行机构等硬件设备与51单片机进行连接。

具体连接方式根据硬件设备的接口类型而定,一般采用串口、并口或GPIO口进行连接。

连接完成后,需进行硬件设备的调试与测试,确保各部分正常工作。

2. 软件编程编写51单片机的程序,实现温度的实时采集、数据处理、控制输出等功能。

程序采用C语言编写,易于阅读与维护。

同时,需编写上位机监控软件,实现与单片机的通信、数据展示、控制指令发送等功能。

3. 系统调试在完成硬件连接与软件编程后,需对整个系统进行调试。

首先,对单片机程序进行调试,确保其能够正确采集温度数据、输出控制信号。

其次,对上位机监控软件进行调试,确保其能够与单片机正常通信、实时显示环境温度及控制状态。

最后,对整个系统进行联调,测试其在实际应用中的性能表现。

四、实验结果与分析通过实验测试,本系统能够实现对环境温度的实时监测与精确控制。

基于单片机的水温控制器设计

基于单片机的水温控制器设计

基于单片机的水温控制器设计引言水温控制在很多领域中都具有重要的应用价值,例如温室、鱼缸、热水器等。

基于单片机的水温控制器能够自动调控水温,提高水温的稳定性和准确性。

本文将介绍如何设计一个基于单片机的水温控制器,以实现对水温的精确控制。

一、硬件设计1.单片机选择选择一个合适的单片机对于设计一个稳定可靠的水温控制器至关重要。

常用的单片机有STC89C52、AT89C52等。

在选择时应考虑单片机的性能、功耗、接口等因素。

2.温度传感器温度传感器用于检测水温,常用的有NTC热敏电阻和DS18B20数字温度传感器。

NTC热敏电阻价格便宜,但精度较低,DS18B20精度高,但价格相对较贵。

3.加热装置加热装置用于根据温度控制器的输出信号进行加热或制冷。

可以选择加热丝、加热管或半导体制冷片等。

4.驱动电路驱动电路用于将单片机的输出信号转换为合适的电流或电压,驱动加热装置。

可以选择晶体管或继电器等。

5.显示模块可以选择液晶显示屏或LED数码管等显示水温的数值。

二、软件设计1.初始化设置首先,对单片机进行初始化设置,包括引脚配置、定时器设置等。

然后,设置温度传感器和加热装置的引脚。

最后,设置温度范围,以便根据实际需求进行调整。

2.温度检测使用温度传感器检测水温,并将读取到的温度值转换为数字形式,以便进行比较和控制。

可以使用ADC(模拟-数字转换)模块转换模拟信号为数字信号。

3.控制算法本设计中可以采用PID控制算法进行水温控制。

PID(Proportional-Integral-Derivative)控制算法根据设定值和反馈值之间的差异来计算控制信号。

可以根据需求进行参数调整,以获得更好的控制效果。

4.显示和报警使用显示模块显示当前水温的数值,并在温度超出设定值时触发报警功能。

报警可以采用声音、灯光等形式。

5.控制输出根据PID算法计算出的控制信号,控制驱动电路,驱动加热装置或制冷装置,以实现水温的调节。

总结基于单片机的水温控制器能够实现对水温的精确控制。

基于51单片机的温度控制系统设计

基于51单片机的温度控制系统设计

基于51单片机的温度控制系统设计引言:随着科技的不断进步,温度控制系统在我们的生活中扮演着越来越重要的角色。

特别是在一些需要精确控制温度的场合,如实验室、医疗设备和工业生产等领域,温度控制系统的设计和应用具有重要意义。

本文将以基于51单片机的温度控制系统设计为主题,探讨其原理、设计要点和实现方法。

一、温度控制系统的原理温度控制系统的基本原理是通过传感器感知环境温度,然后将温度值与设定值进行比较,根据比较结果控制执行器实现温度的调节。

基于51单片机的温度控制系统可以分为三个主要模块:温度传感器模块、控制模块和执行器模块。

1. 温度传感器模块温度传感器模块主要用于感知环境的温度,并将温度值转换成电信号。

常用的温度传感器有热敏电阻、热敏电偶和数字温度传感器等,其中热敏电阻是最常用的一种。

2. 控制模块控制模块是整个温度控制系统的核心,它负责接收传感器传来的温度信号,并与设定值进行比较。

根据比较结果,控制模块会输出相应的控制信号,控制执行器的工作状态。

51单片机作为一种常用的嵌入式控制器,可以实现控制模块的功能。

3. 执行器模块执行器模块根据控制模块输出的控制信号,控制相关设备的工作状态,以实现对温度的调节。

常用的执行器有继电器、电磁阀和电动机等。

二、温度控制系统的设计要点在设计基于51单片机的温度控制系统时,需要考虑以下几个要点:1. 温度传感器的选择根据具体的应用场景和要求,选择合适的温度传感器。

考虑传感器的测量范围、精度、响应时间等因素,并确保传感器与控制模块的兼容性。

2. 控制算法的设计根据温度控制系统的具体要求,设计合适的控制算法。

常用的控制算法有比例控制、比例积分控制和模糊控制等,可以根据实际情况选择适合的算法。

3. 控制信号的输出根据控制算法的结果,设计合适的控制信号输出电路。

控制信号的输出电路需要考虑到执行器的工作电压、电流等参数,确保信号能够正常控制执行器的工作状态。

4. 系统的稳定性和鲁棒性在设计过程中,需要考虑系统的稳定性和鲁棒性。

单片机基于51单片机温度控制设计简介

单片机基于51单片机温度控制设计简介

单片机基于51单片机温度控制设计简介一、引言本文将介绍基于51单片机的温度控制设计,其中包括硬件设计和软件设计两个部分。

温度控制是工业自动化中非常重要的一部分,其应用范围非常广泛,如冷库、温室、恒温水槽等。

本文所介绍的温度控制设计可广泛应用于各种场合。

二、硬件设计1.传感器部分本设计采用DS18B20数字温度传感器,其具有精度高、抗干扰能力强等优点。

传感器的输出信号为数字信号,与51单片机通信采用单总线方式。

2.控制部分本设计采用继电器控制加热器的开关,继电器的控制信号由51单片机输出。

同时,为了保证控制精度,本设计采用PID控制算法,其中P、I、D系数均可根据实际情况进行调整。

3.显示部分本设计采用LCD1602液晶显示屏,可显示当前温度和设定温度。

4.电源部分本设计采用12V直流电源供电,其中需要注意的是,由于继电器的电流较大,因此需要采用稳压电源。

三、软件设计1.初始化在程序开始运行时,需要对各个模块进行初始化,包括DS18B20传感器、LCD1602液晶显示屏和PID控制器等。

2.采集温度程序需要不断地采集温度,通过DS18B20传感器获取当前温度值,并将其显示在LCD1602液晶显示屏上。

3.控制加热器根据当前温度和设定温度的差值,通过PID控制算法计算出控制信号,控制继电器的开关,从而控制加热器的加热功率。

4.调整PID参数为了保证控制精度,需要不断地调整PID控制算法中的P、I、D系数,以达到最优控制效果。

四、总结基于51单片机的温度控制设计,可以实现对温度的精确控制,具有应用广泛、控制精度高等优点。

本文所介绍的硬件设计和软件设计,可供读者参考和借鉴,同时也需要根据实际情况进行调整和改进。

基于单片机的温度控制系统设计方案

基于单片机的温度控制系统设计方案

基于单片机的温度控制系统设计方案设计方案:1. 系统概述:本温度控制系统采用单片机作为核心控制器,通过对温度传感器的采集并对温度进行处理,控制继电器的开关状态,实现对温度的精确控制。

系统可广泛应用于家庭、工业、医疗等领域中的温度控制需求。

2. 硬件设计:a. 单片机选择:根据系统需求,我们选择适用于温度控制的单片机,如8051、PIC、STM32等,具备较高的性能和稳定性。

b. 传感器:采用温度传感器(如DS18B20)进行温度的精确测量,传感器将温度值转化为数字信号进行输出,供单片机进行处理。

c. 屏幕显示:选用LCD液晶屏幕,实时显示当前温度值和设定的目标温度值。

3. 软件设计:a. 数据采集:单片机通过GPIO口连接温度传感器,采集传感器输出的数字信号,并进行AD转换,将模拟信号转化为数字信号。

b. 控制策略:单片机通过比较当前温度值和设定的目标温度值,根据控制算法判断是否需要开启或关闭继电器,从而实现对温度的控制。

c. 温度显示:单片机通过串口通信或I2C通信与LCD屏幕进行数据传输和显示,使用户能够随时了解当前温度和设定的目标温度。

4. 控制算法设计:a. ON/OFF控制:当当前温度值超过设定的目标温度值时,继电器闭合,使制冷或加热设备开始工作;当当前温度值低于设定的目标温度值时,继电器断开,使制冷或加热设备停止工作,实现温度的维持控制。

b. PID控制:根据温度的测量值和设定值,通过比例、积分、微分三个环节的控制,精确调节控制设备的工作状态,使温度尽可能接近设定值。

5. 系统实现和调试:a. 硬件连接:根据设计制作电路板,并连接单片机、温度传感器、继电器、液晶显示器等组件。

b. 程序编写:按照软件设计进行程序编写,并进行单片机的初始化设置、温度数据的采集和处理、继电器的控制等功能的实现。

c. 系统调试:通过实际应用场景中的温度测试数据,验证系统的稳定性和准确性,并根据实际情况进行调试和优化,确保系统达到要求的温度控制效果。

基于单片机的智能冰箱温度控制器的设计

基于单片机的智能冰箱温度控制器的设计

基于单片机的智能冰箱温度控制器的设计智能冰箱温度控制器是一种基于单片机的温度控制系统,通过对温度传感器数据的采集和处理,可以实现对冰箱内部温度的精确控制。

本文将介绍该智能冰箱温度控制器的设计原理、硬件组成和软件实现。

设计原理:智能冰箱温度控制器的设计原理是通过感知冰箱内部温度并根据设定的温度值自动控制制冷或加热设备的工作,以维持冰箱内部温度在设定范围内。

其主要实现步骤如下:1.温度传感器采集:使用温度传感器(如DS18B20)对冰箱内部温度进行采集,将温度值转换为数字量。

2.温度数据处理:通过单片机对温度传感器采集的数据进行处理,可以实现多种功能,如温度变化的实时监测、故障检测及报警等。

3.温度控制算法:根据采集到的温度值和设定的温度范围,决定是否打开制冷或加热装置。

在制冷过程中,当温度低于设定范围时,打开制冷装置,使温度升高;当温度高于设定范围时,关闭制冷装置。

加热过程与此类似。

4.控制输出:通过单片机的IO口控制制冷或加热装置的开关,实现对温度的控制。

硬件组成:智能冰箱温度控制器的硬件组成主要包括单片机、温度传感器、继电器、显示屏和按键等。

1.单片机:选择适合的单片机(如STC89C52)作为主控芯片,负责采集并处理温度数据,控制制冷或加热装置的开关。

2.温度传感器:选择精度高、性能稳定的温度传感器(如DS18B20),能够准确地采集冰箱内部温度。

3.继电器:通过继电器,单片机可以控制制冷或加热装置的开关。

继电器的选型要考虑到其负载电流和电压的要求。

4.显示屏和按键:为了方便用户操作和监控系统状态,可以添加液晶显示屏和按键。

显示屏用于显示当前温度和设置的目标温度,按键用于设定目标温度。

软件实现:智能冰箱温度控制器的软件实现主要包括温度数据采集和处理、温度控制算法的实现以及用户界面的设计。

1.温度数据采集和处理:通过单片机的ADC接口读取温度传感器采集到的模拟量,并转换为数字量。

然后,通过算法将数字量转换为实际温度值,并保存在变量中供后续使用。

(完整版)基于单片机的PID温度控制毕业设计论文

(完整版)基于单片机的PID温度控制毕业设计论文

前言温度是表征物体冷热程度的物理量。

在很多生产过程中,特别是在冶金、化工、建材、食品、机械、石油等工业中,温度的测量和控制都直接和安全生产、提高生产效率、保证产品质量、节约能源等重大技术经济指标相联系。

因此,温度的测量与控制在国民经济各个领域中均受到了相当程度的重视。

单片机系统的开发应用给现代工业测控领域带来了一次新的技术革命,自动化、智能化均离不开单片机的应用。

将单片机控制方法运用到温度控制系统中,可以克服温度控制系统中存在的严重滞后现象,同时在提高采样频率的基础上可以很大程度的提高控制效果和控制精度。

现代自动控制越来越朝着智能化发展,在很多自动控制系统中都用到了工控机,小型机、甚至是巨型机处理机等,当然这些处理机有一个很大的特点,那就是很高的运行速度,很大的内存,大量的数据存储器。

但随之而来的是巨额的成本。

在很多的小型系统中,处理机的成本占了系统成本的比例高达20%,而对于这些小型的系统来说,配置一个如此高速的处理机没有任何必要,因为这些小系统追求经济效益,而不是最在乎系统的快速性,所以用成本低廉的单片机控制小型的,而又不是很复杂,不需要大量复杂运算的系统中是非常适合的。

随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。

现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且可以很容易地做到多点的温度检测,如果对此原理图稍加改进,还可以进行不同地点的实时温度检测和控制。

1绪论1.1研究的目的和意义温度是工业生产中主要被控参数之一,温度控制自然是生产的重要控制过程。

工业生产中温度很难控制,对于要求严格的的场合,温度过高或过低将严重影响工业生产的产质量及生产效率,降低生产效益。

这就需要设计一个良好温度控制器,随时向用户显示温度,而且能够较好控制。

单片机具有和普通计算机类似的强大数据处理能力,结合PID,程序控制可大大提高控制效力,提高生产效益[9]。

基于单片机的温度控制器设计

基于单片机的温度控制器设计

3 温度数 据 的处理 方法
温度 的数据需要一定 的处理 ,一般来说 ,在读 出的两字节的二进制 值温度 , 需要转换成为十进制 的数值 , 才能输出显示 出来。相对起来 , 1位的分辨率温度都是以0 6 5 2 . 2 步进的 , 由于两个字节 的温度采用补 0 而 码来表示 ,所以必须要先进行判断才能读出温度 的最高位数 ,也就是说 才能判 断得出是正还是负,然后才能求补码转化成正温。如果读出来 的 温度数值是负的,在进行显示处理的时候 , 在温度数的前面人为显示 负 号就可 以了。需要注意 的是 , 在小数部分 的温度需要将4 位乘 以0 6 5 .2, 0
8 2
应用科学
科 第期 2年 1 0 9 1 霸 O
基于单片机 的温度控制器设 计
张 佳 贤
( 江阴华姿职业学 校 ,江苏江阴 2 4 0 14 0)
摘 要 在我们 的 日常生活 中,尤其 是在科研生产 以及教学实验 的过 程中 ,时常需要 检测 温度 以及控制 温度 ,在这个 过程中 ,利用单 片机
应 的处 理 。
然后对乘积取其小觌 后的一位数。
4 湿度控 翩器 的软 件设计
温度控制器的软件设计是在单片机上并 由它来进行控制工作 。主控 的程序包括 :初始化 ;键盘显示管理 ; 各子程序调用。铂 电阻的电阻值 与其所受 的温度并不完全是线性的 ,正是 因为这样 , 才设计了非等距分 段线险插值线哇化程序来对铂 电阻进行非线性进行补偿。
能够有效 的提高测量效果 。在此进行简单 的分析探讨 。 关 键词 单片机 ;温度 ;控制 ;设计
中 豳分 类号 T 3 文 献标 识码 A 文 章 编号 17—6 1( 1) 10 8— 1 P 63 97一2 01 — 020 0 0

基于单片机的空调温度控制器的设计

基于单片机的空调温度控制器的设计

基于单片机的空调温度控制器设计The design of air conditioning temperature controller based on MCU学院:信息科学与工程专业班级:测控技术与仪器1003班学号:100401316学生姓名:刘和平指导教师:颜华(教授)2014 年6 月摘要随着经济的发展和人们生活水平的提高,空调机受到了广泛的应用。

空调机的温度控制器主要是由温度传感器感受室内温度变化,将采集到的温度信号处理后与设定的温度值进行比较,控制继电器的通断,使温度被控制在设定值左右,使空调器的工作状态随着人们要求和环境状态而自动变化,迅速准确的达到人们的要求,并使空调器的工作状态保持在最合理的状态下。

在工农业生产、科学研究和在人们的生活领域中,温度测控系统占有很重要的地位,得到了广泛的应用。

因此,温度传感器的应用数量居各种传感器之首。

目前,温度传感器正从模拟式向数字集成式方向飞速发展。

本文主要从硬件和软件两方面介绍了单片机温度控制系统的设计。

该系统以STC12C5608AD单片机为核心,主要由温度检测电路、按键与显示电路、继电器控制电路等构成。

在本系统中,主要是同过DS18B20采集被测温度并转换成数字信号送单片机,以单片机为核心数据处理系统,通过两位数码管,显示设定温度,通过继电器来控制压缩机、四通阀从而控制空调制冷或制热。

本论文概述了温控器的发展及基本原理,介绍了温度传感器的原理及特性,分析了DS18B20温度传感器的优劣。

在此基础上描述了系统研制的理论基础,对测温系统的一些主要参数进行了讨论。

同时在介绍温度控制系统功能的基础上,提出了系统的总体构成。

针对测温系统温度采集、接收、处理、显示部分的总体设计方案进行了论证,进一步介绍了单片机在系统中的应用,分析了系统各部分的硬件及软件实现。

关键词:DS18B20;单片机;温度控制;空调AbstractWith the development of economy and the improvement of people's living standard, the air conditioner has been widely applied. Temperature controller of air conditioner is mainly composed of sensors to monitor indoor temperature, the temperature signal processing the collected with the set temperature value, to control the on-off relay, the temperature is controlled in the set value, the air conditioner working condition with people demand and the state of the environment changes rapidly and automatically, accurate to the requirements of the people, and make the air conditioner working state is maintained in a reasonable state. In the industrial and agricultural production, scientific research and in people's lives, temperature measurement and control system plays a very important role, has been widely applied. Therefore, the number of temperature sensor applications of various sensors of the first home. At present, the temperature sensor from analog to digital integrated development.This paper mainly describes the hardware and software aspects of the design of single-chip temperature control system. The system STC12C5608AD microcontroller core, mainly by the temperature detection circuit, buttons and display circuit, relay control circuit, etc.. In this system, mainly through the DS18B20 collection with the measured temperature and converted into a digital signal sent to the microcontroller, microcontroller as the core data processing system, through two digital tube display set temperature, the compressor is controlled by relays, Stone valve to control the air conditioning, refrigeration or heating. This paper outlines the development and the basic principles of the thermostat, introduced the principle and characteristics of the temperature sensor. Analysis of the merits of the DS18B20 temperature sensor. Based on this description of the theoretical basis for the development of the system, some of the key parameters of the measurement system were discussed. While the introduction of a temperature control system functions is proposed based on the overall structure of the system. Temperature measurement system for collecting, receiving, processing, display part of the overall design has been demonstrated, further describes the SCM applications in the system, and analyzes the various parts of the system hardware and software.Keywords: DS18B20; single chip microcomputer; temperature control; air conditioningII目录摘要 (I)Abstract (II)第1章绪论 (1)1.1 课题研究目的 (1)1.2 课题研究意义 (1)第2章系统总体方案设计 (3)2.1 温度传感器产品分类与选择 (3)2.1.1 常用的测温方法 (3)2.1.2 温度传感器产品分类 (3)2.1.3 温度传感器的选择 (5)2.2 总体方案的确定 (6)2.3 系统实现框图 (7)第3章系统单元电路设计 (8)3.1 系统相关硬件及模块介绍 (8)3.1.1 温度采集电路 (8)3.1.2 STC12C5608AD介绍 (9)3.1.3 时钟电路 (11)3.1.4 复位电路 (11)3.1.5 温度显示电路 (12)3.1.6 按键功能设置电路 (13)3.1.7 继电器驱动电路 (14)3.1.8 继电器控制电路 (14)3.1.9 压缩机、四通阀 (15)3.1.10 电动机电路 (15)第4章系统软件设计 (17)4.1 DS18B20数据通信概述 (17)4.2 控制接口时序说明 (19)4.3 软件程序设计 (20)4.3.1 主程序模块流程图 (21)4.3.2 DS18B20测温程序及流程图 (22)4.3.3 按键扫描程序及流程图 (25)4.4程序调试 (26)4.4.1 Keil uVision2软件 (26)4.4.2程序调试过程中遇到的问题及解决办法 (27)第5章结论 (28)参考文献 (29)致谢 (31)附录1 系统硬件电路图 (32)附录2 系统软件程序................................................................................ 错误!未定义书签。

基于单片机的智能温度控制系统设计

基于单片机的智能温度控制系统设计

基于单片机的智能温度控制系统设计智能温度控制系统设计是一种基于单片机的物联网应用,旨在实现对温度的自动感知和调控。

本文将对这一任务进行详细的内容描述和设计实现思路。

一、任务概述智能温度控制系统是一种自动化控制系统,通过感知环境温度并与用户设定的温度阈值进行比较,实现对温度的自动调节。

它经常应用于室内温度调控、温室环境控制、电子设备散热等场景。

本系统基于单片机进行设计,具有实时监测、精确定时和高效控制的特点。

二、设计方案1. 单片机选择为了实现智能温度控制系统,我们选择一款适合高性能、低功耗的单片机作为核心控制器。

例如,我们可以选择常见的STM32系列或者Arduino等开源硬件平台。

2. 温度感知系统需要具备温度感知的能力,以实时获取环境温度数据。

可选用温度传感器(如DS18B20)通过单片机的GPIO接口进行连线,并通过相应的驱动程序获取温度数据。

3. 温度控制算法智能温度控制系统的关键在于控制算法的设计。

可以采用PID(Proportional-Integral-Derivative)控制算法,根据温度的实际情况和设定值进行比较,通过调整控制器输出控制执行器(如加热器或制冷器)的工作状态。

4. 控制执行器根据温度控制算法的输出,系统需要实现对执行器(如加热器或制冷器)的控制。

通过合适的驱动电路和接口实现对执行器的实时控制,以实现温度的精确调节。

5. 用户界面为了用户方便地设定温度阈值和实时查看环境温度,系统需要设计一个用户界面。

可以通过液晶显示屏或者OLED屏幕来展示温度信息,并提供物理按键或者触摸界面进行温度设定。

6. 数据存储与远程访问系统还可以考虑将温度数据通过网络传输至云端服务器进行存储和分析,以实现温度数据的长期保存和远程监控。

可以选择WiFi或者蓝牙等无线通信方式来实现数据传输。

7. 辅助功能除了基本的温度控制外,系统还可以增加一些辅助功能,如温度数据的图表绘制、报警功能、定时开关机功能等。

单片机温度控制系统毕业设计论文

单片机温度控制系统毕业设计论文

单片机温度控制系统毕业设计论文标题:基于单片机的温度控制系统设计与实现摘要:本论文设计和实现了一种基于单片机的温度控制系统。

该系统利用单片机的强大计算和控制能力,通过传感器采集环境温度,并运用PID控制算法,控制温度在预定的范围内波动。

本系统具有设计灵活、控制精度高、反应迅速等优势,非常适合温度控制领域应用。

关键词:单片机、温度控制、传感器、PID算法第一章引言1.1研究背景随着科技的进步和人们生活质量的提高,温度控制在各个领域都变得日益重要。

例如,家庭中的恒温器、温室中的温度调节、工业生产过程中的温度控制等。

传统的温度控制方法费时费力,且精度和效率较低,因此需要开发一种新的温度控制系统来满足各种需求。

1.2目的和意义本论文旨在设计和实现一种基于单片机的温度控制系统,以提高温度控制的精度和效率,满足不同领域对温度控制的需求。

通过论文的研究,可以为相关领域的温度控制系统设计提供参考,并促进温度控制技术在各个领域的应用。

第二章设计与实现方法2.1系统硬件设计本系统的硬件设计主要包括单片机选择、传感器选择以及执行设备选择等。

选用一款功能强大的单片机,例如ATmega328P,作为系统的核心控制器。

此外,选择一个高精度的温度传感器用于采集环境温度,并根据采集到的数据进行控制。

2.2系统软件设计本系统的软件设计主要包括温度采集与控制算法的设计和实现。

采用PID控制算法,通过单片机进行计算和控制,实现温度控制的闭环反馈。

同时,设计界面友好的人机交互界面,使操作更加简便。

第三章系统测试与分析3.1硬件测试对系统硬件进行测试,包括传感器的准确性测试、单片机的功能性测试以及执行设备的工作状态测试。

通过测试,验证系统的硬件设计的正确性和稳定性。

3.2软件测试对系统的软件进行测试,包括温度控制算法的准确性测试以及人机交互界面的操作测试。

通过测试,验证系统的软件设计的正确性和可靠性。

第四章结果与讨论4.1实验结果通过实验,得到了系统在不同环境下的温度控制效果,并进行数据统计和分析。

基于AT89C52单片机温度控制系统的设计

基于AT89C52单片机温度控制系统的设计

基于AT89C52单片机温度控制系统的设计一、本文概述本文旨在介绍一种基于AT89C52单片机的温度控制系统的设计。

随着工业自动化和智能家居的快速发展,温度控制成为了许多应用场景中不可或缺的一部分。

AT89C52单片机作为一种常用的低功耗、高性能的微控制器,在温度控制系统中具有广泛的应用前景。

本文将详细介绍该系统的设计思路、硬件组成、软件编程以及实际应用效果,为相关领域的研究者和工程师提供有益的参考。

本文将概述温度控制系统的基本原理和重要性,阐述为何选择AT89C52单片机作为核心控制器。

接着,将详细介绍系统的硬件设计,包括温度传感器、执行器、显示模块等关键部件的选型与连接。

在软件编程方面,将阐述如何通过编程实现温度的采集、处理、显示和控制等功能。

还将探讨系统的稳定性、可靠性和安全性等方面的问题,并提出相应的解决方案。

本文将展示该温度控制系统的实际应用效果,通过实例分析其在不同场景中的表现,进一步验证系统的可行性和实用性。

本文的研究成果将为基于AT89C52单片机的温度控制系统设计提供有益的参考和指导,有助于推动相关领域的技术进步和应用发展。

二、系统硬件设计在设计基于AT89C52单片机的温度控制系统时,硬件设计是关键环节。

整个系统硬件主要包括AT89C52单片机、温度传感器、显示模块、控制执行机构以及电源模块等部分。

AT89C52单片机作为系统的核心,负责接收温度传感器的信号,进行数据处理,并根据预设的温度阈值发出控制指令。

AT89C52是一款8位CMOS微控制器,具有高性能、低功耗、高可靠性等特点,非常适合用于此类温度控制系统中。

温度传感器是系统的感知元件,用于实时采集环境温度信息。

在本设计中,我们选用了DS18B20数字温度传感器,它可以直接输出数字信号,简化了与单片机的接口电路,提高了系统的抗干扰能力。

显示模块负责将当前温度以及设定温度显示出来,方便用户查看。

我们采用了LCD1602液晶显示屏,它可以清晰地显示数字和字母,而且功耗低,寿命长。

基于单片机的温度控制系统设计

基于单片机的温度控制系统设计

基于单片机的温度控制系统设计温度控制系统是现代生活中不可或缺的一部分,常见于家庭的的空调、电饭煲、烤箱等家用电器,以及工业生产中的各种自动化设备。

本文基于单片机设计针对室内温度控制系统的实现方法进行说明,包括温度采集、温度控制器的实现和人机交互等方面。

一、温度采集温度采集是温度控制系统的核心部分。

目前比较常见的温度采集器主要有热电偶、热敏电阻和半导体温度传感器。

在本文中我们以半导体温度传感器为例进行说明。

常见的半导体温度传感器有DS18B20、LM35等,本次实验中采用DS18B20进行温度采集。

DS18B20是一种数字温度传感器,可以直接与单片机通信,通常使用仅三根导线连接。

其中VCC为控制器的电源正极,GND为电源负极,DATA为数据传输引脚。

DS18B20通过快速菲涅耳射线(FSR)读取芯片内部的温度数据并将其转换为数字信号。

传感器能够感知的温度范围通常为-55℃至125℃,精度通常为±0.5℃。

为了方便使用,DS18B20可以通过单片机内部的1-Wire总线进行控制和数据传输。

具体实现方法如下:1.首先需要引入相关库文件,如:#include <OneWire.h> //引用1-Wire库#include <DallasTemperature.h> //引用温度传感器库2.创建实例对象,其中参数10代表连接传感器的数字I/O引脚:OneWire oneWire(10); //实例化一个1-Wire示例DallasTemperature sensors(&oneWire); //实例化一个显示温度传感器示例3.在setup中初始化模块:sensors.begin(); // 初始化DS18B204.在主循环中,读取传感器数据并将温度值输出到串口监视器:sensors.requestTemperatures(); //请求温度值float tempC = sensors.getTempCByIndex(0); // 读取温度值Serial.println(tempC); //输出温度值二、温度控制器的实现温度控制器是本次实验的关键部件,主要实现对温度的控制和调节,其基本原理是根据温度变化情况来控制输出电压或模拟脚电平,驱动继电器控制电器设备工作。

基于单片机的温度控制系统设计

基于单片机的温度控制系统设计

目录摘要 (1)第一章前言 (3)1.1课题背景与意义 (3)1.2温度控制系统的应用 (3)第二章系统方案 (5)2。

1水温控制系统设计任务和要求 (5)2.2水温控制系统部分 (5)2。

3控制方式 (7)第三章系统硬件设计 (8)3。

1总体设计框图及说明 (8)3.2外部电路设计 (8)3。

3 单片机系统电路设计 (9)第四章结论 (1)参考文献 (21)基于单片机的水温控制系统【摘要】温度是工业控制对象主要被控参数之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。

为了实现高精度的水温测量和控制,本文介绍了一种以Atmel公司的低功耗高性能CMOS单片机为核心,以PID算法控制以及PID参数整定相结合的控制方法来实现的水温控制系统,其硬件电路还包括温度采集、温度控制、温度显示、键盘输入以及RS232接口等电路。

该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。

【关键词】单片机AT89C51;温度控制;温度传感器PT1000;PID调节算法第一章前言1.1课题背景与意义在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。

例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制.采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。

目前,温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距.现在,我国在这方面总体技术水平处于20世纪80年代中后期水平。

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

基于单片机的温度控制器设计1引言1.1设计目的1.温度显示的基本范围-55℃—128℃;2.精度误差等于0.1℃;3.所测温度值由四位数码管显示;4.可以任意设定温度的上下限报警功能。

1.2设计要求设计一个温度控制电路,用AT89C51作为温度测试控制系统设计的核心器件,用数字温度传感器DS18B20实现温度的测量,用数码管显示对应的温度。

通过指示灯和报警器完成温度上下限的报警指示功能,并通过对电风扇和电热丝的操作,使其恢复到要求的范围内。

设计加、减按钮以及设置按钮实现上下限温度的任意设定。

2系统方案设计该方案使用了AT89C51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,对各点温度进行检测,设置温度上下限,超过其温度值就报警指示,并通过控制使温度恢复到要求的范围内。

显示电路采用4位共阴极LED数码管显示。

使用三极管,电阻,指示灯和蜂鸣器组成的报警指示电路,设计温度控制器,实现温度的测量、控制、报警、显示、设置等功能。

总体设计方框图如图1所示:图1 总体设计方框图3硬件设计3.1温度传感器与单片机的连接用AT89C51作为温度控制系统设计的核心器件。

AT89C51是一种低损耗、高性能、CMOS八位微处理器。

DS18B20与单片机的接口电路非常简单,DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机I/O口。

测量温度范围在-55℃到+128℃之间,数字温度计的分辨率用户可以从9位到12位选择,内部有温度上、下限告警设置。

总线上传输的所有数据和命令都是以字节的低位在前。

DS18B20在使用时,一般都采用单片机来实现数据采集。

温度传感器的单总线与单片机的P3.7连接,单片机与温度传感器的连接图如图2所示:图2 单片机与温度传感器的连接图3.2报警温度调整按键本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。

按键电路图如图3所示:图3 按键电路图3.3单片机与报警控制电路系统中的报警电路是由三极管,蜂鸣器,发光二极管和限流电阻组成,并与单片机的P1.5~P1.7端口连接。

控制电路由滑动变阻器,电热丝(电灯泡)和电风扇(电动机)组成,与单片机的P1.3~P1.4端口连接。

报警控制电路图如图4所示:图4 报警控制电路图3.4显示电路显示电路采用4位共阴极LED数码管,P2端口是一个内部带上拉电阻的8位双向I/O,作为段码输出。

P3口的低四位作为数码管的位选端。

采用动态扫描的方式显示。

数码管显示电路图如图5所示:图5 数码管显示电路图4系统软件设计系统程序主要包括主程序,显示数据程序,读出温度程序,按键扫描程序等。

4.1主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,其程序流程见图6所示:图6 主程序流程图4.2显示数据程序显示数据刷新程序主要是对分离后的温度显示数据进行刷新操作,当标志位为1时将符号显示位移入第一位。

程序流程图如图7所示:图7 显示数据程序流程图4.3读出温度程序读出温度程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。

其程序流程图如图8所示:图8 程序流程图4.4按键扫描程序按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。

按键扫描程序流程图图如图9所示:图9 按键扫描程序流程图5系统仿真及实际调试进入Proteus界面后,连接好电路,并将程序下载进去。

将DS18B20精度的改为0.1,数码管显示温度与传感器的温度相同,温度显示仿真图如图10所示:图10 温度显示仿真图当按下SET键一次时,进入温度报警上线调节,此时显示软件设置温度报警上线,按ADD或DEC时,分别对报警温度进行加1或减1;当再次按下SET键时,进入温度报警下线调节,此时显示软件设置温度报警下线,按ADD或DEC 时,分别对报警温度进行加1或减1;当第三次按下SET键时,退出温度报警线设置,显示当前温度。

温度调试仿真图如图11所示:图11 温度调试仿真当温度超过设定的上限温度时,报警器开始报警且指示灯(红灯)开始闪烁,同时,电动机带动电风扇转使温度降低;当温度超过设定的下限温度时,报警器开始报警且指示灯(绿灯)开始闪烁,同时,电热丝发热使温度升高;报警控制显示仿真图如图12所示:图12 报警控制显示仿真图6总结通过这次温度控制器的设计与仿真,让我更多的了解了设计电路的程序,以及温度控制器的工作原理与设计理念,同时在设计过程中也暴露出许多问题,刚开始设计时,没有过多的查询相关资料,只是盲目的开始设计,以致设计工作停止不前,对编程不是很熟练,使得花了大量的时间用于软件编程。

把程序调试完好后,一切工作也都能迎刃而解了。

从这次的课程设计中,我意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习使用单机片机更是如此,程序只有在经常的读写过程中才能提高,也能提高查询资料、分析问题、进而解决问题的能力。

参考文献[1]王思明,张鑫等.单片机原理及应用系统设计[M].北京:科学出版社,2012.[2]陶红艳,余成波.传感器与现代检测技术[M].北京:清华大学出版社,2009.[3]康华光.电子技术基础—数字部分[M].北京:高等教育出版社,2008.[4]朱清惠等.Proteus教程:电子线路设计制版与仿真[M].北京:清华大学出版社,2009.[5]谭浩强.C程序设计[M].北京:清华大学出版社,2008.附录源程序#include<reg51.h>//**********51单片机头文件#include<intrins.h>//***********_nop_();延时函数用#define dm P2//****************段码输出口#define uchar unsigned char#define uint unsigned intsbit DQ=P3^7;//******************温度输入口sbit w0=P3^3;//******************数码管4sbit w1=P3^2;//******************数码管3sbit w2=P3^1;//******************数码管2sbit w3=P3^0;//******************数码管1sbit beep=P1^5;//*****************蜂鸣器sbit set=P3^4;//******************温度设置切换键sbit add=P3^5;//******************温度加sbit dec=P3^6;//******************温度减sbit a=P1^6;//******************红灯sbit b=P1^7;//******************绿灯sbit c=P1^3;//******************电机sbit d=P1^4;//******************电灯泡int temp1=0;//**********显示当前温度和设置温度的标志位为0时显示当前温度uint h;uint temp;uchar r;uchar high=30,low=20;//******************设置初始上下限报警温度值uchar sign;uchar q=0;uchar tt=0;uchar scale;//**************温度小数部分用查表法***********//uchar codeditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x 08,0x09,0x09};//******************小数断码表uchar codetable_dm[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//************共阴LED段码表"0" "1" "2" "3" "4" "5" "6" "7" "8" "9""不亮""-" uchar table_dm1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//**个位带小数点的断码表*********uchar data temp_data[2]={0x00,0x00};//******************读出温度暂放uchar data display[5]={0x00,0x00,0x00,0x00,0x00};//******显示单元数据,共4个数据和一个运算暂用/*****************11us延时函数*************************/void delay(uint t){for(;t>0;t--);}void scan(){int j;for(j=0;j<4;j++){if(j==0){dm=table_dm[display[0]];w0=0;delay(50);w0=1;}//*******小数else if(j==1){dm=table_dm1[display[1]];w1=0;delay(50);w1=1;}//***个位else if(j==2){dm=table_dm[display[2]];w2=0;delay(50);w2=1;}//****十位else if(j==3){dm=table_dm[display[3]];w3=0;delay(50);w3=1;}//****百位}}void ow_reset(void)//***************DS18B20复位函数{char presence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();//******************从高拉倒低DQ=0;delay(50);//****************************550usDQ=1;delay(6);//**********************66uspresence=DQ;//****************presence=0复位成功,继续下一步}delay(45);//********************延时500uspresence=~DQ;}DQ=1;//**********************拉高电平}/****************DS18B20写命令函数************************/ //***************向1-WIRE总线上写1个字节void write_byte(uchar val){uchar i;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();//****************从高拉倒低DQ=0;_nop_();_nop_();_nop_();_nop_();//******5usDQ=val&0x01;//********************最低位移出delay(6);//******************66usval=val/2;//******************向右移1位}DQ=1;delay(1);}uchar read_byte(void)//****************DS18B20读1字节函数{uchar i;uchar value=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_();//******************4usDQ=1;_nop_();_nop_();_nop_();_nop_();//******************4usif(DQ)value|=0x80;delay(6);//66us}DQ=1;return(value);}read_temp()//*****************读出温度函数{ow_reset();//******************总线复位delay(200);write_byte(0xcc);//******************发命令write_byte(0x44);//*****************发转换命令ow_reset();delay(1);write_byte(0xcc);//******************发命令write_byte(0xbe);temp_data[0]=read_byte();//******************读温度值的低字节temp_data[1]=read_byte();//******************读温度值的高字节temp=temp_data[1];temp<<=8;temp=temp|temp_data[0];//******************两字节合成一个整型变量。

相关文档
最新文档