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

合集下载

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

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

基于单片机的温度控制系统设计毕业论文单片机温度控制系统设计毕业论文职业学院毕业论文题目:单片机温度控制系统研制系院:工程技术学院学生姓名:学号:专业:机电一体化年级:指导教师:完成日期:X月X日毕业设计(论文)任务书设计(论文)题目单片机温度控制系统研制学生姓名专业机电一体化指导教师姓名下发日期20XX年12月29日任务起止日期:20XX年12月29日至20XX年5月15日设计(论文)的主要内容:进度安排序号设计(论文)工作任务日期1指导教师指导毕业生选题2015.12.29—2016.3.42指导教师指导论文提纲2016.3.4—2016.3.113指导教师指导论文第一稿2016.3.12—2016.3.314指导教师指导论文第二稿2016.4.1—2016.4.305指导教师指导论文定稿2016.5.1—2016.5.126论文答辩2014.5.13—2016.5.14主要参考文献:[1]张耀宗.机械加工实用手册编写组.机械工业出版社,2009[2]李军.数控机床参考点的设定间.制造技术与机床,2013[3]许镇宇.机械零件.北京:高等教育出版社,2012[4]孔庆复.计算机辅助设计与制造.哈尔滨:哈尔滨工业大学出版社,2011[5]雷宏,机械工程基础.哈尔滨:黑龙江出版社2012[6]王中发.实用机械设计。

北京:北京理工大学出版社2013[7]唐宗军,机械制造基础。

大连:机械工业出版社.2010系负责人意见:摘要温度是表征物体冷热程度的物理量,是工农业生产过程中一个很重要而普遍的参数。

由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。

温度控制的发展引入单片机后,可以降低对某些硬件电路的要求。

基于单片机的温度控制系统,可以实现对温度的精确控制。

本文以温室为研究对象,以AT89C51单片机为核心所实现的温度控制系统具有自动完成数据采集、数据处理、数据转换控制、键盘终端处理及显示的功能。

基于DS18B20的温度采集显示系统的设计

基于DS18B20的温度采集显示系统的设计

目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 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)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作.3.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。

基于51单片机的温度监测系统(DS18B20)

