单片机课程设计——温度监控系统设计

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片机恒温箱温度控制系统的设计说明

单片机恒温箱温度控制系统的设计说明

课程设计课题:单片机培养箱温控系统设计本课程设计要求:温度控制系统基于单片机,实现对温度的实时监控,实现控制的智能化。

设计了培养箱温度控制系统,配备温度传感器,采用DS18B20数字温度传感器,无需数模/数转换,可直接与单片机进行数字传输,采用PID控制技术,可保持温度在要求的恒定范围内,配备键盘输入设定温度;配备数码管L ED显示温度。

技术参数及设计任务:1、使用单片机AT89C2051控制温度,使培养箱保持最高温度110 ℃ 。

2、培养箱温度可预设,干燥过程恒温控制,控温误差小于± 2℃.3、预设时显示设定温度,恒温时显示实时温度。

采用PID控制算法,显示精确到0.1℃ 。

4、当温度超过预设温度±5℃时,会发出声音报警。

和冷却过程没有线性要求。

6、温度检测部分采用DS18B20数字温度传感器,无需数模/数转换,可直接与单片机进行数传7 、人机对话部分由键盘、显示器、报警三部分组成,实现温度显示和报警。

本课程设计系统概述一、系统原理选用AT89C2051单片机作为中央处理器,通过温度传感器DS18B20采集培养箱的温度,并将采集的信号传送给单片机。

驱动培养箱的加热或冷却。

2、系统整体结构总体设计应综合考虑系统的总体目标,进行初步的硬件选型,然后确定系统的草案,同时考虑软硬件实现的可行性。

经过反复推敲,总体方案确定以爱特梅尔公司推出的51系列单片机为温度智能控制系统核心,选用低功耗、低成本的存储器、数显等元器件。

总体规划如下:图1 系统总体框图2、硬件单元设计一、单片机最小系统电路Atmel公司的AT2051作为89C单片机,完全可以满足本系统所需的采集、控制和数据处理的需要。

单片机的选择在整个系统设计中非常重要。

该单片机具有与MCS-51系列单片机兼容性高、功耗低、可在接近零频率下工作等诸多优点。

广泛应用于各种计算机系统、工业控制、消费类产品中。

AT 89C2051 是 AT89 系列微控制器中的精简产品。

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

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

基于单片机的温度控制系统设计与应用温度控制系统是一种常见的自动控制系统,用于维持设定温度范围内的温度稳定。

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

一、系统设计1.功能需求:(1)温度检测:获取环境温度数据。

(2)温度显示:将检测到的温度数据以数字方式显示。

(3)温度控制:通过控制输出信号,自动调节温度以维持设定温度范围内的稳定温度。

2.硬件设计:(1)单片机:选择适合的单片机,如51系列、AVR系列等,具有较强的计算和控制能力。

(2)温度传感器:选择适当的温度传感器,如DS18B20、LM35等,能够准确检测环境温度。

(3)显示屏:选择适当的数字显示屏,如LCD显示屏、数码管等,用于显示温度数据。

(4)执行机构:根据具体需求选择合适的执行机构,如继电器、风扇等,用于控制温度。

3.软件设计:(1)温度检测:通过单片机采集温度传感器的模拟信号,并通过数字转换获得温度数据。

(2)温度显示:将获取到的温度数据进行处理,通过数字显示屏显示。

(3)温度控制:通过控制执行机构,如继电器等,根据温度数据的变化进行调节,将温度维持在设定范围内。

二、系统应用1.家居温控系统:家庭中的空调、暖气等设备可以通过单片机温度控制系统实现智能控制。

通过温度传感器检测室内温度,并将温度数据显示在数字显示屏上。

通过设定温度阈值,当室内温度超出设定范围时,系统控制空调或暖气进行启停,从而实现室内温度的调节和稳定。

这不仅提高了居住舒适度,还能节约能源。

2.工业过程控制:在工业生产过程中,一些特定的应用需要严格控制温度,以确保产品质量或生产过程的稳定。

通过单片机温度控制系统,可以实时检测并控制生产环境的温度。

当温度超过或低于设定的阈值时,系统可以自动调整控制设备,如加热器、冷却器等,以实现温度的控制和稳定。

