基于DS18B20的数控温度系统设计 毕业设计.doc_第1页
基于DS18B20的数控温度系统设计 毕业设计.doc_第2页
基于DS18B20的数控温度系统设计 毕业设计.doc_第3页
基于DS18B20的数控温度系统设计 毕业设计.doc_第4页
基于DS18B20的数控温度系统设计 毕业设计.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的数控温度系统设计基于ds18b20的数控温度系统设计摘 要本文主要介绍一种基于ds18b20的数控温度系统的实际方法,给出了系统硬件设计及软件实现方法。硬件电路主要由单片机at89s51,温度传感器,lcd1602和继电器等组成。主要包括温度检测电路,键盘和显示电路,介绍了它们的工作原理及工作过程。该温度控制系统能够显示实时温度,并能够和设定的温度相比较,从而产生响应的动作。关键词: 温度传感器 单片机 液晶 i the ds18b20-based numerical control temperature systemabstractthis paper introduces a numerical control temperature system based on ds18b20 given system hardware design and software implementation.the hardware circuit is mainly composed by the microcontroller at89s52,temperature sensor,lcd1602 and relays.including a temperature detection circuit,and they work and work process.the temperature control system can display real-time temperature,and the ability to set temperature,resulting in response action.keywords: temperature sensor microcontroller liquid crtstal 目 录摘 要iabstractii1 绪论11.1 温度控制的意义11.2温度控制的几种算法11.3 论文的主要内容42 温度控制系统的总体设计方案52.1 设计背景52.2 设计目标52.3 设计功能要求52.4 设计特色52.5 系统框图63 温度控制系统的硬件设计83.1 at89s52单片机简介8 3.1.2 at89s52引脚描述93.2数字温度传感器ds18b20简介123.2.1 ds18b20的外形和内部结构123.2.2 ds18b20的主要特性133.3声光报警电路173.4 温度控制接口电路173.4.1 温度检测电路183.5 显示接口电路193.6 键盘接口电路203.7 电源接口电路214软件的设计与实现234.1 控制器主程序234.2 温度检测子程序244.3 温度显示子程序264.4 温度设定按键子程序284.5继电器控制子程序流程图30结束语31致谢32参考文献33附录1:原理图34附录2:仿真电路图411 绪论1.1 温度控制的意义温度是日常生活、工业、医学、环境保护、化工、石油等领域最常遇到的一个物理量。而且随着现代工业的发展,人们需要对工业生产中有关温度系统进行控制,如钢铁冶炼过程需要对刚出炉的钢铁进行热处理,塑料的定型及各种加热炉、热处理炉、反应炉和锅炉中温度进行实时监测和精确控制。而有很多领域的温度可能较高或较低,现场也会较复杂,有时人无法靠近或现场无需人力来监控。如加热炉大都采用简单的温控仪表和温控电路进行控制, 存在控制精度低、超调量大等缺点, 很难达到生产工艺要求。且在很多热处理行业都存在类似的问题,所以,设计一个较为通用的温度控制系统具有重要意义。这时我们可以采用单片机控制,这些控制技术会大大提高控制精度,不但使控制简捷,降低了产品的成本,还可以和计算机通讯,提高了生产效率。1.2 温度控制的几种算法(1) pid控制温度控制系统由于负载的变化以及外界干扰因素复杂,而pid控制只能对电参数的影响做精确的计算,对于外界环境的变化只能做近似的估算,影响控制精度。人工神经网络以其高度的非线映射,自组织,自学习和联想记忆等功能,可对复杂的非线性系统建模。该方法响应速度快,抗干扰能力强,算法简单,且易于用硬件和软件实现。训练方法实际是网络的自学习过程,即根据事先定义好的学习规则,按照提供的学习实例,调节网络系统各节点之间相互连接的权值大小,从而达到记忆,联想,归纳等目的。在温控系统中,将温度的影响因素如天气、气温、外加电压、被加热物体性质以及被加热物体温度等作为网络的输入,将其输出作为pid控制器的参数,以实验数据作为样本,在微机上反复迭代,随实验与研究的进行与深入,自我完善与修正,直至系统收敛,得到网络权值,达到自整定pid控制器参数的目的。在每个网络节点增加了记忆神经元,在学习动态非线性系统时,不须知道实际系统过多的结构,同时当系统滞后比较大时不会造成网络庞大难以训练。(2) 模糊控制模糊控制是基于模糊逻辑的描述一个过程的控制算法,主要嵌入操作人员的经验和直觉知识。它适用于控制不易取得精确数学模型和数学模型不确定或经常变化的对象。电力系统的模型通常是不完善的,即使模型已知,也存在参数变化的问题。pid控制简单、方便,但难以解决非线性和参数的变化,模糊控制不需要装置的精确模型,仅依赖于操作人员的经验和直观判断,非常容易应用。模糊温控的实现:将温控对象的偏差和偏差变化率以及输出量划分为不同的模糊值,建立规则,例如,if温度太高or 温度正在上升, then 减少控制输入,或风冷。将这些模糊规则写成模糊条件语句,形成模糊模型。根据控制查询表,形成模糊算法。对温度误差采样的精确量模糊化,经过数学处理输入计算机中,计算机根据模糊规则推理做出模糊决策,求出相应的控制量,变成精确量去驱动执行机构,调整输入,达到调节温度,使之稳定的目的。同传统的pid控制比较,模糊控制响应快,超调量小,参数变化不敏感。模糊模型使用模糊语言和规则描述一个系统的动态特性及性能指标。其特点是不须知道被控对象的精确模型,易于控制不确定对象和非线性对象,对被控对象参数变化有强鲁棒性,对控制系统干扰有较强抑制能力。然而,模糊控制的局限性在于对控制系统设计分析和标准缺乏系统的方法步骤, 规则库缺乏完整性,没有明确的控制结构。pid控制器结构简单,明确,能满足大量工业过程的控制要求,特别是其强鲁棒性能较好适应过程工况的大范围变动。但pid本质是线性控制,而模糊控制具有智能性,属于非线性领域,因此,将模糊控制与pid结合将具备两者的优点。即用过程的运行状态(温度偏差及温度变化率)确定pid控制器参数,用pid控制率确定控制作用。主要的问题是合理地获得pid参数的模糊校正规则。其实质是一种以模糊规则调节pid参数的自适应控制,即在一般pid控制系统基础上,加上一个模糊控制规则环节。(3) 模糊控制与神经网络结合温控系统由于被控过程常常具有严重的非线性时变性以及种类繁多的干扰。使得基于精确数学模型的传统控制方案很难获得满意的动静态控制效果。近些年来模糊逻辑控制取得了巨大成功。但是,模糊控制所基于的专家经验不易获得,一成不变的控制规则也很难适应被控制系统的非线性、时变性等问题, 严重影响控制效果。因此应使模糊控制向着自适应方向发展。使模糊控制规则隶属函数模糊量化在控制过程自动地调整和完善。自适应模糊控制提供了一种新的有效途径,利用神经网络的学习能力来修正偏差和偏差变化的比例系数, 达到优化模糊控制器作用,从而进一步改进实时控制效果,以便应用于温度过程控制中,其优点动态响应快,能达到高精度的快速控制,具有极强的鲁棒性和适应能力 (4) 遗传算法遗传算法(简称)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的全局优化搜索算法。它将生物进化过程中适者生存规则与群体内部染色体的随机信息交换机制相结合,通过正确的编码机制和适应度函数的选择来操作称为染色体的二进制串或。引入了如繁殖交叉和变异等方法在所求解的问题空间上进行全局的并行的随机的搜索优化, 朝全局最优方向收敛。基于遗传算法温控系统的设计就是传感器得到的温度信号放大,数字化送入单片机,单片机将其与给定温度进行比较,用遗传算法来优化个参数,然后将控制量输出。具体实现将个参数串接在一起构成一个完整的染色体。从而构成遗传空间中的个体,通过繁殖交叉和变异遗传操作生成新一代群体,经过多次搜索获得最大适应度值的个体即所求。在硬件上采用单片机控制。具有调试方便温控精度高, 抗干扰性强等优点。在软件上采用遗传算法对参数进行优化控制。具有很高的稳定度,温控精度高。1.3 论文的主要内容温度是一个和人们生活环境有密切关系的物理量,也是一个人们在科学实验和生产生活中经常需要加以检测和控制的重要物理量。温度控制技术是一种比较重要的工业技术,因此需要专门的温度控制系统来实时监测温度的变化,并能够把温度控制在我们预期的范围只能,所以我选择了基于ds18b20的数控温度系统设计这一课题。论文第一章主要介绍了温度控制系统的背景和意义以及温度控制的其他算法;第二章主要介绍了温度控制系统的总体方案设计;第三章介绍了温度控制系统的硬件部分,包括硬件原理图和系统框图;第四章介绍了温度控制系统的软件部分,软件流程图。2 温度控制系统的总体设计方案该方案利用单片机将温度传感器检测到的温度经过处理,能够实时显示出来,并通过与设定的值进行比较,控制继电器的动作,从而达到控制温度的目的。2.1 设计背景在现代工业发展中,温度是一个很重要的物理量,一个人们必须能够控制的量,因为温度的变化对工业的生产至关重要,所以我们要有个能够掌控温度变化的控制器。2.2 设计目标首先本以atmel公司生产的at系列单片机为核心控制芯片,这款单片机以执行速度快、抗干扰性好、物美价廉,作为智能太阳能热水系统控制器系统cpu的首选。温度信息采用lcd1602液晶显示,可以显示实时检测温度与用户设定温度两部分。可以在允许设定温度的上下限之内设定需要的温度。温度采集采用ds18b20数字温度传感器,将检测的温度送到控制器处理。2.3 设计功能要求该温度控制系统应该具有显示用户设定的高温低温,以及实际检测的温度,当温度超过上限时,高温报警,超出下限时,低温报警,并且相应继电器动作。2.4 设计特色本设计的设计特色为两方面:用户方面:本设计为充分为用户考虑,用最实用,最简单的控制界面来实现本设计所要求的真正人性化设计。企业方面:在保证全部需要功能实现的情况下,采用最简洁,最经济的设计方法,以达到节约开发成本,最大化的实现利润目的为前提,为此设计的市场商业价值增添竞争的筹码。2.5 系统框图微处理器at89s52温度检测电路ds18b20实时温度显示电路按键输入控制电路继电器控制电路电源转换电路复位电路晶振电路声光报警电路图2-1 系统结构图温度检测电路ds18b20与单片机的连接非常简单,只需要占用单片机的一个i/o口即可,单线连接,单片机对ds18b20的读写都是通过这个i/o口实现的。实时温度显示电路采用lcd1602液晶显示器,将得到的温度值显示到液晶上。电源转换电路主要用到桥式电路和7805三端稳压电路。220v的电压经过整流、滤波,在经过7805三端稳压电路,得到的是稳定的+5v电源,给单片机供电。按键输入电路设置了两个独立按键,用来输入需要设定的温度。声光报警电路包括两个发光二极管和一个蜂鸣器,如果设定了上限和下限,当温度高于上限时,第一个二极管闪烁,蜂鸣器响,控制加热继电器动作;当温度低于下限时,第二个二极管闪烁,蜂鸣器响,控制冷却继电器动作。3 温度控制系统的硬件设计该设计的硬件主要包括at89s52单片机,lcd1602液晶,温度传感器ds18b20,继电器等3.1 at89s52单片机简介at89s52是一种低功耗、高性能cmos 8位微控制器,具有8k在系统可编程flash 存储器。使用atmel 公司高密度非易失性存储器技术制造,与工业80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位cpu 和在系统可编程flash,使得at89s52在众多嵌入式控制应用系统中得到广泛应用。3.1.1 at89s52主要性能参数(1)与mcs-51单片机产品兼容; (2)8k字节在系统可编程flash存储器; (3)1000次擦写周期; (4)全静态操作:0hz-33mhz; (5)三级加密程序存储器; (6)32个可编程i/o口线; (7)三个16位定时器/计数器; (8)6个中断源; (9)全双工uart串行通道; (10)低功耗空闲和掉电模式; (11)掉电后中断可唤醒;(12)看门狗定时器; (13)双数据指针。 3.1.2 at89s52引脚描述图3-1 单片机at89s52引脚图各引脚说明如下:(1)vcc:电源电压(2)gnd:地(3)p0口:po口是一组8位漏极开路行双向i/o口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个ttl逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash编程时,po口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。(4)p1口:p1口是一个内部上拉电阻的8位双向i/o口,p1的输入缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时客座输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流(i)。flash编程和程序校验期间,p1口接收8位地址。(5)p2口:p2口是一个带有内部上拉电阻的8位双向i/o口,p2的输入缓冲极可以驱动(输入或输出电流)4个ttl逻辑门电路。对端口“1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或1位地址的外部数据存储器(例如执行movxdptr指令)时,p2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行movxri指令)时,p2口线的内容(也既特殊功能寄存器(sfr)区中r2寄存器的内容),在整个访问期间不改变。flash编程或校验时,p2亦接收高地址和其他控制信号。(6)p3口:p3口是一组带有内部上拉电阻的8位双向i/o口,p1的输入缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的p3口将用上拉电阻输出电流。p3口除可作为一般的i/o口线外,更重要的用途是它的第二功能,如表3-2所示。表3-2 at89s52 p3口第二功能端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2(外中断0)p3.3(外中断1)p3.4t0(定时/计数器0)p3.5t1(定时/计数器1p3.6(外部数据存储器写选通)p3.7(外部数据存储器读选通)(7)rst/vpd:复位输出。当震荡器工作时,rst引脚出现两个机器周期以上高电平使机器复位。复位后片内存储器的状态如表3-3所示,p1-p3口输出高电平,初始值07h写入堆栈指针sp、清0程序计数器pc和其余特殊功能寄存器,但始终不影响片内ram状态,只要该引脚保持高电平,89c51将循环复位,rst/vpd从高电平到低电平单片机将从0号单元开始执行程序,另外该引脚还具有复用功能,只要将vpd接+5v备用电源,一旦vcc电位突然降低或断电,能保护片内ram中的信息不丢失,恢复电后能正常工作。(8)ale/当访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节,即使不访问外部字节,ale仍时钟震荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个ale脉冲。(9):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。表3-3 at89s52复位后寄存器内容寄存器内容寄存器内容pc0000htmod00hacc00htcom00hb00hth000hpsw00htlo00hsp07hth100h0dptr0000hth100hp1p30ffhscon00hipxxx00000sbuf不定ie0xxx00000pcon0xxx00000(10)ea/vpp:外部访问允许。欲使cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端必须保持低电平(接地)。(11)xtal1:振荡器反向放大器及内部时钟的输入端。(12)xtal2:振荡器反向放大器的输出端。(13)时钟振荡器:at89s52中有一个构成内部震荡器的高增益反向放大器,引脚xtal1和xtal2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡。外接石英晶体(或陶瓷震荡器)及电容c1、c2接在放大器的震荡回路中构成并联震荡电路。对外接电容c1、c2虽然没有非常严格的要求,但电容大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pf10pf,而如果使用陶瓷谐振器建议选择40pf10pf。在这种情况下,外部时钟脉冲接到xtal1端,既内部时钟发生器的输入端,xtal2悬空。3.2数字温度传感器ds18b20简介在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器ds18b20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。新的“一线器件”ds18b20体积更小、适用电压更宽、更经济。美国dallas半导体公司的数字化温度传感器ds18b20是世界上第一片支持“一线总线”接口的温度传感器,在其内部使用了在板(on-b0ard)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的ds18b20体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。目前ds18b20批量采购价格仅10元左右。同ds1820一样,ds18b20也支持一线总线接口,测量温度范围为-55c+125c,在-10+85c范围内,精度为0.5c。ds1820的精度较差为2c。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3v5.5v的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。3.2.1 ds18b20的外形和内部结构ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20的外形及管脚排列如下图3-2。 图3-2 ds18b20的外形及管脚排列ds18b20引脚定义:(1)dq为数字信号输入/输出端;(2)gnd为电源地;(3)vdd为外接供电电源输入端(在寄生电源接线方式时接地)。3.2.2 ds18b20的主要特性(1)适应电压范围更宽,电压范围:3.05.5v,在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。(3)ds18b20支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温。(4)ds18b20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。(5)温范围55125,在-10+85时精度为0.5。(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。(8)测量结果直接输出数字温度信号,以一线总线串行传送给cpu,同时可传送crc校验码,具有极强的抗干扰纠错能力。(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。ds18b20有4个主要的数据部件: (1)光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。 (2)ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。表3-4 ds18b20温度值格式ms bytebit 15bit 14bit 13bit 12bit 11bit 10bit 9bit 8ssss2-1262524ls bytebit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 0232221202-12-22-32-4这是12位转化后得到的12位数据,存储在18b20的两个8比特的ram中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 (3)ds18b20温度传感器的存储器 ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的eepram,后者存放高温度和低温度触发器th、tl和结构寄存器。 (4)配置寄存器 该字节各位的意义如下:表3-6 配置寄存器结构tmr1r011111低五位一直都是“1”,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动。r1和r0用来设置分辨率,如下表所示:(ds18b20出厂时被设置为12位)表3-7 配置寄存器结构r1r0温度最大转换时间温度最大转换时间0093.75ms93.75ms01187.5ms187.5ms10375ms375ms11750ms750ms(一) 高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算:当符号位s=0时,直接将二进制位转换为十进制;当s=1时,先将补码变为原码,再计算十进制值。表2是对应的一部分温度值。第九个字节是冗余检验字节。表3-8 ds18b20暂存寄存器分布寄存器内容字节地址温度值低位 (ls byte)0温度值高位 (ms byte)1高温限值(th)2低温限值(tl)3配置寄存器4保留5保留6表3-9 rom指令表指 令约定代码功 能读rom33h读ds1820温度传感器rom中的编码(即64位地址)符合 rom55h发出此命令之后,接着发出 64 位 rom 编码,访问单总线上与该编码相对应的 ds18b20 使之作出响应,为下一步对该 ds18b20 的读写作准备。搜索 rom0foh用于确定挂接在同一总线上 ds18b20 的个数和识别 64 位 rom 地址。为操作各器件作好准备。跳过 rom0cch忽略 64 位 rom 地址,直接向 ds18b20 发温度变换命令。适用于单片工作。告警搜索命令0ech执行后只有温度超过设定值上限或下限的片子才做出响应。根据ds18b20的通讯协议,主机(单片机)控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位操作,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,当ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。表3-10 ram指令表指 令约定代码功 能温度变换44h启动ds1820进行温度转换,12位转换时最长为750ms(9位为93.75ms)。结果存入内部9字节ram中。读暂存器 0beh 读内部ram中9字节的内容 写暂存器 4eh 发出向内部ram的3、4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。复制暂存器 48h 将ram中第3 、4字节的内容复制到eeprom中。 重调 eeprom 0b8h 将eeprom中内容恢复到ram中的第3 、4字节。 读供电方式 0b4h 读ds1820的供电模式。寄生供电时ds1820发送“ 0 ”,外接电源供电 ds1820发送“ 1 ”。 3.3声光报警电路 图3-8 声光报警电路图声光报警电路由单片机输出报警信号,启动故障报警电路,发光二级管 led得电发光,同时,蜂鸣器发声报警,两者提示操作人员尽快得到提示以便做出相对应的操作。如图3-8所示。3.4 温度控制接口电路温度控制电路主要实现温度实时检测,辅助加热自动控制,自定义设定温度等功能。在其硬件电路上主要是由温度检测电路,实时温度显示电路,设定温度加减按键电路以及继电器组成。其中实时温度显示电路,设定温度显示电路,设定温度加减按键电路将在下文中显示电路和按键电路中介绍。3.4.1 温度检测电路在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器ds18b20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。新的“一线器件”ds18b20体积更小、适用电压更宽、更经济。由于ds18b20是支持“一线总线”接口的温度传感器,所以硬件电路非常简单,如图3-9。具体工作原理已经在芯片介绍中说明,在此不再赘述。图3-9 温度检测电路图具体硬件接线如图3-9所示,i/o口连接到单片机的p1.0上。3.5 显示接口电路图3-11 显示电路图显示电路采用lcd1602液晶,只需要用到几个i/o口即可,电路简单,操作方便。1602采用标准的16脚接口,其中vss为地电源,vdd接5v正电源,v0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,可通过一10k的电位器调整对比度。rs为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。rw为读写信号线,高电平时进行读操作,低电平时进行写操作。当rs和rw共同为低电平时可以写入指令或者显示地址,当rs为低电平rw为高电平时可以读忙信号,当rs为高电平rw为低电平时可以写入数据。e端为使能端,当e端由高电平跳变成低电平时,液晶模块执行命令。d0d7为8位双向数据线。(1)vdd/vss:电源5(110%)v或接地。(2)vss/vdd:接地或电源5(110%)v。(3)vdd:反视度调整。使用可变电阻调整,通常接地。(4)rs:寄存器选择。1为选择数据寄存器;0为选择指令寄存器。(5)r/w:读/写选择。1为读;0为写。(6)e:使能操作。1为lcm可做读写操作;0为lcm不能做读写操作。(7)db0db7:双向数据总线的第07位。(8)vdd:背光显示器电源+5v。(9)vss:背光显示器接地。3.6 键盘接口电路键盘接口电路是用户干预系统运行的唯一接口,也是用户比较关心的问题。为了方便的实现控制器对时间与温度的设定及显示功能,此部分设计充分为用户考虑而设计。按键功能简单,方便用户快速上手。硬件接口电路如图3-14所示。图3-14 设定温度按键电路设定温度增加按键s0装在p1.1。设定温度减少按键s1装在p1.2。控制时间按键电路功能:当每按下一次设定温度增加按钮s0时,设定温度增加5摄氏度,最高设定为80摄氏度;当每按下一次设定温度增加按钮s1时,设定温度减少5摄氏度,最低设定为10摄氏度3.7 电源接口电路图3-13 电源电路电源电路主要是由电源变压器、整流、滤波和稳压电路四部分组成。电源变压器是将交流电网220v的电压变为所需要的电压值,然后通过整流电路将交流电压变为脉动的直流电压。由于此脉动的直流电压还含有较大的纹波,必须通过滤波电路加以滤除,从而得到平滑的直流电压。但这样的电压还随着电网电压波动、负载和温度的变化而变化。因而在整流、滤波电路之后,还需要稳压电路。稳压电路的作用是当电网波动、负载和温度变化时,维持输出直流电压稳定。本文设计的直流稳压电源要求输出5v电压,为此设计了由集成稳压块7805组成的集成电压电路。7805是我们最常用到的稳压芯片了,它的使用方便,用很简单的电路即可以输入一个直流稳压电源,它的输出电压恰好为5v,刚好是51系列单片机运行所需的电压,它有很多的系列如ka7805,ads7805,cw7805等,性能有微小的差别,用的最多的还是lm7805,下面简单的介绍一下它的3个引脚以及用它来构成的稳压电路的资料。其中1接整流器输出的正电压,2为公共地(也就是负极),3就是我们需要的正5v输出电压了,其主要参数如表3-13所示。在电路中使用的7805稳压块不仅有输入端、输出端和公共端,在芯片内部设有过流、过热保护以及调整管安全保护电路,使用简便,具有保护功能好,安全可靠、输出稳定度高等特点。这个电路给系统提供稳定的直流供电电压、为电路提供精密基准电压源,在进行光电隔离时,为隔离电路提供独立的供电电源。集成稳压块的作用为把非稳定的直流电压变换成稳定的直流电压。电源电路如图3-13所示。表3-13 7805主要参数参数选项输出电压输入电压最小输入电压最大输入电压最大输出电流静态工作电流780555%107.5351.56单位vvvvama4软件的设计与实现软件设计主要包括:控制器主程序,温度检测子程序,温度显示子程序,温度设定按键子程序等几个部分。4.1 控制器主程序开始初始化温度检测模块显示模块按键模块比较输出模块图4-1 控制器主程序流程图从控制器的功能和硬件设计可以看出,控制器的软件部分可以自然地分成初始化部分、温度检测部分、显示部分,按键扫描部分,加热比较输出部分。显示部分分为两个部分,分别为实时检测温度显示,设定温度显示。按键扫描温度设定加减按键。单片机读取按键状态,去抖动后得到按键状态,根据相对应的按键功能程序来实现温度的自由设定功能。4.2 温度检测子程序cpu对ds18b20的访问流程是:先对ds18b20初始化,再进行rom操作命令,最后才能对存储器操作,数据操作。在此流程设计中,工作时序主要包括三个部分,初始化时序,写时序,和读时序。初始化功能为检测ds18b20是否存在,写时序功能为向ds18b20写命令子程,如图4-2所示。开始检测是否存在ny跳过rom调用写ds18b20子程序温度变换ds18b20初始化跳过rom调用写ds18b20子程序读暂存存储器调用写ds18b20子程序调用读取温度值返回调用写ds18b20子程序ds18b20初始化图4-3 温度检测子程序流程图读时序功能为ds18b20 a/d转换后的温度值。通过以上工作步骤,然后可以方便的随时读出温度数据,然后可以实时显示。ds18b20每一步操作都要遵循严格的工作时序和通信协议。4.3 温度显示子程序检测到的温度直接通过一个i/o口传到单片机,经过单片机的处理显示到液晶上。温度显示子程序软件功能流程首先获取ds18b20检测温度的整数部分,然后可以取得检测到的实时温度的整数部分的十位和个位,接着取得用户设定温度整数部分的十位和个位。单片机复位后默认设定温度为45摄氏度。流程图如图4-4所示。获取ds18b20检测温度的整数部分取得检测温度整数部分的十位和个位暂存1602初始化延时一段时间向1602写指令(地址)写数据(温度的十位部分)向1602写指令写数据(温度的个位部分)依次显示出小数点和小数点后面的部分返回图4-4 温度显示程序流程图4.4 温度设定按键子程序温度设定按键主要由两部分构成:设定温度增加按键和设定温度减少按键。首先判断设定温度加按键是否按下。如未按下,则转设定温度减少按键程序;如按下则延时消抖,再次判断是否按下。如未按下,则转设定温度减少按键程序。如按下则判断设定个位部分是否为0。如果为零,则增加5摄氏度然后转设定温度减少按键子程序;如不为零将设定个位部分清零并向十位进位。设定温度达到温度上限则维持上限温度;设定温度未到温度上限时,将设定温度十位1,然后判断是设定加键否松开,松开则转设定温度减少按键功能子程序。其次判断设定温度减少按键是否按下。如未按下则返回;如按下延时消抖,再次判断是否按下,没按下返回,按下则判断设定个位部分是否为0。如不为零,则清零返回。如为零则判断是否为设定温度下限,如果为设定温度下限,则维持下线并将设定温度清零。如未到设定温度下限,则将设定温度十位减1,设定温度个位设置为5摄氏度。然后判断设定减按键是否松开,没松开等待,松开则返回。至此,温度设定按键子程序流程完毕,流程图如图4-7所示。 开始判断设定加按键是否按下延时消抖y再次判断是否按下y设定个位部分是否为0y判断设定温度是否为上限将设定温度十位加1y维持上限判断设定加键是否松开yn没松开等待设定加键是否按下nn延时消抖再次判断是否按下yy设定个位部分是否为0y增加5,即5摄氏度n将设定个位部分清零并向十位进位设定温度是否下限限维持下限并将设定个位清零y将设定温度十位减1n将设定温度个位设置为5摄氏度设定减键是否松开等待ny返回nn设定个位部分清零nny图4-7 温度设定按键子程序流程图4.5继电器控制子程序流程图检测温度是否为负y检测温度是否等于设定温度n检测温度是否大于设定温度ny继电器返回继电器动作返回yn开始图4-9 继电器控制子程序流程图结束语本论文研究了基于ds18b20的温度控制系统的发展过程,结构原理;从硬件和软件两个角度研究了温度控制系统的设计方法以及实现的功能。设计中我不仅查阅大量的的文献资料写出设计说明,而且努力作出了应对各种困难,设计过程我学到了很多以前在书本上没有学到的知识,同时也锻炼了在独立设计实践中发现问题解决问题的能力。设计中遇到各种问题经常先自己钻研,研究不出然后与导师在一起讨论,在讨论中逐渐的完善论文的设计,学习和增长了新的知识,提高了自身能力。由于时间和个人技术的原因,没能完成硬件实物的制作,这给这次设计留下了一点遗憾。总之,更重要的还是提高了自身独立设计开发产品的能力,为日后的进一步学习和工作打下了坚实的基础。致谢短暂而又充实的本科毕业设计就要结束了。在这段设计时间里,我把所学的理论知识应用到科研实践中去并用实践来进一步检验理论。通过理论和实践相结合的方式,学到了很多新的知识。我所取得的成绩离不开老师和同学帮助。感谢我的指导老师。她是一个治学严谨、工作极其认真的人,并有丰富的经验,也是一位关心学生、处处为学生着想、非常负责任的老师。她为我们提供了许多学习新知识的好机会,锻炼了我们的实际工作能力。感谢在学业及学位论文的完成过程中对我关心和帮助的同学、室友。最后,谨以此文献给我所有关心、教育和支持我的老师、同学和父母。参考文献1 陈涛. ds18b20芯片与单片微控制器的接口设计与应用j. 山东煤炭科技 , 2002,(03) . 2 陈跃东. ds18b20集成温度传感器原理及其应用j. 安徽工程科技学院学报 , 2002,(04) .3 蒋力培.单片微机系统实用教程. 北京:机械工业出版社,2004,024 冯育长.单片机系统设计与实例分析.西安电子科技大学出版社,2007,05 5 余瑾,姚燕.基于ds18b20测温的单片机温度控制器系统。单片机开发与应用,2009,25(3-2);105-106.6 蔡明文,冯先成. 单片机课程设计。 华中科技大学出版社, 20077 周兴华.单片机智能化产品c语言设计实例详解,北京航天航空大学出版社,20078 苏燕. pic16c73在太阳能热水器中的应用.山东科学,2000,069 zhang chunzhi feng haiming. design of micro-controllers control system of electric refrigeratorj.journal of beijing vocational & te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论