基于51单片机的温度监测系统(DS18B20)
为产生写0时隙,在拉低总线后主机必须继续拉低总线以满足时隙持续时间 的要求(至少60μs)。在主机产生写时隙后,DS18B20会在其后的15到60us的一 个时间窗口内采样单总线。在采样的时间窗口内,如果总线为低电平,主机会 向DS18B20写入0。
DS18B20读时序
所有的读时隙都由拉低总线,持续至少1us后再释放总线(由于上拉电阻的作用,总线恢复为 高
配置寄存器
8 位 CRC 生成器
DS18B20的时序
DS18B20复位时序
DS18B20的所有通信都由由复位脉冲组成的初始化序列开始。该初始化序列由主 机发出,后跟由DS18B20发出的存在脉冲(presence pulse)。在初始化步骤中,总线 上的主机通过拉低单总线至少480μs来产生复位脉冲。然后总线主机释放总线并进入接收 模式。当总线释放后,5kΩ的上拉电阻把单总线上的电平拉回高电平。当DS18B20检测 到上升沿后等待15到60us,发出存在脉冲,拉低总线60-240us至此,初始化和存在时序 完毕。时序图如下:
1.主控制器电路和测温
电路的设计
主控制器电路由AT89S52 及外围时钟和复位电路构成, 测温电路由DS18B20、报警 电路组成。AT89C52是此硬 件电路设计的核心,通过 AT89S52的管脚P2.7与 DS18B20相连,控制温度的 读出和显示。硬件电路的功 能都是与软件编程相结合而 实现的。具体电路原理图如 右图2所示。
送1,以拉低总线的方式表示发送0.当发送0的时候,DS18B20在读时隙的末期将会释放总线,总线
将会被上拉电阻拉回高电平(也是总线空闲的状态)。DS18B20输出的数据在下降沿(下降沿产 生读时隙)产生后15us后有效。因此,主机释放总线和采样总线等动作要在15μs内完成。

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

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

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

设计了培养箱温度控制系统,配备温度传感器,采用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 系列微控制器中的精简产品。

单片机基于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单片机的温度控制设计,可以实现对温度的精确控制,具有应用广泛、控制精度高等优点。

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

基于DS18B20的单片机温度检测与调节系统设计

基于DS18B20的单片机温度检测与调节系统设计

ajs betm ea r ,hg rc i ,es o t l n p l ai , t a e c adrg l ee v dut l e p rt e i peio a u h s n ayc nr dapi t n icnd t t n ua ni oa c o e e t —
as a e a p i ae o e r y a i g g e n o s n o c lu e p o u t n. lo c n b p lc t d t ne g -s vn r e h u e a d f r u t r r d c i li o Ke r s: DS1 y wo d 8B2 0; t mp r t e dee to e e aur t cin; t mp r t r e u a in; sn l c i e eaue rg lt o i ge— h p
的设计 方法 ¨ 。 J
D 1B 0 供 电 的 数 据 总 线 。 所 以 系 统 选 用 B8 2 D 1B 0作 为 温 度 传 感 器 可 大 大 简 化 系 统 硬 件 结 S8 2
周 秀明 ,曹 隽 ,张春龙
( 黑龙 江生 态工程 职 业 学院 ,黑龙 江 哈 尔滨 102 ) 50 5
摘 要 :文章介绍 了一 种基于 D 1 B 0的单 片机温度检测 调节系统 的设计 方法 。该温度 检测调节 系统具有 测 S8 2
温范围宽 、精 度高 、控 制简单 、实用 ,能对环境温度进行实 时检 测与调节等优点 ,适用 于一般的工农业 场合 , 也可应用于节能温室花卉生产 。 关键词 :D 1 B 0 S 8 2 ;温度检测 ;温度调 节 ;单 片机
位 ,5 ms2位 的数字 量 , 且 一根 口线 就可 以完 成 70 1 并 对 从 D 1 B 0读 出 的信 息 或 写 入 D 1 B 0的信 息 S82 S8 2 进 行 读 取 , 温 度 变 换 功 率 来 源 于 可 同 时 向 其

温度控制系统设计

温度控制系统摘要 : 随着微机测量和控制技术的迅速开展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。

本设计论述了一种以STC89C52单片机为主控制单元,以 DS18B20为温度传感器的温度控制系统。

该控制系统可以实时存储相关的温度数据并记录当前的时间。

系统设计了相关的硬件电路和相关应用程序。

硬件电路主要包括STC89C52单片机最小系统,测温电路、实时时钟电路、 LCD 液晶显示电路以及通讯模块电路等。

系统程序主要包括主程序,读出温度子程序,计算温度子程序、 LCD 显示程序以及数据存储程序等。

关键词:STC89C52, DS18B20,LCDAbstract:Along with the computer measurement and control technology of the rapid development and wide application,based on singlechip temperature gathering and control system development and application greatly improve the production of temperature in life level of control. This design STC89C52 describes a kind ofmainly by MCU control unit, for temperature sensor DS18B20 temperature control system. The control system can real-time storage temperature data and recordrelated to the current time. System design related hardware circuit and related applications. STC89C52 microcontroller hardware circuit include temperaturedetection circuit smallest system, and real-time clock circuit, LCD displaycircuit, communication module circuit, etc. System programming mainly includemain program,read temperature subroutine,the calculation of temperature subroutines, LCD display procedures and data storage procedures, etc.Keywords: STC89C52, DS18B20,LCD目录1前言 (1)2总体方案设计 (2)方案设计 (2)方案论证 (3)方案选择 (3)3单元模块的设计 (4)单片机模块 . (4)18B20 温度模块 (5)显示器模块 . (6)4软件设计 (7)系统总框图 (7)温度采集子程序 (8)5系统功能与调试方法介绍 (9)系统功能 (9)系统指标 (9)系统调试 (9)6参考文献 (10)附录 1:相关设计图 (11)附录 2:元器件清单 (13)附录 3:源程序 (14)1前言工业控制是计算机的一个重要应用领域,计算机控制系统正是为了适应这一领域的需要而开展起来的一门专业技术,它主要研究如何将计算机技术、通过信息技术和自动控制理论应用于工业生产过程,并设计出所需要的计算机控制系统。

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

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

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

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

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

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

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

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

加热过程与此类似。

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

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

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

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

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

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

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

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

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

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

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

基于DS18B20的温度传感器设计(课程设计)

摘要2009年6月14日随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。

本文主要介绍了一个基于AT89C52单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。

对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

DS18B20与AT89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

关键词:单片机AT89C51;DS18B20温度传感器;液晶显示LCD1602。

目录摘要 (I)第一章前言 (1)第二章设计任务及要求 (2)2.1 设计任务 (2)2.2 设计要求 (2)第三章课程设计方案及器材选用 (3)3.1设计总体方案 (3)3.1.1方案论证 (3)3.1.2 系统的具体设计与实现 (4)3.2器材选用分析 (5)3.2.1 DS18B20温度传感器 (5)3.2.2 AT89S52单片机介绍 (12)3.3 软件流程图 (15)3.3.1 主程序 (15)3.3.2读出温度子程序 (15)3.3.3 温度转换命令子程序 (15)3.3.4 计算温度子程序 (16)第四章硬件电路的设计 (17)4.1 proteus简介 (17)4.2 proteus仿真图 (17)第五章调试性能及分析 (19)总结 (20)参考文献 (21)附录1 源程序 (22)附录2 原理图 (26)第一章前言目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。

基于DS18B20的室温温度控制器

201 届本科生毕业设计(论文)开题报告课题题目基于DS18B20的室温温度控制器学生姓名学号专业班级电信工程题目来源□科学技术□生产实践□社会经济 □自拟□经典□其它题目性质□理论研究 □应用研究□工程设计 □软件设计 □其他成果形式□论文 □设计说明书□实物 □软件 □作品联系电话一、选题的依据及意义温度是一个反映物体冷热程度的物理量,一种最基本的环境参数。

进入21世纪后,特别在我国加入WTO后,各行业急切需要应用电子技术、自动控制技术进行改造和提升,而工、农业生产和日常生活中的各个环节都与温度紧密相联,因此研究温度的测量方法和装置有重要的意义。

多点温度检测控制的应用领域:消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械等设备温度过热检测等。

在一些大型仓库中,如大型粮仓、油库,都需要进行实时多点温度检测及预警,以消除安全隐患。

温室里实行温度检测可以确保花卉或农作物的成活率,从而提高经济效益,由此可知温度检测具有广泛的可利用性。

二、国内外研究现状及发展趋势目前,典型的温度测控是由数字温度传感器和单片机组成,温度信号直接转换成数字信号,可接通讯接口电路,并且单总线上多点采集温度,使单片机的外围硬件接线简单、测温方便,可靠性高,适合于粮仓和温室等。

当然,也有不足之处,如该传感器价格相对较贵,不利于工农业中大量广泛的使用。

传统温度检测多采用温度敏感元件,有热敏电阻NTC、PTC、铂热电阻PT100和热电偶等,需要提取电信号、经放大调理、A/D变换、将温度相关数字信号处理得到温度测试数据,实际应用麻烦,结构复杂、设备成本高、数据传输易受干扰 、测量精度低、系统误差大等缺点,难以达到较高的测量精度和足够的实时性。

综上所述,利用单片机数字化、智能化的应用功能,结合单总线的数字传感器来完成基于DS18B20的温室温度控制的设计,可实现多点温度检测,报警控制,抗干扰强,维护方便等功能,在工业生产、人民生活的利用中有较好的发展前景。

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

实习报告院系:专业班级:姓名:学号:基于DS18B20的单片机温度控制器的设计摘要: 本次实习中选择了DS18B20作为传感器,并和单片机89C51搭建硬件电路,最终实现了基于DS18B20的单片机温度控制器的设计。

DS18B20是新型数字温度传感器,采用它与单片机连接测量温度可简化温度控制器的电路,提高可靠性。

关键词: 89C51 单片机;DS18B20 温度控制器引言计算机的发展日新月异,其技术也突飞猛进,而嵌入式计算机这种专用计算机在当今科学的发展过程中更是不可或缺的。

嵌入式系统是近年来发展很快的计算机方面的学科方向,并迅速渗透到控制、自动化、仪器仪表等学科。

嵌入式方向包括了软硬件协同设计、嵌入式体系结构、实时操作系统、嵌入式产品设计等方面的知识,需要掌握嵌入式系统设计的典型开发工具,培训学生具备嵌入式系统软、硬件的开发能力,对于特定行业领域(如移动终端、数字家庭、信息家电以及对传统产业信息化改造)已经逐步形成了特定的嵌入式开发方法与手段。

随着现代化信息技术的飞速发展,能独立工作的温度检测系统已广泛应用与诸多的领域。

传统的温度检测大多以热敏电阻为传感器,但热敏电阻可靠性差、测量温度准确率低,且必须经过专门的接口电路转换成数字信号后才能进行处理。

它具有微型化、低功耗、高性能、抗干扰能力强等优点,特别适合于构成温度检测系统,可直接将温度转化成串行数字信号进行处理。

DS18B20的单片机温度控制器具有电路简单、可靠性高的优点。

本温度控制器对温度进行实时测量并显示,用户可设定最高限报警温度值和最低限报警温度值,有一定的温度控制功能。

一、实习设计目的1.1实习设计要求利用在嵌入式系统课程中所学的嵌入式系统知识和技巧,完成基于DS18B20的单片机温度控制器的设计过程。

此次实习设计的题目是利用嵌入式C语言编程知识和硬件电路板的焊接及测试知识实现温度控制器的功能。

此次实习的基于DS18B20的单片机温度控制器是利用89C51单片机一次查询各传感器的输出信号,然后89C51对输入信号进行相应处理后通过数码管输出,同时还可输出各种报警信号。

具体温度控制:当外界温度高于设定最高上限温度时,启动报警(二极管亮三停一,同时蜂鸣器响三停一);当外界温度降至最低下限温度以下,启动报警(二极管亮六停一,同时蜂鸣器响六停一)。

当温度高于最高上限温度和最低下限温度的中间值加上0.5度时,启动风机降温;当温度低于最高上限温度和最低下限温度的中间值减去0.5度时,风机即停止运转。

用户可设定最高上限温度值和最低下限温度值,这可通过按键实现。

S5为设置和确定键,S4为向上增加键,S3为向下减少键,S2为取消设置键。

设定上限时,上限第一位显示“H”,后三位显示设定温度;设定下限时,下限第一位显示“L”,后三位显示设定温度。

可通过按键调节温度上下限,长按键可以快速调节。

它构成的测温系统,测量温度精度达到0.1度,测量的温度的范围在+20度到+50度之间,用4位数码管显示出来,默认温度显示:小数点后显示两位。

同时,本设计利用单片机内部的EEPROM,可以对用户所设定的温度上下限进行保存,便于下次开机使用。

1.2实习设计目的:加强嵌入式的综合运用能力,提高嵌入式的软件编程和调试能力,为以后的学习和开发工作打下良好基础。

掌握开发设计的软件和硬件流程以及设计思想从而了解一个真正的具有市场需求的东西的开发过程并巩固用C语言编程的技巧和方法。

经过编程,完成实习设计题目要求所实现的各种功能。

嵌入式系统课程设计为学生提供了一个理论与实践相结合的机会。

既锻炼了学生的动手能力,又会加深理解学生在课堂所学习的理论知识。

二、课程设计描述2.1 单片机AT89C5189C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

89C2051是一种带2K 字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。

89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2.2 数字温度传感器DS18B20(一)选择DS18B20的原因DS18B20能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而使用DS18B20可使系统结构更趋简单,可靠性更高。

由于DS18B20单线通信是分时完成的,他有严格的时隙概念,因此读写时序很重要。

系统对DS18B20的各种操作必须按协议进行。

操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。

DS18B20温度传感器的内部存储器包括一个高速暂存RAM(数据缓冲寄存器)和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

前者暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。

第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。

第六、七、八个字节用于内部计算。

第九个字节是冗余检验字节。

(二)传感器DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:1.较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。

在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

2.在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。

当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

温度传感器DS18B20指令(命令)说明命令功能指令代码功能说明读ROM 33H 读DS18B20中的64位光刻ROM序列号启动转换44H 启动温度转换,结果存入内部高速暂存器RAM中写温限值4EH 向内部字节地址2和3 中写入上下限温度值匹配ROM 55H 发出命令后,还发送64位ROM序列号寻找对应号码的18B20读供电B4H 读电源供给方式: 发0为寄生供电,1为外接供电读取温度BEH 读取温度寄存器等9字节的内容跳过ROM CCH 单片18B20时,跳过读序列号操作,直接发温度转换报警搜索ECH 执行后,当温度超过上下限值时18B20才作响应搜索ROM F0H 搜索同一条线上挂接有几个18B20,识别ROM 2.3 硬件焊接方法1.原则:从左到右,从下到上,从低到高2.注意事项:(1)要注意看好二极管、电容、蜂鸣器的正负极;(2)要注意电烙铁的安全使用:常温不能超过280度,接触时间不能超过3S;(3)插座的凹口与板上的对应等问题。

三、硬件组成本温度控制器采用DS18B20与89C51单片机连接测量温度,硬件连接如图下所示。

对温度进行实时测量。

本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成各种传感器信号的采集、转换、各种信息的显示等;软件主要完成信号的处理及控制功能等。

3.1 硬件组成模块该系统硬件主要包括以下几个模块:DS18B20传感器模块、发光二极管模块、蜂鸣器控制模块、风机控制模块、按键扫描模块、EEPROM读写(保存上下限参数,并在上电时恢复参数)、数码管显示模块。

其中89C51主要完成外围硬件的控制以及一些运算功能,传感器完成信号的采样功能,存储器主要完成程序和数据的存储、显示模块完成字符、数字的显示功能。

四、软件设计4.1 DS18B20的软件设计由于DS18B20是本温控器的温度测量核心器件,因此先介绍其软件设计。

DS18B20的操作协议:对DS18B20的各种操作的软件设计必须依据其操作协议。

DS18B20的操作协议:每一次对DS18B20进行操作,必须先经过3个步骤:成功初始化DS18B20(复位DS18B20)-〉发送ROM操作指令-〉发送存储器操作指令,然后才能处理数据。

4.2 软件调试1.软件电路故障及解决方法设计软件部分出现这种错误的现象:当以断点或连续方式运行时,目标系统没有按规定的功能进行操作或什么结果也没有,这是由于程序转移到意外之处或在某处死循环所造成的。

2.解决方法:这类错误的原因是程序中转移地址计算错误、堆栈溢出、工作寄存器冲突等。

在采用实时多任务操作系统时,错误可能在操作系统中,没有完成正确的任务调度操作,也可能在高优先级任务程序中,该任务不释放处理器,使CPU在该任务中死循环。

通过对错误程序的修改使其实现预期功能。

4.3 程序编制程序代码见小组文档。

4.4 个人负责部分在整个程序中,本人主要负责了温度上下限设置,温度数据的读取和EEPROM保存读取和MAIN函数的程序编写。

(1) 温度上下限设置:void settemp(){if(S5==0){setflag++;C1=1;C2=1;C3=1;C4=1;while(!S5);}if(setflag==1){if(S4==0){if(count%250==0) {temph=temph+0.1;} }if(S3==0){if(count%250==0) {temph=temph-0.1;} }}if(setflag==2){if(S4==0){if(count%250==0) {templ=templ+0.1;} }if(S3==0){if(count%250==0) {templ=templ-0.1;} }}if(setflag==3){setflag=0;}if(S2==0){temph=27.5;templ=25.5;}}程序采用定时计数器的数值与固定数值取余的方式来实现等待功能,使CPU可以在等待时间执行其他任务,而无需把大量的时间消耗在等待信号上。

按键采用长按连续增加的设计,连续增加的速度适当。

相关文档
最新文档