3.温室农业:温室农业需要确定性的环境温度来保证作物的生长。

通过单片机温度控制系统,可以监测温室内的温度,并根据预设的温度范围,自动启停加热或降温设备,以维持温室内的稳定温度。

基于单片机的温湿度监测系统毕业设计

基于单片机的温湿度监测系统毕业设计

基于单片机的温湿度监测系统毕业设计一、引言在现代生活和工业生产中,对环境温湿度的准确监测和控制具有重要意义。

温湿度的变化可能会影响产品质量、设备运行以及人们的生活舒适度。

因此,设计一个可靠、精确且易于使用的温湿度监测系统是十分必要的。

本毕业设计旨在基于单片机技术开发一款实用的温湿度监测系统。

二、系统总体设计(一)系统功能需求该监测系统应能够实时采集环境的温度和湿度数据,并将其显示在屏幕上。

同时,系统应具备数据存储功能,以便后续分析和查询。

此外,还应设置报警阈值,当温湿度超出设定范围时能发出警报。

(二)系统组成本系统主要由传感器模块、单片机控制模块、显示模块、存储模块和报警模块组成。

传感器模块负责采集环境温湿度数据,选用了精度高、稳定性好的DHT11 温湿度传感器。

单片机控制模块作为系统的核心,采用了 STC89C52 单片机,负责处理传感器采集到的数据、控制其他模块的工作以及进行逻辑判断。

显示模块采用了液晶显示屏(LCD1602),能够清晰地显示当前的温湿度值。

存储模块使用了 EEPROM 芯片,用于保存历史数据。

报警模块则通过蜂鸣器和指示灯实现,当温湿度异常时发出声光报警。

三、硬件设计(一)传感器接口电路DHT11 传感器与单片机通过单总线进行通信,连接时需要注意数据线的上拉电阻。

(二)单片机最小系统STC89C52 单片机的最小系统包括时钟电路和复位电路。

时钟电路采用晶振和电容组成,为单片机提供稳定的时钟信号。

复位电路用于系统初始化和异常情况下的复位操作。

(三)显示电路LCD1602 通过并行接口与单片机连接,需要配置相应的控制引脚和数据引脚。

(四)存储电路EEPROM 芯片通过 I2C 总线与单片机通信,实现数据的存储和读取。

(五)报警电路蜂鸣器通过三极管驱动,指示灯通过限流电阻连接到单片机的引脚,由单片机控制其工作状态。

四、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机内部寄存器的设置、传感器的初始化、显示模块的初始化等。

单片机温度控制系统设计及实现

单片机温度控制系统设计及实现

单片机温度控制系统设计及实现温度控制是很多自动化系统中的重要部分,可以应用于许多场景,如家用空调系统、工业加热系统等。

本文将介绍如何利用单片机设计和实现一个简单的温度控制系统。

一、系统设计1. 硬件设计首先,我们需要选择合适的硬件来搭建我们的温度控制系统。

一个基本的温度控制系统由以下几个组件组成:- 传感器:用于检测环境的温度。

常见的温度传感器有热敏电阻和温度传感器。

- 控制器:我们选择的是单片机,可以根据传感器的读数进行逻辑判断,并控制输出的信号。

- 执行器:用于根据控制器的指令执行具体的动作,例如开启或关闭空调。

2. 软件设计温度控制系统的软件部分主要包括,传感器读取、温度控制逻辑和执行器控制。

我们可以使用C语言来编写单片机的软件。

- 传感器读取:通过串口或者模拟输入端口来读取传感器的数据,可以利用类似的库函数或者自己编写读取传感器数据的函数。

- 温度控制逻辑:根据读取到的温度值,判断当前环境是否需要进行温度调节,并生成相应的控制信号。

- 执行器控制:将控制信号发送到执行器上,实现对温度的调节。

二、系统实施1. 硬件连接首先,将传感器连接到单片机的输入端口,这样单片机就可以读取传感器的数据。

然后,将执行器连接到单片机的输出端口,单片机可以通过控制输出端口的电平来控制执行器的开关。

2. 软件实现编写单片机的软件程序,根据前面设计的软件逻辑,实现温度的读取和控制。

