基于单片机控制的恒温箱设计_第1页
基于单片机控制的恒温箱设计_第2页
基于单片机控制的恒温箱设计_第3页
基于单片机控制的恒温箱设计_第4页
基于单片机控制的恒温箱设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

(2011 届)届) 毕业设计(论文)资料毕业设计(论文)资料 题题 目目 名名 称:称: 基于单片机控制的恒温箱设计基于单片机控制的恒温箱设计 学学 院(部)院(部) : 电气与信息工程学院电气与信息工程学院 专专 业:业: 机电一体化技术机电一体化技术 学学 生生 姓姓 名:名: 班班 级:级: 学号 学号 指导教师姓名:指导教师姓名: 职称 职称 最终评定成绩:最终评定成绩: 湖南工业大学教务处湖南工业大学教务处 (2011 届)届) 专科毕业设计(论文)专科毕业设计(论文) 基于单片机控制的恒温箱设计 学学 院(部):院(部): 电气与信息工程学院电气与信息工程学院 专专 业:业: 机电一体化技术机电一体化技术 学学 生生 姓姓 名:名: 刘刘 勇勇 班班 级:级: 机电机电 08210821 学号学号 0839518212408395182124 指导教师姓名:指导教师姓名: 周翔周翔 职称职称 讲师讲师 最终评定成绩最终评定成绩 2011 年 6 年 摘 要 本设计以单片机 AT89c51 为核心部件,采用单总线型数字式的温度传感器 DS18B20 作为温度采集,设计制作了带键盘输入控制,动态显示和越限报警功 能的恒温控制系统。该系统既可以对当前温度进行实时显示,又可以对温度进 行控制,并使其恒定在某一温度范围。控制键盘设计使设置温度简单快捷,两 位整数一位小数的显示方式具有更高的显示精度。通过对系统软件和硬件的合 理规划,发挥单片机自身集成多系统功能单元的优势,在不减少功能的前提下 有效降低了成本,系统操作简便。 关键词 :单片机,恒温控制,AT89C51,DS18B20,精度 ABSTRACT This design with single-chip microcomputer AT89c51 as the core component with single bus-control digital temperature sensor DS18B20 as temperature gathering, design with a keyboard input control, the dynamic display and the limit alarm function of temperature control system. This system not only can real-time display of the current temperature and temperature control, and make its constant in a certain temperature range. Control the keyboard design makes set temperature simple and quick, two integer a decimal display mode has higher precision of the show. Through the system software and hardware reasonable planning, play microcontroller itself more system function unit integrated advantage, in not reduce functionality premise to reduce the cost and system easy operation. Key words: single-chip ,microcomputer temperature control, AT89C51 single chip ,DS18B20 ,precision 目 录 第 1 章 绪论.1 1.1 课题背景 1 1.2 国内外恒温控制技术发展现状及趋势.1 1.2.1 国外恒温控制的发展现状及趋势.1 1.2.2 国内恒温控制的发展现状及趋势.2 1.3 设计任务.2 1.3.1 设计目的.2 1.3.2 系统设计技术指标.3 1.3.3 系统功能.3 第 2 章 恒温控制系统总体方案设计.4 2.1 系统方案选择与论证.4 2.1.1 一位式的模拟控制方案.4 2.1.2 二位式的模拟控制方案.4 2.1.3 PID 算法控制方案.5 2.2 恒温控制系统工作原理.6 第 3 章 恒温控制系统硬件设计.7 3.1 CPU 主控模块 .7 3.1.1 AT89C51 单片机简介.7 3.1.2 AT89C51 各引脚功能说明.7 3.1.3 AT89C51 单片机主要性能参数.8 3.1.4 晶振电路与复位电路的设计.8 3.2 温度采集模块.9 3.2.1 DS18B20 的特点.9 3.2.2 DS18B20 内部结构.11 3.2.3 DS18B20 的内存结构.11 3.2.4 温度传感器 DS18B20 的测温原理.12 3.2.5 DS18B20 的指令集.13 3.2.6 DS18B20 与单片机的接口电路.14 3.3 按键输入电路.16 3.4 继电器模块.17 3.4.1 固态继电器 SSR 工作原理.17 3.4.2 固态继电器 SSR 的特点.18 3.4.3 继电器控制电路图.19 3.5 显示模块.19 第 4 章 恒温控制系统软件设计.22 4.1 工作流程.22 4.2 程序模块.22 4.2.1 主程序.22 4.2.2 温度传感器驱动子程序.23 4.2.3 键盘扫描处理程序.24 4.2.4 温度检测与控制子程序.24 4.2.5 温度显示子程序.25 4.3 软件调试.26 4.4 软硬调试.28 结束语.29 参考文献.30 致谢.31 附录一 硬件电路.32 附录二 软件程序.33 第 1 章 绪 论 1.1 课题背景 温度是工业上常见的被控参数之一,特别是在冶金、化工、建材、食品加 工、机械制造等领域,恒温控制系统被广泛应用于加热炉、热处理炉、反应炉 等。在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或 PN 结测温电 路经过相应的信号调理电路,转换成 AD 转换器能接收的模拟量,再经过采样 保持电路进行 AD 转换,最终送入单片机及其相应的外围电路,完成监控。 但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本 文介绍单片机通过数字温度传感器检测外部温度对水箱进行恒温控制的设计, 采用 PID 算法来控制 PWM 波形的产生,进而控制电炉的加热来实现恒温控制。 因此,本系统采用一种新型的可编程温度传感器(DS18B20),不需复杂的信号 处理电路和 AD 转换电路就能直接与单片机完成数据采集和处理,实现方便、 精度高,可根据不同需要用于各种场合。在日常生活中,也经常用到电烤箱、 微波炉、电热水器、烘干箱等需要进行温度检测与控制的家用电器。采用单片 机实现温度控制不仅具有控制方便、简单、灵活等优点,而且可以大幅度地提 高被控温度的技术指标,从而大大提高产品的质量,现以恒温控制系统的设计 进行介绍。 1.2 国内外恒温控制技术发展现状及趋势 随着计算机控制技术的发展,恒温控制己在工业生产领域中得到了广泛应 用,并取得了巨大的经济和社会效益。在不同的领域内,由于控制环境、目标、 成本等因素,需要针对具体情况来设计系统结构和功能,以取得最佳的控制效 果。其中,恒温环境的自动化控制技术在工业生产、商业运营中是一个重要研 究课题。 1.2.1 国外恒温控制的发展现状及趋势 自 70 年代以来,由于工业过程控制的需要,特别是在微电子技术和计算机 技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外恒温控制 系统发展迅速,并在智能化,自适应参数的自整定等方面取得了很大的科技成 果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批 商品化的性能优异的温度控制器及仪器仪表。 目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速 发展。虽然温度控制系统在国内各行各业的应用已经十分广泛,但从国内生产 的温度控制器及技术来讲,其总体发展水平仍然不高,同国外的日本、美国、 德国等先进国家相比,仍然有着较大的差距。 1.2.2 国内恒温控制的发展现状及趋势 我国目前在恒温控制技术这方面总体技术水平处于 20 世纪 80 年代中后期 水平,成熟产品主要以“点位”控制及常规的 PID 控制器为主,它只能适应一般 温度系统控制,难于控制滞后、复杂、时变的温度系统控制。在适应于较高控 制场合的智能化、自适应控制仪表领域内,国内技术还不十分成熟,形成商品 化并广泛应用的控制仪表较少。因此,我国在恒温控制等控制仪表行业与国外 还有着一定的差距。 从过程量的检测角度出发,温度是最常见的过程变量之一,它是一个非常 重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、 浓度、挤压成形,结晶以及空气流动等物理和化学过程。而恒温控制技术在工 业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞 后等特点,它对控制调节器要求较高。其温度控制不好就可能引起生产安全,产 品质量和产量等一系列问题。尽管恒温控制很重要,但是要控制好温度常常会 遇到意想不到的困难。 随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对 电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体 积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各 个领域、各个行业都得到了广泛应用。 1.3 设计任务 1.3.1 设计目的 设计一个恒温自动调节控制系统,温度可以在一定范围内由人工设定,并 能在环境温度降低时实现自动调节,以保持与设定的温度基本不变。 利用单片机 AT89C51 实现温度的智能控制,使温度能够在设定温度实现恒 定温度调节,利用数字温度传感器读出实际温度,并在此基础上将实际温度调 节到通过键盘设定的温度(其方式是加热或降温),并通过数码管显示器实现 当前温度与设定温度的显示。 1.3.2 系统设计技术指标 设计的恒温控制系统的技术指标: (1)预置时显示设定温度,达到定温度时显示实时温度,显示精确到 1。 (2)恒温箱温度可预置,在误差范围内恒温控制,温度控制误差1。 (3)恒温系统由 1KW 电炉加热。 (4)启动后有运行指示,温度低于预置温度 5时进行 220V 全加热。 (5)具有相应的保护功能。 1.3.3 系统功能 (1)可以对温度进行自由设定,但必须在 0100内,设定时可以实时显 示出设定的温度值。 (2) 加热由 1 台 1KW 电炉来实现,如果温度不在设定温度时,根据设定的 温度值与实际检测的温度值之差来采取不同的加热方式。 (3) 能够保持实时显示温度,显示位数 4 位,分别为百位、十位、个位和 小数位。(但由于规定不超过 90 度,所以百位也就没有实现,默认的百位是不 显示的。) 第 2 章 恒温控制系统总体方案设计 2.1 系统方案选择与论证 2.1.1 一位式的模拟控制方案 此方案是传统的一位式模拟控制方案,选用模拟电路,用电位器设定给定 值,反馈的温度值和设定值比较后,决定加热或不加热。其特点是电路简单, 易于实现,但是系统所地结果的精度不高并且调节动作频繁,系统静差大,不 稳定,受环境影响大,不能实现复杂的控制算法,难以用数码管显示,难以用 键盘设定,其方案一框图如图 2.1 所示。 比 较 器 温度预置 信 号 放 大 固 态 继 电 器 加 热 装 置 数 据 采 集 信号放大 图 2.1 一位式模拟控制方案框图 2.1.2 二位式的模拟控制方案 此方案采用单片机系统来实现。单片机软件编程灵活、自由度大,可用软 件编程实现各种控制算法和逻辑控制。单片机系统通过温度传感器(ADC590) 对水箱内水温进行检测,得到模拟的温度信号,在经过 A/D 转换成数字信号之 后,则可用数码管来显示水温的实际值,还能用键盘输入设定值,也可实现打 印功能。本方案还可选用 51 单片机(内部含有 4KB 的 EEPROM) ,不需要外扩展 存储器可使系统整体结构较为简单。但是它是一种传统的模拟控制方式,而模 拟控制系统难以实现复杂控制规律,控制方案的修改也比较麻烦,其方案二框 图如图 2.2 所示。 图 2.2 二位式模拟控制方案框图 信 号 采 集 信 号 放 大 温度预置 上限比较 下限比较 信 号 处 理 固 态 继 电 器 加 热 装 置 2.1.3 PID 算法控制方案 此方案采用单片机为控制核心的控制系统,尤其对温度控制,它可达到核 心的控制作用,并且可方便实现数码显示、键盘设定及利用 PID 算法来控制 PWM 波形的产生,进而控制电炉的加热来实现恒温控制,其所测结果精度也大 大的得到了提高,在利用 PID 算法来控制 PWM 波形的产生,是有效的控制数字 脉冲的输出宽度,使固态继电器得到有效和有序的逻辑控制,不会使固态继电 器产生误动作。因此利用 PWM 技术进行脉宽调制的优点是: (1)从处理器到被控系统信号都是数字形式的,无需进行数模转换。 (2)让信号保持为数字形式可将噪声影响降到最小,并且噪声只有在强到 足以将逻辑“1”改变为逻辑“0”或将逻辑“0”改变为逻辑“1”时,才能对 数字信号产生影响。 (3)对噪声抵抗能力的增强也是 PWM 相对于模拟控制的另外一个优点,而 且这也是在某些时候将 PWM 用于通信的主要原因。 (4)PWM 经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设 计应用中使用的有效技术。 再加上单片机的软件编程灵活、自由度大,可用软件编程实现各种控制算 法和逻辑控制。它可以通过用数字温度传感器采集到的实际水温温度直接进行 数码管显示,还能用键盘输入设定值,并且内部含有 4KB 的 EEPROM,不需要外 扩展存储器,可使系统整体结构更为简单1,其方案三框图如图 2.3 所示。 键盘设定 数据采集 单片机 电源电路 LED 数码显示 固态继电器加热装置 图 2.3 基于单片机控制的方框图 数字 PID 调整 复位电路 由于方案一和方案二是传统的模拟控制方式,而模拟控制系统难以实现复 杂控制规律,控制方案的修改也比较麻烦,而方案三是采用单片机为控制核心 的控制系统,利用 PID 控制原理和 PWM 技术实现对温度的控制。基于这样的控 制原理和 PWM 技术的优越性,在对温度控制的系统中,它可达到采用其他控制 系统所达不到的控制效果,并且可方便实现数码实时显示、键盘设定、直接可 以驱动固态继电器,其测量结果的准确性和精度是非常高的,故经过对三种方 案的比较论证,本设计采用方案三,利用单片机按增量式的 PID 控制算法对采 集的温度数据进行处理,得到控制量,利用增量式的 PID 控制算法来控制 PWM 波形的产生进行控制固态继电器,从而达到控制电炉的功率进行加热,实现对 温度的恒温控制。 2.22.2 恒温控制系统工作原理恒温控制系统工作原理 现对该方案的具体原理进行详细介绍,其具体控制图如图 2.4 所示。 AT89C51 AT89C51AT89C51 数字 PID继电器控制电路电炉 智能温度传感器 DS18B20 驱动电路LED 显示 图 2.4 恒温控制原理图 按键输入 系统通过数字温度传感器检测温度,把采集到的数据直接送到单片机进行 处理,由于数字式温度传感器能在极短时间内把采集到的模拟量转换成数字量, 这样被它处理的数据直接送到数字 PID 模块进行调整。然后,把检测到的数据 与预先设定的温度值进行比较,根据不同的差值去控制控制固态继电器的通断, 以采取不同的加热方式进行加热升温。另外,还设置了温度实时显示的装置, 可以同时显示预先设定的温度值和实际检测到的温度值。 第第 3 3 章章 恒温控制系统硬件设计恒温控制系统硬件设计 恒温控制系统主要由六部分组成:CPU 主控制模块、主电源模块、键盘处 理模块、温度采集模块、继电器控制模块及 LED 显示模块。 3.1 CPU 主控模块 CPU 主控制模块采用 AT89C51 芯片,把数字温度传感器采集到的温度信号 与原预先设定值进行比较,然后根据其差值通过 PID 调节整定,控制继电器的 通断进行不同加热方式,能用键盘进行输入数据的处理以及温度信号的实时显 示。 3.1.1 AT89C51 单片机简介 AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位 微处理器,俗称单片机。AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储 器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出 管脚相兼容。由于将多功能 8 位 CPU 和闪速存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C51 单片机为很多嵌入式控制系统提供 了一种灵活性高且价廉的方案。 3.1.2 AT89C51 各引脚功能说明 如图 3.1 所示: VCC:供电电压。 Vdd:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可 吸收 8TTL 门电流。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写 “1”时,其管脚被内部上拉电阻拉高,且作为输入。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口, 图 3.1 40 引脚双列直插封装图 可接收输出 4 个 TTL 门电流。RST:复位输入。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出 电平用于锁存地址的地位字节。 /PSEN:外部程序存储器的选通信号。在由外部程序存储 器取指期间,每个机器周期两次/PSEN 有效。 /EA/VPP:当/EA 保持低电平时,则在此期间外部程序存 储器(0000H-FFFFH) ,不管是否有内部程序存储器。 当/EA 端保持高电平时,从内部程序存储器开始读取。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.1.3 AT89C51 单片机主要性能参数 (1)与 MCS51 产品指令系统完全兼容; (7)32 个可编程 I/O 口线; (2)4K 字节可重复擦写 Flash 闪速存储器; (8)2 个 16 位定时/计数器; (3)1000 次擦写周期; (9)6 个中断源; (4)全静态操作:0Hz24MHz; (10)可编程串行 UART 通道; (5)三级加密程序存储器; (11)低功耗空闲和掉电模式。 (6)1288 字节内部 RAM; 3.1.4 晶振电路与复位电路的设计 单片机内部带有时钟电路,只需要在片外通过 XTAL1、XTAL2 引脚接入定时 控制单元(晶体振荡和电容) ,即可构成一个稳定的自激振荡器。振荡器的工作 频率一般在 1.212MHz 之间,当然在一般情况下频率越快越好,可以保证程序 运行速度即保证了控制的实时性。一般采用石英晶振作定时控制元件,在不需 要高精度参考时钟时,也可以用电感代替晶振,有时也可以引入外部时钟脉冲 信号。接在晶振上的电容虽然没有严格要求,但电容的大小会影响振荡器的稳 定性和起振的快速性。因此,通常选择在 1030pF 左右,在此次设计时钟电路 时,晶振频率选用(12MHz) ,电容选用(20pF) ,并且它们应尽可能靠近芯片, 以减小分布电容,保证振荡器振荡的稳定性。 复位电路采用按键电平复位,它通过复位端经电阻与+5V 电源实现,只要 能保证复位信号高电平持续时间大于 2 个机器周期就可实现复位,其时钟电路 和复位电路如图 3.2 所示。 图 3.2 时钟电路和复位电路图 3.2 温度采集模块 由于在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差 补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题, 才能够达到较高的测量精度。而且一般监控现场的电磁环境都非常恶劣,各种 干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。 因此,在本设计中的温度测量系统中,采用美国 Dallas 半导体公司的 DS18B20 温度芯片对测量温度进行采集温度数据,并且由于它抗干扰能力强,是解决这 些问题的最有效方案。另外数字温度传感器(DS18B20)具有体积更小、精度更 高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好 的测温效果和广泛的应用。 3.2.1 DS18B20 的特点 美国 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 一线总线接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。 全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特 而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全 新概念。现在,新一代的 DS18B20 体积更小、更经济、更灵活。使你可以充分 发挥“一线总线”的优点。目前 DS18B20 批量采购价格仅 6 元左右。 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿 问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能 够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰 信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此, 在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题 的最有效方案,新型数字温度传感器 DS18B20 具有体积更小、精度更高、适用 电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效 果。 新的一线器件DS18B20 体积更小、适用电压更宽、更经济。 DS18B20、DS1822 的特性 DS18B20 可以程序设定 912 位的分辨率,精度为0.5C。可选更小的 封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。DS18B20 的性能是新一代产品中最好的!性能价 格比也非常出色!DS1822 与 DS18B20 软件兼容,是 DS18B20 的简化版本。省略 了存储用户定义报警温度、分辨率参数的 EEPROM,精度降低为2C,适用于 对性能要求不高,成本控制严格的应用,是经济型产品。 继一线总线的早期 产品后,DS1820 开辟了温度传感器技术的新概念。DS18B20 和 DS1822 使电压、 特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 DS18B20、DS1822 一线总线数字化温度传感器同 DS1820 一样,DS18B20 也支持一线总线接口,测量温度范围为-55C+125C,在-10+85C 范 围内,精度为0.5C。DS1822 的精度较差为2C。现场温度直接以一线 总线的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温 度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代 产品不同,新的产品支持 3.0V5.5V 的电压范围,使系统设计更灵活、方便。 而且新一代产品更便宜,体积更小。 二、DS18B20 的外形 DS18B20 内部结构主要由四部分组成:64 位光刻 ROM、温度传感器、非挥发的 温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的外形及管脚排列如下图 3.3: 图 3.3 DS18B20 外形及引脚排列图 DS18B20 引脚定义: (1) GND 为电源地; (2) DQ 为数字信号输入/输出端; (3) VDD 为外接供电电源输入端(在寄生电源接线方式时接地) DS18B20 的主要特性 (1)独特的单线接口方式:与微处理器连接时仅需要一条口线即可实现双 向通讯。 (2)在使用中不需要任何外围元件。 (3)可用数据线供电,电压范围:+3.0+5.5 V。 (4)测温范围:-55 +125。固有测温分辨率为 0.5。 (5)通过编程可实现 912 位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上,实现多 点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常 工作。 3.2.2 DS18B20 内部结构 主要由 4 部分组成:64 位光刻 R0M、温度传感器、非易失性的温度报警触发 器 TH 和 TL、配置寄存器,DS18B20 的内部结构图如图 3.4 所示。 图 3.4 DS18B20 内部结构图 3.2.3 DS18B20 的内存结构 DSI8B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性 的可电擦除的 EEPROM,后者存放高温和低温触发器 TH,TL 和结构寄存器。高 速暂存 RAM 包含了 9 个连续字节(08),前两个字节是测得的温度信息,字 节 0 的内容是温度的低 8 位,字节 1 是温度的高 8 位,字节 2 是 TH(温度上限 报警),字节 3 是 TL(温度下限报警),字节 4 是配置寄存器,用于确定输出 分辨率 9 到 12 位。第 5、6、7 个字节是预留寄存器,用于内部计算。字节 8 是 冗余检验字节,校验前面所有 8 个字节的 CRC 码,可用来保证通信正确。 DS18B20 中的温度传感器对温度的测量结果用 16 位符号扩展的二进制补码读数 形式提供。DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例: 用 16 位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其 中 S 为符号位。 如表一所示 表一 温度传感器 12 位数据在 RAM 中的存储 LSB LSB 2 3 2 2 2 2 2 0 2 1 2 2 2 3 2 4 LSB LSB SSSSS2 6 2 5 2 4 这是 12 位转化后得到的 16 位数据,存储在 18B20 的两个 8 比特的 RAM 中。 二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测 到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到 的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。例如+125的数字输出 为 07D0H,+25.0625的数字输出为 0191H,-25.0625的数字输出为 FF6FH,-55的数字输出为 FC90H 3.2.4 温度传感器 DS18B20 的测温原理 DS18B20 的测温原理用于产生固定频率的脉冲信号送给减法计数器 1,高温 度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉 冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来 决定,每次测量前,首先将-55所对应的基数分别置入减法计数器 1 和温度寄存 器中,减法计数器 1 和温度寄存器被预置在-55 所对应的一个基数值。减法计 数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置 值减到 0 时温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计 数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法 计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为 所测温度,由于它内部的斜率累加器用于补偿和修正测温过程中的非线性,其输 出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温 度寄存器值达到被测温度值,其内部测温电路图 3.5 所示。 3.2.53.2.5 DS18B20 的指令集的指令集 操作 ROM 的指令共有 5 条,均为单字节指令,表二是其 16 进制指令表: 表二 ROM 操作 16 进制指令 指令代码 指令说明 55 指定匹配芯片指令 CC 跳过 ROM 匹配指令 F0 搜索芯片指令 EC 报警芯片搜索 33 读 ROM 指令,器件收到这个指令后就把 64 位 ID 码传送给主机 操作芯片的 RAM、E2PROM 指令共有 6 条,均为单字节指令,表三 是其 16 进制指令表: 表三 RAM、E2PROM 操作 16 进制指令 指令代码 指令说明 44 温度转换指令,并把转换后的数据存放在 RAM 的 B1、B2 的两个字节里 BE 读取温度指令,器件收到这个指令后把 B1、B2 两个字节的数据传送给主机 4E 改写 RAM 的 B3、B4、B5 的数据,主机发这个指令后再分别发送相应的数据 48 器件收到这个指令后就将 B3、B4、B5 的数据写到 E2PROM 斜率累加器 预置 减法计数器 1 计数比较器 预置 减到零 温度寄存器 减到零 减法计数器 2高温度系数振荡器 低温度系数振荡器 设置/清除 最低有效位 增加 停止 图 3.5 内部测温电路框 B8 器件收到这个指令后就把 EEPROM 的高 H、低 L 温度报警值写到进 B3、B4 B4 器件收到这个指令后就返回 0 或者 1 给主机,0 为寄生电源,1 为外部电源 3.2.6 DS18B20 与单片机的接口电路 DS18B20 的引脚图及与 AT89C51 的接口电路如图所示,其中 DS18B20 工作 在外部电源供电方式,AT89C51 单片机采用 P3.0 和 DS18B20 通信,如图 3.6 所 示。 图 3.6 DS18B20 与 AT89C51 单片机的接口电路 (1) GND 为电源地; (2) DQ 为数字信号输入/输出端; (3) VDD 为外接供电电源输入端; DS18B20 与 AT89C51 通信分析: 当程序运行时,首先将 DS18B20 初始化,设置好要求的初始值,再调用温 度读取子程序读取温度测量值,当温度转换命令发布后,经转换所得的温度值 以二字节补码形式存放在高速暂存存储器的第 0 和第 1 个字节。单片机可通过 单线接口读到该数据,读取时低位在前,高位在后。 对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补码变为原码,再计算十进制值。第九个字节是冗余检验字节。 DS18B20 暂存寄存器分布寄存器内容字节地址温度值低位 0 温度值高位 1 高温 限值 TH2 低温限值 TL3 配置寄存器 4 保留 5 保留 6 保留 7CRC 检验 8 根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个 步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指 令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 1660 微秒 左右,后发出 60240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 根据 ROM 指令表指 令约定代码 功能读 ROM 33H 读 DS1820ROM 中的编码 (即 64 位地址)符合 ROM55H 发出此命令之后,接着发出 64 位 ROM 编码,访问 单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读 写作准备。搜索 ROM0F0H 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。为操作各器件作好准备。跳过 ROM0CCH 忽略 64 位 ROM 地址,直 接向 DS1820 发

温馨提示

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

评论

0/150

提交评论