电冰箱温度控制系统 毕业论文.doc_第1页
电冰箱温度控制系统 毕业论文.doc_第2页
电冰箱温度控制系统 毕业论文.doc_第3页
电冰箱温度控制系统 毕业论文.doc_第4页
电冰箱温度控制系统 毕业论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

i 摘 要 随着社会的发展和生活水平的提高,人们对家用电冰箱的控制功能越来越高, 这对电冰箱控制器提出了更高的要求。多功能,智能化是其发展方向之一,传统的 机器控制,简单的电子控制已经难以满足发展的要求。 单片机是实时检测和自动控制系统中心的一个核心器件。本文设计的基于单片 机的电冰箱温度控制器系统是利用温度传感器 ds18b20 采集电冰箱冷藏室的温度, 通过 intel 公司的高效微控制器 mcs-51 单片机进行信号控制,从而达到智能控制 的目的。本系统可实现电冰箱温度设置、电冰箱过欠压检测、开门显示、压缩机开 启延时等功能。通过对直冷式电冰箱制冷系统的改进,实现了电冰箱的智能控制, 使电冰箱能根据使用条件的变化迅速合理地调节制冷,且节能效果良好。 关键词:单片机;电冰箱;温度控制;过欠压检测 青岛理工大学毕业论文 ii abstract with the development of social development and with the improvement of living standard, people refrigerators control functions more and more high, the refrigerator controller put forward higher request. multi-function, intelligent is one of its development direction, the traditional machine control, simple electronic control has been difficult to meet the requirements of the development. mcu is the center of real-time detection and control system a core device. this design of microcontroller-based temperature control system is used refrigerator temperature sensor ds18b20 collecting refrigerator freezer temperature, high-performance companies through intel microcontroller mcs-51 mcu signal control so as to achieve intelligent control. the system can set the refrigerator temperature, refrigerators over voltage detection, open display, open the compressor delay functions. through direct cool refrigerator cooling system improvements, implementation of the intelligent control of refrigerator to refrigerator according to rapidly changing conditions of reasonable use to adjust cooling, and the effect is good. key word:mcu; refrigerator; temperature control; over-voltage detection 青岛理工大学毕业论文 i 目 录 前 言.1 第 1 章 绪 论2 1.1 课题研究状况及目的.2 1.2 电冰箱的系统组成及工作原理.3 1.3 本设计研究内容.4 第 2 章 总体设计方案5 2.2 方案论证.5 2.2.1 方案一.5 2.2.2 方案二.5 第 3 章 系统的硬件设计7 3.1 硬件电路的重要芯片介绍.7 3.1.1 单片机7 3.1.2 温度传感器 ds18b20.11 3.2 部分电路简介.18 3.2.1 过欠电压检测电路18 3.2.2 12864 液晶连接电路19 第 4 章 系统软件程序设计22 4.1 显示子程序.23 4.2 ds18b20 程序.24 4.3 判断控制程序.25 4.4 开启延时程序.26 第 5 章 系统调试及性能分析28 5.1 调试.28 5.2 性能分析.28 结 论29 致 谢.30 参考文献31 附 录32 附录 a 温控器系统原理图 32 附录 b 程序 .33 1 前 言 近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向多元 化。同时带动传统控制检测日新月异的更新。在实时检测和自动控制的单片机 应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不 够的,还应根据具体硬件测控电路,以及针对具体应用对象特点的软件结合, 以作完善。 电冰箱温度控制系统是利用 ds18b20 采集电冰箱冷藏室和冰冻室的温度, 通过 mcs-51 单片机进行数字信号处理,从而达到智能控制的目的。本系统了 实现电冰箱冷藏室和冻室的温度设置,开门报警等功能。 2 第 1 章 绪 论 1.1 课题研究状况及目的 冰箱是深刻改变了人类生活的现代奇迹之一。在人们发明冰箱之前,保存 肉类的唯一方法是腌制,而在夏季喝到冰镇饮料更是一种奢望。传统的电冰箱 温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两 室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制。随着国民经 济的日益发展,人民的生活水平有了很大的提高,冷冻器具在家庭、医院、旅馆、 餐厅和科研单位得到了广泛的应用。 普通电冰箱温控器基本上是一个独立的闭环温度调节系统,主要由温度传 感器、控制器、温度设定机构等装置组成。其控制原理是电冰箱温控器根据温 度传感器测得的室温与设定值的比较结果发生控制信号,控制电冰箱压缩机电 源的开关,即用切断和打开压缩机电源的方式,调节电冰箱内温度。 第一代温控器主要是电气式产品,空调温控器的温度传感器采用双金属片 或气动温包,通过“给定温度盘”调整预紧力来设定温度。这类温控器产品普 遍存在“温度设定分度值过粗” 、 “时间常数太大” 、 “机械开关易损坏”等问题。 第二代温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产 品的温度设定触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运 算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交 互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高” 、 “时间常数大” 、 “操作较复杂”等问题。 目前国内外生产厂家正在研究开发第三代智能型温控器,如 ds18b20。个 别厂家积极响应国家的政策,应用新型控制模型和数控芯片实现智能控制。现 在已有国内厂家生产出了智能型温控器,并已应用于实际工程。这一生产带动 电子行业的发展。 电冰箱作为应用较为普及的家用电器,近年来,随着微电子技术、传感器技 术以及控制理论的发展,其呈现迅猛发展,电冰箱向大容量、多功能、无氟、节 能、智能化、人性化方向发展,因此传统的机械式、简单的电子控制难以满足现 代冰箱的发展要求。冷冻室的温度为:零下十六到二十四摄氏度。冷藏室的温度 3 为:二到八摄氏度。电冰箱控制的主要任务就是保持箱内食品最佳温度,达到食品 保鲜的目的。而此次设计的目的则是熟悉温控器的原理,并通过开发板模拟实 现电冰箱温控器。 1.2 电冰箱的系统组成及工作原理 液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热” ,电冰 箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。 蒸气压缩式电冰箱制冷系统原理图如图1.1所示,主要由压缩机、冷凝器、 干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器 用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。 制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后成为高温高压 的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液体,高压过冷 液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态,进入蒸发器 中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气体制 冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复始的运行, 保证了制冷过程的连续性。 1绝热箱体;2蒸发机;3压缩机;4冷凝器;5干燥过滤器;6毛细管 图1.1 冰箱系统原理图 直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停, 当检测冰箱的温度、耗电量时,保持冰箱测试环境温度恒定。冷冻室用于冷冻 4 食品通常用于冷冻的温度为零下三道零下十五摄氏度,冷藏室用于相对于冷冻室 较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为 零度到十摄氏度,当测得冷冻室温度高至零下三道零摄氏度时或者是冷冻室温 度高至十到十三摄氏度是启动压缩机制冷,当冷冻室温度低于零下十五到零下 十八摄氏度或冷藏室温度低于零到零下三摄氏度时停止制冷,关断压缩机。采 用单片机控制,可以使控制更为准确、灵活。 1.3 本设计研究内容 在本次课题研究中我将参考从各个方面收集到的文献,博取其精华。研究 方法则是采用 mcs-51 单片机开发板模拟电冰箱工作环境,并模拟设定电冰箱 各项参数,以研究电冰箱温控器的工作原理及设计。 研究的内容主要包括以下方面: (1)液晶显示的工作原理,并通过液晶将各项数据显示在冰箱外; (2)温度控制器原理,制冷原理,自动控制电冰箱工作使其通过制冷达到 所设定的温度; (3)智能检测电冰箱工作电压是否正常,避免压缩机烧坏; (4)继电器工作原理,模拟对压缩机的通/断电操作; (5)单片机程序编程语言; 在本文中将介绍基于单片机的电冰箱温控器的总体设计思想和方案,及用 到的部分芯片及硬件设计的原理,还有软件设计过程中的思想和方法等。 5 第 2 章 总体设计方案 2.1 功能要求 通过液晶显示所设定的温度,温度能随意调节,能自动控制电冰箱工作, 使其通过制冷达到所设定的温度。 2.2 方案论证 根据毕业设计的要求,我们可以知道在本次设计中最重要的部分就是温控 器,温控器的选择将决定外部电路的设计,所以温控器的选择具体有两种以下 方案。 2.2.1 方案一 在日常生活及工农生产中,经常要用到温度的检测及控制,传统的测温元 件有热电耦和热电阻。温控器的第一选择就可以选择热电耦和热电阻,他们测 出的一般都是电压,再转换成对应的温度,但是需要比较多的外部硬件支持。 因此这种选择就有如下主要缺点: (1)硬件电路复杂; (2)软件调试复杂; (3)制作成本高; 2.2.2 方案二 采用美国 dallas 半导体公司生产的高性能数字智能温度传感器 ds18b20。ds18b20 作为检测元件,测温范围为零下五十五到一百二十五摄氏 度,最高分辨率可达 0.0625 摄氏度。ds18b20 可以直接读出被测温度值,而且 采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特 点。 所以在本次毕业设计中采用方案二,使用 ds18b20 作温控器配合 mcs-51 单片机进行设计。 按照系统设计功能的要求,确定系统由 6 个模块组成:主控制器、测温电 路、液晶显示电路、过欠压检测电路、按键电路、继电器压缩机电路。 温度控制器总体电路结构框图如图 2.1 所示。 6 过欠压检测 msc-51 主 控制器 液晶显示器 ds18b20继电气压缩机 按键电路 图 2.1 温度控制器总体电路结构框图 7 第 3 章 系统的硬件设计 3.1 硬件电路的重要芯片介绍 3.1.1 单片机 单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母 的缩写 mcu 表示单片机,它最早是被用在工业控制领域。早期的单片机都 是 8 位或 4 位的,随着工业控制领域要求的提高,开始出现了16 位单片机, 但因为性价比不理想并未得到很广泛的应用。 90 年代后单片机技术得到了 巨大提高。 32 位单片机迅速取代 16 位单片机的高端地位,并且进入主流市 场。而传统的 8 位单片机的性能也得到了飞速提高,处理能力比起80 年代 提高了数百倍。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把 一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相 比,单片机只缺少了 i/o 设备。概括的讲:一块芯片就成了一台计算机。它 的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时, 学习使用单片机是了解计算机原理与结构的最佳选择,这也是本课题选择这 一个芯片的原因之一。 单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功 能,单片机作为计算机发展的一个重要领域,应用一个较科学的分类方法。 根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线 型/非总线型及工控型 /家电型。 单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程, 所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在 设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片 机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其 指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问 题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令) ,这 一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件 存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼 房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执 8 行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单 元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要 知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以 被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一 条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执 行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器 pc(包含在 cpu 中) ,在开始执行程序时,给 pc 赋以程序中第一条指令 所在的地址,然后取得每一条要执行的命令, pc 之中的内容就会自动增加, 增加量由本条指令长度决定,可能是1、2 或 3,以指向下一条指令的起始 地址,保证指令顺序执行。 而本设计用到的是 mcs-51 单片机其结构是: 单片微机封装形式为双排直列式结构(dip),引脚共 40 个。如图 3.1 所 示。mcs-51 单片机其内部基本组成为:一个 8 位的中央处理器(cpu), 256byte 片内 ram 单元,4kbyte 掩膜式 rom,2 个 16 位的定时器计数器, 四个 8 位的并行 i/o 口(p0,p1,p2,p3),一个全双工串行口 5 个中断源, 一个片内振荡器和时钟发生电路,可编程串行通道,有低功耗的闲置和掉电模 式。这种结构特点决定了单片机具有体积小、成本低、可靠性高、应用灵活、 开发效率高、易于被产品化等优点,使其具有很强的面向控制的能力,在工业 自动化控制、家用电器、智能化仪表、机器人、军事装置等领域获得了广泛的 应用。 9 ea/vpp 31 xtal1 19 xtal2 18 rst 9 p3.7(rd) 17 p3.6(wr) 16 p3.2(int0) 12 p3.3(int1) 13 p3.4(t0) 14 p3.5(t1) 15 p1.0(t2) 1 p1.1(t2ex) 2 p1.2 3 p1.3 4 p1.4 5 p1.5(mosi) 6 p1.6(miso) 7 p1.7(sck) 8 (ad0)p0.0 39 (ad1)p0.1 38 (ad2)p0.2 37 (ad3)p0.3 36 (ad4)p0.4 35 (ad5)p0.5 34 (ad6)p0.6 33 (ad7)p0.7 32 (a8)p2.0 21 (a9)p2.1 22 (a10)p2.2 23 (a11)p2.3 24 (a12)p2.4 25 (a13)p2.5 26 (a14)p2.6 27 (a15)p2.7 28 psen 29 ale/prog 30 (txd)p3.1 11 (rxd)p3.0 10 gnd 20 vcc 40 u1 stc89c52 图 3.1 mcs-51 单片机引脚图 管脚说明: vcc:供电电压。 gnd:接地。 p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。 当 p1 口的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据 存储器,它可以被定义为数据/地址的第八位。在 fiash 编程时,p0 口作为原 码输入口,当 fiash 进行校验时,p0 输出原码,此时 p0 外部必须被拉高。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i/o 口,p1 口缓冲器能 接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入, p1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作为第八位地址接收。 p2 口:p2 口为一个内部上拉电阻的 8 位双向 i/o 口,p2 口缓冲器可接收, 输出 4 个 ttl 门电流,当 p2 口被写“1”时,其管脚被内部上拉电阻拉高,且作 10 为输入。并因此作为输入时,p2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。p2 口当用于外部程序存储器或 16 位地址外部数据存储器进 行存取时,p2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势, 当对外部八位地址数据存储器进行读写时,p2 口输出其特殊功能寄存器的内容。 p2 口在 flash 编程和校验时接收高八位地址信号和控制信号。 p3 口:p3 口管脚是 8 个带内部上拉电阻的双向 i/o 口,可接收输出 4 个 ttl 门电流。当 p3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作 为输入,由于外部下拉为低电平,p3 口将输出电流(ill)这是由于上拉的缘 故。 p3 口也可作为 8051 的一些特殊功能口,如下所示: 口管脚 备选功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口) p3.2 /int0(外部中断 0) p3.3 /int1(外部中断 1) p3.4 t0(记时器 0 外部输入) p3.5 t1(记时器 1 外部输入) p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通) p3 口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高 电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地 址的地位字节。在 flash 编程期间,此引脚用于输入编程脉冲。在平时,ale 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用 作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存 储器时,将跳过一个 ale 脉冲。如想禁止 ale 的输出可在 sfr8eh 地址上置 0。此时, ale 只有在执行 movx,movc 指令是 ale 才起作用。另外,该 引脚被略微拉高。如果微处理器在外部执行状态 ale 禁止,置位无效。 11 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每 个机器周期两次/psen 有效。但在访问外部数据存储器时,这两次有效的 /psen 信号将不出现。 /ea/vpp:当/ea 保持低电平时,则在此期间外部程序存储器(0000h- ffffh),不管是否有内部程序存储器。注意加密方式 1 时,/ea 将内部锁定 为 reset;当/ea 端保持高电平时,此间内部程序存储器。在 flash 编程期 间,此引脚也用于施加 12v 编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 3.1.2 温度传感器 ds18b20 温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的性能, 因此温度传感器采用 dallas 公司生产的高性能数字温度传感器 ds18b20。 ds18b20 是 dallas 公司生产的一线式数字温度传感器,具有 3 引脚 to92 小体积封装形式;温度测量范围为55125,可编程为 9 位12 位 a/d 转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式 产生;多个 ds18b20 可以并联到 3 根或 2 根线上,cpu 只需一根端口线就能与诸 多 ds18b20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以 上特点使 ds18b20 非常适用于远距离多点温度检测系统。 ds18b20 内部结构如图 3.3 所示,主要由 4 部分组成:64 位 rom、温度 传感器、非挥发的温度报警触发器 th 和 tl、配置寄存器。ds18b20 的管脚排 列如图 3.2 所示: 12 u5 ds18b20 gnd dq vcc 1 0 1 2 3 4 5 6 7 3 2 vcc 图 3.2 ds18b20 的管脚排列图 dq:为数字信号输入输出端; gnd:为电源接地; vcc:为外接供电电源输入端(在寄生电源接线方式时接地,见图 3.2)。 rom 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 ds18b20 的 地址序列码,每个 ds18b20 的 64 位序列号均不相同。64 位 rom 的排的循环 冗余校验码(crc=x8x5x41)。rom 的作用是使每一个 ds18b20 都 各不相同,这样就可以实现一根总线上挂接多个 ds18b20 的目的。 13 64 位 rom 和 单线接 口 存储器和控制器 高速缓冲存 储器 8 位 crc 生成 器 温度敏感元件 低温度触发器 tl 高温触发器 th 配置寄存器 图 3.3 ds18b20 的内部结构 ds18b20 用 12 位存贮温度值,最高位为符号位。表 3-1 为 ds18b20 的温 度存储方式,负温度 s=1,正温度 s=0,如:0550h 为+ 85,0191h 为 25.0625 ,fc90h 为- 55。 表 3-1 ds18b20 的温度存储方式 2322212021222324 温度值低字节 lsb sssss262524 温度值高字节 msb 高低温报警触发器 th 和 tl、配置寄存器均由一个字节的 eeprom 组成, 使用一个存储器功能命令可对 th、tl 或配置寄存器写入。其中配置寄存器的 格式如下: 14 0r1r011111 r1、r0 决定温度转换的精度位数:r1r0=00,9 位精度,最大转换时间为 93.75ms,r1r0=01,10 位精度,最大转换时间为 187.5ms,r1r0=10,11 位精度,最 大转换时间为 375ms,r1r0=11,12 位精度,最大转换时间为 750ms;未编程时 默认为 12 位精度。 高速暂存器是一个 9 字节的存储器。开始两个字节包含被测温度的数字量 信息;第 3、4、5 字节分别是 th、tl、配置寄存器的临时拷贝,每一次上电 复位时被刷新;第 6、7、8 字节未用,表现为全逻辑 1;第 9 字节读出的是前 面所有 8 个字节的 crc 码,可用来保证通信正确。 ds18b20 的一线工作协议流程是: 初始化rom 操作指令存储器操作指令数据传输。 ds18b20的单线(1wire bus)系统: 单线总线结构是ds18b20的突出特点,也是理解和编程的难点。从两个角 度来理解单线总线:第一,单线总线只定义了一个信号线,而且ds18b20智能 程度较低(这点可以与微控制器和spi器件间的通信做一个比较) ,所以 ds18b20和处理器之间的通信必然要通过严格的时序控制来完成。第二, ds18b20的输出口是漏级开路输出,这里给出一个微控制器和ds18b20连接原 理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与 (wired and)关系。这就决定: (1)微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多 的文献资料上认为,微控制器在读取总线上数据之前的i/o口的置1操作是为了 给ds18b20一个发送数据的信号。这是一个错误的观点。如果当前ds18b20发 送0,即使微控制器i/o口置1,总线状态还是0;置1操作是为了是i/o口截止(cut off) ,以确保微控制器正确读取数据。 (2)除了ds18b20发送0的时间段,其他时间其输出口自动截止。自动截 止是为确保:1时,在总线操作的间隙总线处于空闲状态,即高态;2时,确保微 控制器在写1的时候ds18b20可以正确读入。由于ds18b20采用的是1wire总 线协 议方式,即在一根数据线实现数据的双向传输,而对mcs-51单片机来说, 硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的 15 协议时序来完成对ds18b20芯片的访问。 ds18b20的复位时序,如图3.4所示。 图 3.4 ds18b20 的复位时序图 ds18b20 的读时序 对于 ds18b20 的读时序分为读 0 时序和读 1 时序两个过程。对于 ds18b20 的读时隙是从主机把单总线拉低之后,在 15 秒之内就得释放单总线, 以让 ds18b20 把数据传输到单总线上。ds18b20 在完成一个读时序过程,至 少需要 60us 才能完成。ds18b20 的读时序图如图 3.5 所示。 15 us u20 主 cpu 采样 1 u s 15 us 15 us 主 cpu 读 0 时 隙 30 us gnd 主 cpu 采样 1 u s 主 cpu 读 0 时 隙 gnd 图 3.5 ds18b20 的读时序 ds18b20的写时序 对于ds18b20的写时序仍然分为写0时序和写1时序两个过程。对于 u20 vdd gnd 15 60us 主机接受所需最短时间 480us ds18b20 发出答 应脉冲 60240us 主机发出复位脉 冲 最大值 480us 最小值 960us 16 ds18b20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少 60us,保证ds18b20能够在15us到45us之间能够正确地采样i/o总线上的“0”电 平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图 3.6所示。 1us u 20 主 cpu 写 0 时 隙 60120us u 20 ds18b20 采样区 30 us 15 us 15 us 1 u s 主 cpu 写 0 时 隙 60120us g n d g n d ds18b20 采 样区 30 us 15 us 15 us 1u s 图 3.6 ds18b20 的写时序图 (3)ds18b20的供电方式 在图3.8中示出了ds18b20的寄生电源电路。当dq或vcc引脚为高电平时, 这个电路便“取”的电源。寄生电路的优点是双重的,远程温度控制监测无需 本地电源,缺少正常电源条件下也可以读rom。为了使ds18b20能完成准确的 温度变换,当温度变换发生时,dq线上必须提供足够的功率。 有两种方法确保 ds18b20 在其有效变换期内得到足够的电源电流。第一 种方法是发生温度变换时,在dq线上提供一强的上拉,这期间单总线上不能有 其它的动作发生。如图3.7所示,通过使用一个mosfet把dq线直接接到电源 可实现这一点,这时ds18b20工作在寄生电源工作方式,在该方式下vcc引脚 必须连接到地。 17 接其他的 一线装置 +35.5v micro- processor dsq8b20 gnd dq vcc +35.5v 单总线 4.7k 图 3.7 ds18b20 供电方式 1 另一种方法是ds18b20工作在外部电源工作方式,如图3.8所示。这种方法 的优点是在dq线上不要求强的上拉,总线上主机不需要连接其它的外围器件便 在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线 上传送。此外,在单总线上可以并联多个ds18b20,而且如果它们全部采用外 部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。 外接电源 +35.5v 接其他的一 线装置 单总线 micro-processor dsq8b20 gnd dq vcc +35.5v 图 3.8 ds18b20 供电方式 2 (4)ds18b20 设计中应注意的几个问题 ds18b20具有测温系统简单、测温精度高、连接方便、占用接口线少等优 点,但在实际应用中也应注意以下几方面的问题:较小的硬件开销需要相对复 杂的软件进行补偿,由于ds18b20 与微处理器间采用串行数据传送。因此, 18 在对ds18b20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测 温结果。在ds18b20 有关资料中均未提及1wire上所挂ds18b20数量问题,容 易使人误认为可以挂任意多个ds18b20,在实际应用中并非如此。当1wire上所 挂ds18b20超过8个时,就需要考虑微处理器的总线驱动问题,这一点在进行多 点测温系统设计时要加以注意。连接ds18b20的总线电缆是有长度限制的。实 际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线, 另一组接vcc 和地线,屏蔽层在源端单点接地。 本文以广泛应用的数字温度传感器ds18b20为例,说明了1wire总线的操作 过程和基本原理。事实上,基于1wire总线的产品还有很多种,如1wire总线的 e2prom、实时时钟、电子标签等。他们都具有节省i/o资源、结构简单、开发 快捷、成本低廉、便于总线扩展等优点,因此有广阔的应用空间,具有较大的 推广价值。 3.2 部分电路简介 3.2.1 过欠电压检测电路 如图 3-9 所示即为过欠压检测电路,也称为电压窗口比较器。在图 3.9(a)中,a1,a2 是专用电压比较器 lm119。lm119 的内部采用射级接地、 集电极开路的三极管集电极输出方式。在使用时,必须外接上拉电阻。过欠压 检测电路只有检测出电压是否稳定便可,而这种电路允许输出端并接在一起。 此电路的工作原理是: 当输入电压 uiur1 时,比较器 a1 的输出管导通,而比较器 a2 的输出管 截止,此窗口比较器的输出电平将由比较器 a1 输出电平确定为低电平。 只有当输入电压处于窗口电压之内,即 ur2uiur1 时,比较器 a1 和 a2 输出管均截止,窗口比较器输出电平是由上拉负载电阻拉向高电平。此窗口比 较器的传输特性如图 3.9(b)所示。 19 r6 10 3 4 5 1 2 u1a 105 8 9 6 7 u1b vcc ui p1.2 ur1 ur2 r9 r10 图 3.9 (a) voh vol 0 ui ur1ur2 图 3.9 (b) 图 3.9 过欠压检测电路 3.2.2 12864 液晶连接电路 液晶显示屏有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟 的优点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品 中。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机 交互图形界面。可以显示 84 行 1616 点阵的汉字. 也可完成图形显示.低电压 20 低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵 液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的 价格也略低于相同点阵的图形液晶模块。带中文字库的 12864 每屏可显示 4 行 8 列共 32 个 1616 点阵的汉字,每个显示 ram 可显示 1 个中文字符或 2 个 168 点阵全高 ascii 码字符,即每屏最多实现 32 个中文字符或 64 个 ascii 码 字符的显示。带中文字库的 12864 内部提供 1282 字节的字符显示 ram 缓冲 区,字符显示是通过将字符显示编码写入该字符显示 ram 实现的。根据写入 内容的不同,可分别在液晶屏上显示 cgrom(中文字库)、 hcgrom(ascii 码字库)及 cgram(自定义字形)的内容。字符显示的 ram 的地址与 32 个字符显示区域有着一一对应的关系,其对应关系如表 3-2 所示: 表 3-2 汉字显示坐标 x 坐标 line180h81h82h83h84h85h86h87h line290h91h92h93h94h95h96h97h line388h89h8ah8bh8ch8dh8eh8fh line498h99h9ah9bh9ch9dh9eh9fh 在此系统中,液晶采用并口通信,所以第 15 脚 psb 端固定接高电平,引 脚 7-14 作为三态数据线,其他引脚说明见表 3-3,连接图如图 3.10 所示: 21 vdd 1 rw 5 db0 7 db2 9 db4 11 db6 13 psb 15 rst 17 lcda 19 vss 2 rs 4 e 6 db1 8 db3 10 db512 db7 14 lcdk 20 液晶hg128*64 vcc p2.4 p2.5 p2.6 p2.3 p2.1 p0.0 p0.1 p0.2 p0.3 p0.4 p0.5 p0.6 p0.7 图 3.10 12864 液晶连接电路图 表 3- 3 12864 引脚功能说明 引脚号引脚名称方向功能说明 1vss-模块的电源地 2vdd-模块的电源正端 3v0-lcd 驱动电压输入端 4rs(cs)h/l 并行的指令/数据选择信号; 串行的片选信号 5r/w(sid)h/l 并行的读写选择信号;串行 的数据口 6e(clk)h/l 并行的使能信号;串行的同 步时钟 16nc空脚 17/reth/l复位 低电平有效 18nc空脚 19lcd_a-背光源正极(lcd+5v) 20lcd_k-背光源负极(lcd-ov) 22 第 4 章 系统软件程序设计 基于单片机的电冰箱温控器软件设计主要由显示子程序、读出并处理 ds18b20 的测量温度值程序、预置温度调节程序、温度判断控制程序、电冰箱 开启延时程序、还有软件复位程序等组成。软件程序设计总体流程图如下图 4.1 所示: y y n y n 开始 lcd 初始化 定时器 1 初始化 ds18b20 读取温度 显示读取到的温度 判断是否有键按下 增减预设温度值 显示预设值 判断压缩机是否工作 开启延时功能 判断门的开关 显示开门状态显示关门状态 态、 n 图 4.1 软件程序设计总体流程图 23 由于 51 系列的单片机没有停机的指令,所以可以利用主程序设置死循环反 复运行各个任务。于是就把有实时要求的部分放在最内层的循环中。 4.1 显示子程序 在本次设计中,显示子程序包括三部分:往 lcd 液晶显示屏发送一个字节 的数据或指令子程序,lcd 液晶屏初始化子程序,显示数据处理程序。 在程序中首先将并行口选择为写的状态,然后选择将要传送的是指令还是 数据,再将数据送到 p1 口,打开并行口的使能端,等待数据输出完毕后关闭并 行口使能。其流程图如图 4.2 所示。 并行口置写状态 开始 选择传送数据/指令 将数据送到 p1 口 打开并口使能 传送完毕,关闭并口 返回 图 4.2 传送数据流程图 24 4.2 ds18b20 程序 通过 ds18b20 的初始复位,读温度,温度转换,计算温度等子程序,将转 换后的数据扩大 10 倍返回主函数,提供给下一个函数使用。读 ds18b20 程序 流程图如图 4.3。 开始 初始复位 跳过读序号列号的操作 启动温度转换 延时 初始复位 跳过读序号列号的操作 读取温度寄存器的值 分别送入 a 和 b 计算温度 返回十倍温度值 图 4.3 读 ds18b20 程序流程图 25 (1)对 ds18b20 操作时,首先要将它复位将 dq 线拉低 480 至 960s,再 将数据线拉高 15 至 60s,然后 ds18b20 发出 60 至此 240s 的低电平作为应答信 号,这时主机才能对它进行其它操作。 (2)读温度子程序的主要功能是读出 ds18b20 的 ram 中的 9 个字节。 前两个就是温度,将高低字节分别放入 b 和 a 中。在读出时须进行 crc 校验, 校验有错时不进行温度数据的改写。读操作:主机将数据线从高电平拉至低电 平 1s 以上,再使数据线升为高电平,从而产生读起始信号从主机将数据线从高 电平拉至低电平起 15s 至 60s,主机读取数据每个读周期最短的持续期为 60s 周 期之间必须有 1s 以上的高电平恢复期。 (3)温度转换命令子程序主要是发送温度转换开始命令。当采用 12 位分 辨率时,转换的时间约为 750ms。在本程序中,采用 2s 显示程序延时法等待转 换完成。发送温度转换命令的写操作:将数据线从高电平拉至低电平,产生写 起始信号从 dq 线的下降沿起计时,在 15s 到 60s 这段时间内对数据线进行检 测,如数据线为高电平则写 1;若为低电平,则写 0,完成了一个写周期在开始 另一个写周期前,必须有 1s 以上的高电平恢复期每个写周期必须要有 60 s 以上 的持续期。 (4)计算温度子程序将 ram 中读取值进行 bcd 码的转换运算,并进行 温度值正负的判定。因为从 ds18b20 中读出的二进制值必须先转换成十进制值, 才能用于字符的显示。ds18b20 的转换精度为 912 位可选,为了提高精度采 用 12 位。在采用 12 位转换精度时,温度寄存器里的值是以 0.0625 为步进的, 即温度值为温度寄存器里的二进制值乘以 0.0625,就是实际的十进制温度值。 扩大十倍,四舍五入后便可将精度精确到 0.1。 4.3 判断控制程序 判断控制程序是根据用户设定的温度值和 ds18b20 实时测得温度值相比较, 从而决定是否需要制冷,并在液晶屏上显示其工作状态。而对压缩机的控制则 是通过控制继电器的通断决定是否给压缩机通电工作来实现的。 若当压缩机的工作电压不正常时,压缩机将有被烧坏的危险,程序自动进 入故障处理部分,在液晶显示屏上显示故障原因,压缩机停止工作。直到故障 解除,然后重行启动电冰箱程序。图 4.4 所示的就是该程序的流程图。 26 为了避免冷气泄露,节约电能需要进行电冰箱门关好与否的检查,因此在 程序中又设置一判断门是否关好的语句能够及时地提醒用户门没关好。 y y 开始 电压是否正常 预温大于实温 压缩机不工作 显示故障,压 缩机停止工作 故障排除 压缩机延时启动 显示状态 返回 n n y n 图 4.4 判断控制程序流程图 4.4 开启延时程序 该功能要求压缩机停机时间超过 5 分钟才能启动,以延长压缩机的寿命,这就 要求在每次电冰箱上电时,都要检查压缩机停机是否到 5 分钟。若未达到需延时 到 5 分钟后才能启动,因此在设计时应有判断与延时功能。 按功能要求,电冰箱无论是自动停机还是强制停机。为了延长压缩机的寿命, 都要延时 5 分钟后压缩机才能启动。即在每次接通压缩机时,单片机计时,利用单 片机将计数值保存在软件设计时,每次上电都要检查此数据是否到 5 分钟。若时 间不到,延时后才能接通压缩机。为了在单片机延时期间不耽搁其他程序的执行 和处理,在此使用定时器 t1 计时,并且使用工作组 2,循环定时延迟 5 分钟。 但在本程序中压缩机的开启延时时间为 30 秒,方便演示。图 4.5 为开启延时程 序流程图。 27 开始 t1 定时模式,工作模式 1 填入初始值 60ms 开启 t1 中断 开启 cpu 中断 启动 t1 中断 满足 n 次 启动压缩机 返回 n 加 1,t1 填入 60ms 的初 值 y y n n 图 4.5 开启延时程序流程图 28 第 5 章 系统调试及性能分析 5.1 调试 系统的调试以程序调试为主。 硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表测试 或通电检测。 软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主 程序和各个子程序的编程和功能调试。对于显示子程序,是最首当其冲的,只 需要能将所要显示的内容全部显示,并且显示在恰当的位置,如果不能显示准 确,就有可能导致后面程序很难写出。在调试过程中由于对显示的地址把握不 准导致显示覆盖并且错误的现象。 其次最重要的一个程序就是实时测量环境温度的 ds18b20 程序,它能否正 常工作关系到整个系统是否能够正常工作;对于其的调试主要看是否能够显示 测得的温度,还有在其工作的时候,用手指去捏住 ds18b20 看温度是否变化, 其次另外拿支温度计测当时的温度,和 ds18b20 测得的温度比较一下看误差是 否比较大。 预置温度程序就看能不能正确地调动温度,智能控制就看在实测温度和预 置温度大小比较时和电压出现不稳定情况时,能不能正确的控制制冷设备工作 和保护制冷设备;延时开启程序就看在制冷设备启动前是否有相应的一段时间 间隔。如若不能正常进行,再返回程序设计原理和汇编语言的语法、数据转换 规则仔细推理程序是否写错。 5.2 性能分析 电冰箱各个性能分析如下: (1)预设温度调节范围:-2020; (2)压缩机延时开启时间:30 秒; (3)ds18b20 测温精度:0.1; 29 结 论 通过此项设计的分析可得到如下结论: 1本系统运用单片机速度快、体积小、价格低廉的 8 位 mcs-51 单片机, 可以做出可行、可靠性强的控制产品-电冰箱温度的控制系统。实现了电冰箱 温度的控制。 2在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度 不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助于产品的推 广、民用化。 3本系统的设计尽量简化电路,提高软件质量。 4本系统支持多功能模块。如果再加上少许外围器件,如语音芯片,环境 温度传感器,在软件方面采用模糊控制技术,可以使电冰箱的智能化大大提高。 30 致 谢 在此论文最终完成之际,向所有关心和帮助过我的老师、同学和朋友表示 深深感谢!首先感谢机电工程系的领导和老师对我的关心和帮助,感谢他们为 我提供便利的条件,使我的毕业设计能顺利完成。 同时,我要衷心感谢张丽老师,从毕业设计的开始

温馨提示

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

评论

0/150

提交评论