首先,读取传感器的数据,可以定义一个函数来读取传感器的数据并返回温度值。

其次,根据读取到的温度值,编写逻辑判断代码,判断当前环境是否需要进行温度调节。

如果需要进行温度调节,可以根据温度的高低来控制执行器的开关。

最后,循环执行上述代码,实现实时的温度检测和控制。

三、系统测试和优化完成软硬件的实施之后,需要对温度控制系统进行测试和优化。

1. 测试通过模拟不同的温度情况,并观察控制器的输出是否能够正确地控制执行器的开关。

可以使用温度模拟器或者改变环境温度来进行测试。

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

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

基于单片机的温度监控系统设计摘要:本文介绍了基于单片机的温度监控系统设计。

该系统通过使用温度传感器来获取环境温度,并将数据传送到单片机进行处理和显示。

设计使用DS18B20温度传感器,通过单总线协议与单片机进行通信。

单片机采用STM32F103C8T6,具有丰富的GPIO、SPI和UART接口,适用于本设计。

主要功能包括温度的连续监测、温度值的显示和报警功能。

设计采用KeilC51进行软件开发,通过LED和液晶显示屏进行温度值的显示,通过蜂鸣器进行报警提示。

关键词:单片机、温度监控、温度传感器、报警一、引言温度监控系统广泛应用于各种工业、农业和生活领域,能够实时监测环境温度并及时发出警报。

基于单片机的温度监控系统具有成本低、功耗低、易于实现等优点,在实际应用中得到了广泛应用。

二、系统硬件设计1.温度传感器选择本系统采用DS18B20温度传感器,该传感器具有数字信号输出、精度高、响应快等特点,且价格低廉。

2.单片机选择本系统采用STM32F103C8T6作为处理器,该单片机具有丰富的GPIO、SPI和UART接口,非常适合用于本设计。

3.显示模块选择本系统采用LED和液晶显示屏进行温度值的显示。

液晶显示屏具有低功耗、大视角、显示效果好的特点。

4.报警模块选择本系统采用蜂鸣器进行报警提示,当温度超过设定值时发出声音警报。

三、系统软件设计1.单片机初始化使用Keil C51进行软件开发,首先进行单片机的初始化,包括GPIO和串口等的初始化。

2.温度传感器读取通过单总线协议与单片机进行通信,并读取温度传感器的数据。

DS18B20采用一线通信方式,通过单总线来进行数据的传输与通信。

3.温度显示将读到的温度值进行处理,并通过LED和液晶显示屏进行显示。

4.温度报警设置一个温度阈值,当读到的温度值超过设定值时,通过蜂鸣器发出声音警报。

四、系统测试与实验结果对设计的温度监控系统进行测试,结果显示系统能够准确地读取环境温度,并能够根据设定值进行报警提示。

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

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

基于单片机的温度控制系统设计方案设计方案: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.温度传感器:用于获取当前环境温度值。

2.控制器:使用单片机作为中央控制单元,负责接收温度传感器的数据并进行温度控制算法的计算。

3.执行器:负责根据控制器的指令控制设备工作状态,如电风扇、加热器等。

4.显示器:用于显示当前环境温度和控制状态等信息。

系统的功能需求主要包括:1.温度监测:通过温度传感器实时获取环境温度数据。

2.温度控制算法:根据温度数据进行算法计算,判断是否需要调节设备工作状态。

3.设备控制:根据控制算法的结果控制设备的工作状态,如打开或关闭电风扇、加热器等。

4.信息显示:将当前环境温度及控制状态等信息显示在显示器上。

二、系统实现的具体步骤:1.硬件设计:(1)选择适合的单片机:根据系统功能需求选择合适的单片机,通常选择具有较多输入输出引脚、计算能力较强的单片机。

(2)温度传感器的选择:选择合适的温度传感器,常见的有热敏电阻、热电偶、数字温度传感器等。

(3)执行器的选择:根据实际需求选择合适的执行器,如电风扇、加热器等。

(4)显示器的选择:选择适合的显示器以显示当前温度和控制状态等信息,如液晶显示屏等。

2.软件设计:(1)编写驱动程序:编写单片机与传感器、执行器、显示器等硬件的驱动程序,完成数据的读取和输出功能。

(2)设计温度控制算法:根据监测到的温度数据编写温度控制算法,根据不同的温度范围判断是否需要调节设备工作状态。

(3)控制设备的逻辑设计:根据温度控制算法的结果设计控制设备的逻辑,确定何时打开或关闭设备。

(4)设计用户界面:设计用户界面以显示当前温度和控制状态等信息,提示用户工作状态。

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

单片机课程设计报告设计题目:温度监测系统专业:班级:学生姓名: _____学号:指导教师:__目录一、引言 (2)二、设计目的与要求 (2)三、总体设计方案 (2)四、实验原理 (3)五、材料清单 (4)六、基本芯片及其原理 (5)6.1单片机6.2温度传感器及其原理6.3 DS18B20传感器的温度数据关系七、程序设计 (7)八、系统框图 (11)九、工作流程图 (12)十、硬件电路图 (14)十一、结束语 (15)十二、参考文献 (15)温度监测系统课程设计任务书一、引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。

对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。

随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。

利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。

作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。

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

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

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

本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。

课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。

本设计具有操作方便,控制灵活等优点。

本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。

文中对每个部分功能、实现过程作了详细介绍。

整个系统的核心是进行温度监控,完成了课题所有要求。

二、设计目的与要求1、能显示即时温度;2、能设定温度的上下限值;3、当温度超出设定极限值时进行报警。

三、总体设计方案总体设计方案采用AT89C2051单片机作控制器,温度传感器选用DS18B20来设计数字温度计,系统由5个模块组成:主控制器、测温电路、显示电路、控制电路、报警及指示电路。

主控制器由单片机AT89C2051实现,测温电路由DS18B20温度传感器实现,显示电路由4位LED数码管直读显示,,报警指示电路由蜂鸣器和发光二级管构成,控制电路由按键构成。

本设计所使用的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确等特点,其输出温度采用数字显示,主要用于对温度的精度要求较高的场所,或科研实验室使用,并且加有报警装置,超过限制温度可发出报警信号,还可以调整报警上下限温度。

该设计控制器使用单片机AT89C2051,测温传感器使用DS18B20,用4位共阳极LED数码管以I/O口传送数据,实现温度显示,能准确达到以上要求。

四、实验原理利用温度传感器芯片监测环境温度,将温度信号转换为数字信号传送到单片机内部,单片机通过对温度数据进行处理,利用四位八段数码管显示环境温度,并利用蜂鸣器和发光二极管发出超限警报信号。

通过按键操作可以改变报警温度的上下限。

五、材料清单本芯片及其原理6.1单片机AT89C2051是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。

它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它基于标准的MCS-51单片机体系结构和指令系统,属于80C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

89C52内置8位中央处理单元、256字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。

在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。

掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

89C52有PDIP(40pin)和PLCC(44pin)两种封装形式。

本次课程设计所使用的单片机为AT89C2051单片机,是深圳宏晶科技生产的完全兼容INTEL公司MCS-51系列的单片机。

6.2温度传感器及其原理传感器DS18B20具有体积小、精度高、适用电压宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。

美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的DS18B20体积更小、更经济、更灵活。

使用户可以充分发挥“一线总线”的优点。

同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为-55°C~+125°C,在-10~+85°C范围内,精度为±0.5°C。

现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。

与前一代产品不同,新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。

而且新一代产品更便宜,体积更小。

6.2.1 DS18B20的特性(1)适应电压范围更宽,电压范围:3.0~5.5V,寄生电源方式下可由数据线供电。

(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。

(6)可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。

(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

6.2.2 DS18B20内部结构及DS18B20的管脚排列64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。

不同的器件地址序列号不同。

DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。

DS18B20的引脚定义:图一 DS18B20引脚定义(1)DQ为数字信号输入/输出端。

(2)GND为电源地。

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

6.3 DS18B20传感器的温度数据关系:图二温度传感器的温度数据关系七、程序设计ORG 0000H ;单片机内存分配申明!TEMPER_L EQU 29H ;用于保存读出温度的低8位TEMPER_H EQU 28H ;用于保存读出温度的高8位FLAG1 EQU 38H ;是否检测到DS18B20标志位A_BIT EQU 20H ;数码管个位数存放内存位置B_BIT EQU 21H ;数码管十位数存放内存位置MAIN: LCALL GET_TEMPER ;调用读温度子程序;显示范围00到99度,显示精度为1度;因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃29H的低4位;将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度;这个转化温度的方法非常简洁,无需乘于0.0625系数MOV A,29HMOV C,40 ;将28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY ;调用数码管显示子程序AJMP MAIN;这是DS18B20复位初始化子程序INIT_1820: SETB P3.4NOPCLR P3.4;主机发出延时537微秒的复位低脉冲MOV R1,#3TSR1: MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P3.4 ;然后拉高数据线NOPNOPNOPMOV R0,#25HTSR2: JNB P3.4,TSR3 ;等待DS18B20回应DJNZ R0,TSR2 ;延时LJMP TSR4TSR3: SETB FLAG1 ;置标志位,表示DS1820存在 LJMP TSR5TSR4: CLR FLAG1 ;清标志位,表示DS1820不存在 LJMP TSR7TSR5: MOV R0,#117TSR6: DJNZ R0,TSR6 ;时序要求延时一段时间TSR7: SETB P3.4RET;读出转换后的温度值GET_TEMPER: SETB P3.4LCALL INIT_1820 ;先复位DS18B20JB FLAG1,TSS2RET ;判断DS1820是否存在?若DS18B20不存在则返回TSS2: MOV A,#0CCH ;跳过ROM匹配LCALL WRITE_1820MOV A,#44H ;发出温度转换命令LCALL WRITE_1820;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒 LCALL DISPLAYLCALL INIT_1820 ;准备读温度前先复位MOV A,#0CCH ;跳过ROM匹配LCALL WRITE_1820MOV A,#0BEH ;发出读温度命令LCALL WRITE_1820LCALL READ_18200 ;将读出的温度数据保存到35H/36HRET;写DS18B20的子程序(有具体的时序要求)WRITE_1820: MOV R2,#8 ;一共8位数据CLR CWR1: CLR P3.4MOV R3,#6DJNZ R3,$RRC AMOV P3.4,CMOV R3,#23DJNZ R3,$SETB P3.4NOPDJNZ R2,WR1SETB P3.4RET;读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200: MOV R4,#2 ;将温度高位和低位从DS18B20中读出MOV R1,#29H ;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H) RE00: MOV R2,#8 ;数据一共有8位RE01: CLR CSETB P3.4NOPNOPCLR P3.4NOPNOPNOPSETB P3.4MOV R3,#9RE10: DJNZ R3,RE10MOV C,P3.4MOV R3,#23RE20: DJNZ R3,RE20RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RET;显示子程序DISPLAY: MOV A,29H ;将29H中的十六进制数转换成10进制MOV B,#10 ;10进制/10=10进制DIV ABMOV B_BIT,A ;十位在aMOV A_BIT,B ;个位在bMOV DPTR,#NUMTAB ;指定查表启始地址MOV R0,#4DPL1: MOV R1,#250 ;显示1000次DPLOP: MOV A,A_BIT ;取个位数MOVC A,@A+DPTR ;查个位数的7段代码MOV P1,A ;送出个位的7段代码CLR P3.7 ;开个位显示ACALL D1MS ;显示1msSETB P3.7MOV A,B_BIT ;取十位数MOVC A,@A+DPTR ;查十位数的7段代码MOV P1,A ;送出十位的7段代码CLR P3.5 ;开十位显示ACALL D1MS ;显示1msSETB P3.5DJNZ R1,DPLOP ;250次没完循环DJNZ R0,DPL1 ;4个250次没完循环RET;1MS延时(按12MHZ算)D1MS: MOV R7,#80DJNZ R7,$RET;7段数码管0~9数字的共阳显示代码NUMTAB: DB 081H,0CFH,092H,086H,0CCH,0A4H,0A0H,08FH,080H,084HEND八、系统框图本系统设计由5个模块组成:主控制器(单片机)、温度采集模块、温度显示模块、控制电路模块、报警及指示模块。

相关文档
最新文档