




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
邵阳学院毕业设计(论文) i 摘摘 要要 电冰箱温度控制系统是利用温度传感器ds18b20采集电冰箱各温室的温度, 通过intel公司的高效微控制器mcs-c51单片机进行数字信号处理,通过显示 电路和温度的控制,从而达到智能控制的目的。本系统可实现电冰箱冷藏室和 冷冻室,保鲜室和软冻室的温度设置及控制、开门报警等功能。 本文在第一章介绍了电冰箱的系统组成及工作原理,第二章论述了本控制 系统的硬件设计部分。第三章论述了系统的软件设计部分。 通过对直冷式电冰箱制冷系统的改进和采用模糊控制技术,实现了电冰箱 的四温控制,使电冰箱能根据使用条件的变化迅速合理地调节制冷量,且节能 效果良好。 关键词:单片机;温度传感器;电冰箱;温度控制 邵阳学院毕业设计(论文) ii abstract refrigerator temperature control system uses temperature sensor ds18b20 collecting temperatures of vorious rooms of a refrigerator,with the intel companys high-performance microcontrollers mcs-c51 single-chip digital signal processing, displaying circuit and temperature control to achieve the purpose of intelligent control.the system can be realized functions of refrigerating chamber,freezing chamber,preservation compartment,deforsting room,alarming when you open the door and so on. this article introduces refrigerator components and working principle of the system in the first chapter,the second chapter explains the hardware designon of the control system . chapter 3 discusses the software design of the system. four kinds of temperatures control of refrigerators which have been realized by improvements of direct-cool refrigerator cooling system and adoption of fuzzy control technology causes reasonable regulation of cooling capacity in accordance with rapidly changing conditions, and effecive energy saving . key words: microcomputer; temperature sensor; refrigerator; temperature control 邵阳学院毕业设计(论文) 目 录 摘摘 要要i abstract.ii 第第 1 1 章章 绪绪 论论1 1.1 课题来源.1 1.2 课题研究的目的意义.1 1.3 国内外现状及水平2 1.4 课题研究内容.2 第第 2 2 章章 系统方案设计系统方案设计4 2.1 电冰箱的系统组成.4 2.2 四温冰箱控制设计方案5 2.3 方案论证6 第第 3 3 章章 系统电路设计系统电路设计7 3.1 工作原理7 3.2 ds18b20 与单片机接口电路8 3.3 单片机对 ds18b20 的控制方法13 3.4 显示电路16 3.5 键盘电路19 3.5 电源电路21 3.6 控制电路21 3.7 报警电路22 第第 4 4 章章 程序设计程序设计.23 4.1 系统资源分配.23 4.2 系统流程设计.24 4.3 程序设计28 第第 5 5 章章 系统仿真系统仿真.41 5.1 proteus 仿真环境介绍41 5.2 原理图绘制42 邵阳学院毕业设计(论文) 5.3 程序加载42 5.4 系统仿真43 5.5 仿真结果分析.44 总总 结结46 参考文献参考文献.47 致致 谢谢48 邵阳学院毕业设计(论文) 1 第1章 绪 论 1.1课题来源 随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性 能的新型机种不断涌现出来。单片机以其功能强、体积小、可靠性高、造价低 和开发周期短等优点,称为自动化和各个测控领域中广泛应用的器件,在工业 生产中称为必不可少的器件,尤其在日常生活中发挥的作用也越来越大。人们 对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求。多 功能,智能化是其发展方向之一,传统的机器控制,简单的电子控制已经难以 满足发展的要求。而采用基于单片机温度控制系统,不仅可大大缩短设计新产 品的时间,同时只要增加少许外围器件在软件设计方面就能实现功能的扩展, 以及智能化方面的提高,因此可最大限度地节约成本。本文即为基于单片机的 电冰箱温度控制系统。设计要求系统测量的温度的点数为4个,测量精度为 0.5,测温范围为-20+16。采用液晶显示温度值和路数,用电机代替 压缩机进行温度控制,开门延时进行报警等。显示格式为:温度的符号位,整数 部分,小数部分,最后一位显示。显示数据每五秒刷新一次。 1.2 课题研究的目的意义 研究和开发智能冰箱控制器的设计,可以利用各种工具软件对80c51系列单 片机进行开发,学习单片机的开发流程;在传统的家用冰箱增加两个冰箱腔室, 以达到使其功能更加强大,使用更加简单、方便和实用,为家庭生活创造更高 品质的生活环境的目的。本课题涉及一种冰箱,其包括冷冻室和冷藏室,同时 设置冰温室和变温软冷冻室。冰箱腔室有多个,且分别为不同的温度区域,这 样可以有效地解决食品的分类存放问题,更好地方便了人们的生活,降低能耗。 在这次设计中我们的目的有3个: (1)研究设计电路原理图。学会使用protel软件进行电路图的绘画及 pcb板的制作,列出元器件的清单及各个元件参数的计算设定。研究keil c51在实际电路中的应用。 邵阳学院毕业设计(论文) 2 (2)本课题综合了电子信息各方面的知识,具有综合性、科学性、代表性, 可全面检验和促进学生的理论素养和工作能力。 (3) 本课题的研究可以使学生更好地掌握基于单片机应用系统的分析与 设计方法,培养创新意识、协作精神和理论联系实际的学风,提高电子产品研 发素质,增强针对实际应用进行控制系统设计制作的能力。 1.3 国内外现状及水平 冰箱业经过20年的发展,从诞生到现在,经历了三个阶段:机械温控,电 子温控和电脑温控。温度控制从最初的档位调节,箱体受环境温度波动较大到 现在的不受环境温度影响并能保持一定的恒温,用显示器直观显示温度。功能 从最初的基本冷冻冷藏功能到现在的具有记忆、报警、抑菌、速冻等多功能。 目前的冰箱按制冷方式的不同可分为直冷式冰箱、风冷式冰箱、风直冷式冰箱。 直冷式冰箱通过蒸发器表面低温的自然对流对冰箱各箱室进行降温,它的优点 是保鲜效果好时间长,省电,静音,但冰箱容易结霜,一年需除霜一到两次。 风式冰箱冷气风道直接吹进箱内各间室造成循环,温度分布均匀不需人工除霜, 但因为箱内冷气不停的循环容易带走水分,湿度低,食物容易风干脱水保鲜效 果差。并且耗电比直冷冰箱高,适合气候特别潮湿的地区使用。风直冷式冰箱, 在一台冰箱上采用上述两种不同的制冷方式,结合了他们的优点,保鲜效果好 时间长,省电静音,无须除霜。传统的电冰箱温度一般是由冷藏室控制,冷藏 室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调 节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入 冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、 环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温 度控制,既难以建立一个标准的数学模型,也无法用传统的pid调节来实现. 一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效 果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择。在这个设 计中我们采取了直冷式调节方式进行冰箱的设计。 1.4 课题研究内容 本设计研究的主要内容如下: (1) 在广泛查阅温度检测控制理论和方法、测温技术和温度控制技术等 邵阳学院毕业设计(论文) 3 资料的基础上,根据不同的控制要求及应用领域完成对系统方案的总体设计。 本设计采用以at89c51为核心的单片机系统,来实现对温度的检测、控制, 报警等功能。 (2) 研究比较各相关元器件的功能与特点,选择合适的元器件。 (3) 系统硬件设计。系统硬件设计主要包括:温度检测、单片机数据采 集和处理、显示、键盘设定、控制电路和报警电路等部分。 (4) 系统软件设计。本课题采用c语言,利用keil编译器进行编程及 调试。主要研究ds18b20与单片机的通信协议、时序及一些c51通用程序 等。 邵阳学院毕业设计(论文) 4 第2章 系统方案设计 2.1电冰箱的系统组成 液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰 箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。 图 2.1 系统工作原理图 蒸气压缩式电冰箱制冷系统原理图如图 2.1 所示,主要由压缩机、冷凝器、干 燥过滤器、毛细管、蒸发器等部件组成,其中1为绝热箱体,2为蒸发器,3 为压缩机,4为冷凝器,5为干燥过滤器,6为毛细管,其动力均来自压缩机, 干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝 器和蒸发器。制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后 成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液 体,高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态, 进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化 后的气体制冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复 始的运行,保证了制冷过程的连续性。根据各室的温度情况决定是否开压缩机 和是否打开各温室的电磁阀。 邵阳学院毕业设计(论文) 5 2.2 四温冰箱控制设计方案 方案一是采用模拟温度传感器 ad590 进行设计,由单片机、模拟温度传 感器ad590、运算放大器、ad转换器、44键盘、lcd显示电路、电机, 集成功率放大器、报警器组成,本方案采用模拟温度传感器ad590作为测温 元件,传感器将测量的温度变换转换成电流的变化,再通过模拟电路将电流的 变化转换成电压的变化,使用运算放大器交将信号进行适当的放大,最后通过 模数转换器将模拟信号转换成数字信号,传送给单片机。单片机将温度值进行 处理之后用lcd显示,当温度值超过设置值时,系统开始启动压缩机。 方案二采用数字温度传感器ds18b20进行设计,该方案使用了 at89c51单片机作为控制核心,以数字温度传感器ds18b20为温度测量元 件,采用多个温度传感器对各点温度进行检测,通过44键盘对各个温室的 值进行设置,当温度超过设定时启用压缩机,压缩机用电机带动,显示电路采 用12864 lcd,使用lm386作为开门延时报警电路中的功率放大器。系 统图如图 2.2 所示: 图 2.2 四温冰箱控制系统方案 直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停, 使冰箱内的温度保持在设定温度范围内。冷冻室用于冷冻食品通常用于冷冻的 温度为6c20c,软冻室温度为0c-6c,冷藏室用于相对于冷冻室 较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为 0c8c,保鲜室的温度控制在8c16c,当测得冷冷冻室温度高至 6c 0c时或者是软冻室温度高至0c3c是启动压缩机制冷,当冷冻 室温度低于15c18c或都冷藏室温度低于0c3c时停止制冷, 邵阳学院毕业设计(论文) 6 关断压缩机。采用单片机控制,可以使控制更为准确、灵活。 2.3 方案论证 本设计要求测量的点数为 4,测温范围为-20+16,精度为 0.5。采用液晶显示,同时显示路数和温度,当环境温度低于设定温度时刷新 1次显示数据。 综合模拟温度传感器和数字温度传感器的性能指标,以上两个方案都能达 到设计的要求。 方案一采用模拟温度传感器ad590,转换结果需要经过运算放大器和 ad转换器传送给处理器。它控制虽然简单,成本低,但是后续电路复杂,且 需要进行温度标定。集成温度传感器ad590输出为电流,且输出信号较弱, 所以需要后续放大及a/d转换电路。如采用普通运放则精度难以保证,而测量 放大器价格较高,这样会使系统成本升高。 方案二中我们采用了数字温度传感器ds18b20,改变了传统温度测量方 法。它能在现场采集温度数据,直接将温度物理量转换为数字信号并以总线方 式传送到单片机,再由单片机进行数据处理,并且可根据实际要求通过简单的 编程实现9-12位的数字式读取方式,因而使用ds18b20可使系统结构更加 简单,可靠性更高,大大提高系统的抗干扰能力。ds18b20体积小、经济、 使用方便灵活、测试精度高、较高的性能价格比,有crc校验,系统简明直 观,适合于各种环境的现场温度测量。在设计中,我们选择方案二进行设计。 邵阳学院毕业设计(论文) 7 第 3 章 系统电路设计 3.1 工作原理 四温冰箱单片机控制以at89c51为核心器件,以 keil 为系统开用c语 进行程序设计,以proteus作为仿真软件设计而成的。系统主要由单片机 最小系统、传感器电路、液晶显示电路、键盘电路、报警电路、电源电路组成, 系统原理图如 3.1 所示。 图 3.1 系统总原理图 ds18b20是数字温度传感器,它的输入/输出采用数字量,以单总线技术, 接收主机发送的命令,根据ds18b20内部的协议进行相应的处理,将转换的 温度以串口发送给主机。主机按照通信协议用一个io口(p1.7)模拟ds18b20 的时序,发送命令(初始化命令、rom命令、ram命令)给ds18b20, 邵阳学院毕业设计(论文) 8 转换完成之后单片机读取温度值,在内部进行相应的数值处理,用 12864lcd显示各点的温度,用四与门与电机组成的控制电路进行控制。在 系统启动的时候,可以通过44键盘设置各点温度的上限值,当某点的实际温 度超过设置值时,开始启动压缩机工作,液晶显示该传感器的路数、设置温度 值、实际温度值以及路数和该路的状态,从面实现了对各点温度的测量和实时 监控。 3.2 ds18b20 与单片机接口电路 如图 3.2 所示,为单片机和ds18b20的接口电路。ds18b20只有三个 引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的p1.7口, 电源与数字输入输出脚间需要接一个4.7k的电阻。 图 3.2 ds18b20 与单片机接口电路 (1)at89c51简介 at89c51是一种带 4k 字节闪烁可编程可擦除 只读存储器 (fperomfalsh programmable and erasable read only memory)的 低电压,高性能cmos8位微处理器,俗称 单片机。at89c51是一种带 2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储 器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技 术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能 8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种 高效微控制器,at89c51单片机为很多嵌入式控制系统提供了一种灵活性 高且价廉的方案。外形及引脚排列如图3.3 所示 ds18b20 单 片 机 p1.7 vdd gnd dq 4.7k 邵阳学院毕业设计(论文) 9 图3.3 at89c51单片机引脚图 (2)主要特性 .4k字节可编程闪烁存储器 .寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0hz-24mhz 三级程序存储器锁定 1288位内部ram 32可编程i/o线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 (3)管脚说明 vcc:供电电压。 邵阳学院毕业设计(论文) 10 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”时,其管脚被内部上拉电阻拉 高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电 流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外 部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时, 它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输 出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地 址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4 个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输 入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由 于上拉的缘故。 p3口也可作为at89c51的一些特殊功能口,如下表所示: 口管脚 备选功能 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(外部数据存储器写选通) 邵阳学院毕业设计(论文) 11 p3.7 /rd(外部数据存储器读选通) p3口同时为闪烁编程和编程校验 接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst 脚两个机器周期 的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁 存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在 平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是: 每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的 输出可在sfr8eh地址上置0。此时,ale只有在执行 movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果 微处理器在外部执行状态ale禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间, 每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效 的/psen信号将不出现。 /ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器 (0000h-ffffh) ,不管是否有内部程序存储器。注意加密方式1时, /ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储 器。在flash编程期间,此引脚也用于施加12v编程电源(vpp) 。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 (4)振荡器特性 xtal1和xtal2分别为反向放大器的输入和输出。该反向放大器可 以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱 动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发 器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要 求的宽度。 (5)温度传感器ds18b20 邵阳学院毕业设计(论文) 12 (6)ds18b20的引脚功能 gnd 地信号 dq 数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供 电源 vcc 可选择的vcc引脚,当工作于寄生电源时,该引脚必须接地该产品是由美 国dallas公司生产的 ,具有耐磨耐碰,体积小,使用方便,封装形式 多样,适用于各种狭小空间设备数字测温和控制领域。 技术性能描述 独特的单线接口方式,ds18b20在与微处理器连接时仅需要一条 口线即可实现微处理器与ds18b20的双向通讯。 测温范围 55125,固有测温分辨率0.5。 支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现 多点测温 ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、 非挥发的温度报警触发器th和tl、配置寄存器。该装置信号线高的时候, 内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子 供电直至下一个高电平的到来重新充电。 ds18b20的电源也可以从外部3v- 5 .5v的电压得到。 ds18b20采用一线通信接口。因为一线通信接口,必须在先完成rom 设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:读 rom, rom匹配, 搜索rom, 跳过rom,报警检查。这些指令操作作用在 没有一个器件的64位光刻rom序列号,可以在挂在一线上多个器件选定某 一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。 若指令成功地使ds18b20完成温度测量,数据存储在ds18b20的存储 器。一个控制功能指挥指示ds18b20的演出测温。测量结果将被放置在 ds18b20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储 器。温度报警触发器th和tl都有一字节eeprom 的数据。如果 ds18b20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在 片上还载有配置字节以理想的解决温度数字转换。写th, tl指令以及配置字 节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有的数据都读,写 都是从最低 邵阳学院毕业设计(论文) 13 位开始。 3.3 单片机对 ds18b20 的控制方法 ds18b20采用严格的单总线通信协议,以保证数据的完整性。该协议定 义了几种信号类型:复位脉冲、应答脉冲写0、写1、读0和读1。除了应答 脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是 以字节为单位,且低位在前,高位在后。 (1) 初始化序列:复位脉冲和应答脉冲 在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(tx)。 然后主机释放总线并进入接收(rx)模式。当总线被释放后,5k的上拉电阻 将单总线拉高。ds18b20检测到这个上升沿后,延时15s60s,通过拉低 总线60s240s产生应答脉冲。初始化脉冲如图 3.4 所示。 图 3.4 ds18b20 初始化时序 (2) ds18b20的读写控制 在写时序期间,主机向ds18b20写入数据;而在读时序期间,主机读入 来自ds18b20的数据。在每一个时序,总线只能传输一位数据。读/写时序如 图 3.5 所示。 ds18b20写ds18b20存在两种写时序:“写1”和“写0”。主机在写 1时序时向ds18b20 至少480us至少480us 主机初始化 主机初应答 presence pulse 60-240us 邵阳学院毕业设计(论文) 14 图 3.5 ds18b20 读写时序 写入逻辑1,而在写0时序向ds18b20写入逻辑0。所有写时序至少需要 60s,且在两次写时序之间至少需要1s的恢复时间。两种写时序均以主机拉 低总线开始。 写1时序:主机拉低总线后,必须在15s内释放总线,然后由上拉电阻 将总线拉至高电平。 写0时序:主机拉低总线后,必须在整个时序期间保持低电平(至少 60s) 。 在写时序开始后的15s60s期间,ds18b20采样总线的状态。如果 总线为高电平,则逻辑1被写入ds18b20;如果总线为低电平,则逻辑0被 写入ds18b20。 读时序 ds18b20只能在主机发出读时序时才能向主机传送数据。所以主机在发 出读数据命令后,必须马上产生读时序,以便ds18b20能够传送数据。所有 读时序至少60s,且在两次独立的读时序之间至少需要1s的恢复时间。 每次读时序由主机发起,拉低总线至少1s。在主机发起读时序之后, ds18b20开始在总线上传送1或0。若ds18b20发送1,则保持总线为高 电平;若发送0,则拉低总线。当传送0时,ds18b20在该时序结束时释放 总线,再由上拉电阻将总线拉回空闲高电平状态。ds18b20发出的数据在读 主机写”0”时序 主机写”1“时序 主机读”0”时序 主机读”1“时序 30us15us15us15us15us30us 30us15us15us15us15us30us 邵阳学院毕业设计(论文) 15 时序下降沿起始后的15s内有效,因此主机必须在读时序开始后的15s内 释放总线,并且采样总线状态。 ds18b20的命令序列 根据ds18b20的通讯协议,主机(单片机)控制ds18b20完成温度转 换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位操作,复位 成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进 行预定的操作。 rom命令通过每个器件64-bit的rom码,使主机指定某一特定器件 (如果有多个器件挂在总线上)与之进行通信。ds18b20的rom如表 3.1 所示,每个rom命令都是8 bit长。 表 3.1 ds18b20 rom 命令 指令协议功能 读 rom33h读 ds18b20 中的编码(即 64 位地址) 符合 rom55h 发出此命令后,接着发出 64 位 rom 编码,访问单总线上与该编码 相对应的 ds18b20,使之作出响应,为下一步对该 ds18b20 的读写 作准备 搜索 rom0f0h用于确定挂接在同一总线上 ds18b20 的个数和识别 64 位 rom 地址, 为操作各器件作好准备 跳过 rom0cch忽略 64 位 rom 地址,直接向 ds18b20 温度转换命令,适用于单个 ds18b20 工作 告警搜索命令0ech执行后,只有温度超过报警值上限或下限的 ds18b20 才做出响应 温度转换44h启动 ds18b20 进行温度转换,转换时间最长为 500ms(典型为 200ms),结果丰入内部 9 字节 ram 中 读暂存器beh读内部 ram 中 9 字节的内容 写暂存器4eh发出向内部 ram 的第 3、4 字节写上、下温度数据命令,紧该温度 命令之后,传达两字节的数据 复制暂存器48h将 ram 中第 3、4 字内容复制到 e2prom 中 重调 e2prom0b8h将 e2prom 中内容恢复到 ram 中的第 3、4 字节 读供电方式0b4h读 ds18b20 的供电模式,寄生供电时 ds18b20 发送“0” ,外部供 电时 ds18b20 发送“1” 邵阳学院毕业设计(论文) 16 3.4 显示电路设计 3.4.1 12864点阵型 lcd 简介 显示是实现人机对话的重要部分,在这里选用12864lcd显示器,可实现 对汉字、字符和图片的显示。12864是一种图形点阵液晶显示器,它主要由行驱 动器/列驱动器及12864全点阵液晶显示器组成。可完成图形显示,也可以显 示84个(1616点阵)汉字。12864液晶显示屏共有20个引脚,其引脚名称及 引脚编号的对应关系如图3.6所示: 图 3.6 12864 液晶显示模块引脚分布图 (1)引脚功能如表 3.5 所示 表 3.5 12864 液晶显示模块引脚功能 引脚符 号引 脚 功 能引脚符 号引 脚 功 能 1vss电源地15cs1 cs1=1 芯片选择左边 64*64 点 2vdd电源正+5v16cs2 cs2=1 芯片选择右边 64*64 点 3vo液晶显示驱动电源17/rst复位(低电平有效) 4rs h:数据输入; l:指令码输入 18veelcd 驱动负电源 5 r/w h:数据读取; l:数据写入 19a背光电源(+) 6e 使能信号。 20k背光电源(-) 7-14 db0- db7 数据线有些型号的模块 19、20 脚为空脚 (2)12864内部功能器件及相关功能如下: 指令寄存器(ir) ir是用于寄存指令码,与数据寄存器数据相对应。当d/i=0时,在e信 1234567891011121314151617181920 vssvddvorsr/wedb0db7db6db5db4db3db2db1cs1cs2 /rstveeak 邵阳学院毕业设计(论文) 17 号下降沿的作用下,指令码写入ir。 数据寄存器(dr) dr是用于寄存数据的,与指令寄存器寄存指令相对应。当d/i=1时,在 下降沿作用下,图形显示数据写入dr,或在e信号高电平作用下由dr读到 db7db0数据总线。dr和ddram之间的数据传输是模块内部自动执行 的。 忙标志:bf bf标志提供内部工作情况。bf=1表示模块在内部操作,此时模块不接受 外部指令和数据。bf=0时,模块为准备状态,随时可接受外部指令和数据。 利用status read指令,可以将bf读到db7总线,从检验模块之 工作状态。 显示控制触发器dff 此触发器是用于模块屏幕显示开和关的控制。dff=1为开显示 (display off) ,ddram的内容就显示在屏幕上,dff=0为关显示 (display off) 。 ddf的状态是指令display on/off和rst信号控制的。 xy地址计数器 xy地址计数器是一个9位计数器。高3位是x地址计数器,低6位为y地 址计数器,xy地址计数器实际上是作为ddram的地址指针,x地址计数 器为ddram的页指针,y 地址计数器为ddram的y地址指针。 x地址计数器是没有记数功能的,只能用指令设置。 y地址计数器具有循环记数功能,各显示数据写入后,y地址自动加 1,y地址指针从0到63。 显示数据ram(ddram) ddram是存储图形显示数据的。数据为1表示显示选择,数据为0表示 显示非选择。ddram与地址和显示位置的关系见ddram地址表。 z地址计数器 z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于 显示行扫描同步。当一行扫描完成,此地址计数器自动加1,指向下一行扫描数 据,rst 复位后 z 地址计数器为0。 z 地址计数器可以用指令display start line预置。因此,显示屏 邵阳学院毕业设计(论文) 18 幕的起始行就由此指令控制,即ddram的数据从哪一行开始显示在屏幕的 第一行。此模块的 ddram 共64行,屏幕可以循环滚动显示64行 (3)各功能指令分别介绍如下。 显示开/关指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 00 00111111/0 当db01时,lcd显示ram中的内容;db00时,关闭显示。 显示起始行(row)设置指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 00 11显示起始行(063) 该指令设置了对应液晶屏最上一行的显示ram的行号,有规律地改变显示起 始行,可以使lcd实现显示滚屏的效果。 页(page)设置指令 r/wrs db7 db6 db5 db4 db3db2db1 db0 00 10111页号(07) 显示ram共64行,分8页,每页8行。 列地址(y address)设置指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 00 01显示列地址(063) 设置了页地址和列地址,就唯一确定了显示ram中的一个单元,这样mpu 就可以 用读、写指令读出该单元中的内容或向该单元写进一个字节数据。 读状态指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 10 busy0on/offrest0000 该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下: busy:1-内部在工作0-正常状态 on/off:1-显示关闭0-显示打开 reset:1-复位状态0-正常状态 在busy和reset状态时,除读状态指令外,其它指令均不对液晶显示模 邵阳学院毕业设计(论文) 19 块产生作用。 在对液晶显示模块操作之前要查询busy状态,以确定是否可以对液晶显示 模块进行操作。 写数据指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 01写数据 读数据指令 r/wrsdb7 db6 db5 db4 db3db2db1 db0 11读显示数据 读、写数据指令每执行完一次读、写操作,列地址就自动增一。必须注意 的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的 单元中的数据 先使用软件对要显示汉字进行取模,取出来存入程序中的数组中。汉字是 16*16的,使用lcd显示汉字时,先调用写指令子程序设定汉字的起始页地 址和起始列地址,再调用写数据子程序写入汉字的16列,然后页地址加1, 重新设置起始列地址,调用写指令子程序设定起始页地址和起始列地址,再调 用写数据子程序写入汉字的底下的16列。 3.5 键盘电路 3.5.1 行列式键盘与单片机接口电路 根据本设计需要,本系统采用了44键盘实现对温度值和功能键的设定。 行列式键盘与单片机的接口电路如下图所示,h0-h3为行线,接单片机 p2口的高4位,l0-l3为列线,接单片机p2口的低4位。初始化时键盘行 线为高电平,列线为低电平。键盘的行线接4输入与门,4输入与门的输出接 单片机的外部中断0引脚p3.2口。当有键按下时,将产生中断,在中断程序 里对按键进行扫描,得到按键的键值。 邵阳学院毕业设计(论文) 20 图 3.7 44 键盘结构 3.5.2 键盘面板 键盘面板如图所示,本系统使用的键盘有10数字键,5个功能按键。在系 统启动时,先按设置键,然后按相应的数字键,按左移或者右移键改变其他温 度的值。按确认键之后系统正式启动。系统在运行过程之中可以通过按重新设 置键,对温度重新进行设置。 图 3.8 键盘面板 邵阳学院毕业设计(论文) 21 3.5 电源电路 电源是整个系统的能量来源,它直接关系到系统能否运行。在本系统中单 片机、液晶显示、报警等电路需要5v的电源,因此电路中选用稳压芯片 7805,其最大输出电流为1.5a,能够满足系统的要求,其电路如图3.9所示 图3.9 电源电路 3.6 控制电路 压缩机控制电路比较简单,原理图如图3.10所示,四与门和二极管的输入端接 p1.0p1.3,四与门的输出端接继电器,由继电器控制电机的转停用四个二极管 图3.10 控制电路 亮灭代替电磁阀的开和关,用电机表示压缩机的开停。当检测的温度正常时, 邵阳学院毕业设计(论文) 22 io口输出高电平,高电平取反,二极管灯灭,不启动压缩机。当检测到的温度 高于设定的温度时,io口输出低电平,二极管灯亮,对应控制的温室的电磁阀 打开,压缩机开始启动,环境温度开始降低,当低于设定值时,io口输出高电 平,同时关闭压缩机。 3.7 报警电路设计 本系统设计中有报警器,使用lm386作为报警器的功率放大器,如图 3.11 所示。 图 3.11 报警电路 lm386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源 电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机 之中。lm386的输入端接单片机的引脚p3.4,输出端接扬声器。当冰箱门开 启一分钟不关时,单片机引脚输出一定频率的信号,信号经过音频功放放大之 后,发出报警声。 邵阳学院毕业设计(论文) 23 第第4章章 程序设程序设计计 4.1 系统资源分配 4.1.1 硬件资源分配 本系统电路连接及硬件资源分配如图 4.1 所示。采用at89c51单片机作 为核心器件,ds18b20作为温度测量装置,通过at89c51的p1.7口将温 度值送入单片机处理,利用12864lcd显示器和44键盘作为人机接口, 利用p1.0p1.3进行温度的控制。 图 4.1 系统硬件资源分配 4.1.2.软件资源分配 本系统采用了c语言进行程序设计,系统自动为各个变量分配内存区域。用 户可以将变量定义在data区、idata区、pdata区、xdata区,常 量定义在code区。用c语言写较复杂的程序时,要特别注意使用的内存不 能超过单片机ram。 邵阳学院毕业设计(论文) 24 4.24.2 系统流程设计系统流程设计 主程序流程如图 4.2 所示: 图 4.2 主程序流程 4.2.2 ds18b20 程序流程设计 由上一章单片机对ds18b20的控制方法,设计出如下程序流程: 邵阳学院毕业设计(论文) 25 图 4.3 写命令子程序流程图 图 4.4 ds18b20 复位子程序流程图 图 4.5 ds18b20 读温度子程序流程图 邵阳学院毕业设计(论文) 26 4.2.3 显示程序流程 根据结合字符、汉字、图片显示原理,设计出显示子程序流程如下 图 4.6 写 8*16 字符子程序流程图 图 4.7 写 16*16 汉字子程序流程图 邵阳学院毕业设计(论文) 27 4.2.4 键盘程序程序流程 键盘中断程序是用来设在系统起 动时各环境温度的上限值,其程序 流程图如图 4.8 所示 图 4.8 键盘子程序流程图 邵阳学院毕业设计(论文) 28 4.34.3 程序设计程序设计 4.3.1 主程序设计 系统主程序如下所示: void main(void) uchar i; p2=0xf0; it0=1; tmod=0x01; th0=0xff; tl0=0xff; et0=1; pt0=1; ea=1; init_lcd(); clr_scr(); display_ini(); delay(1500); ex0=1; out: clr_scr(); display1(); delay(1000); while(!flag2) keyinput(); flag2=0; clr_scr(); while(1) 邵阳学院毕业设计(论文) 29 if(flag4=1) flag4=0; goto out; ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); delay(250); match_rom(ds18b20_num1); ds18b20_writecommand(0xbe); for(i=0;inum0) flag7=1; else if(zhen_temp0num1) flag7=1; else if(zhen_temp1num2) flag7=1; else if(zhen_temp2num3) flag7=1; else flag7=0; goto next; flag5=0; next: display2(0); delay(1000); if(flag4=1) flag4=0; goto out; ds18b20_init(); 邵阳学院毕业设计(论文) 31 ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); delay(250); match_rom(ds18b20_num2); ds18b20_writecommand(0xbe); for(i=0;inum4) flag7=1; else if(zhen_temp0num1) flag7=1; else if(zhen_temp1num6) flag7=1; else if(zhen_temp2num7) flag7=1; else flag7=0; goto next1; next1: clr_scr(); display2(1); delay(1000); if(flag4=1) flag4=0; goto out; ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); delay(250); match_rom(ds18b20_num3); ds18b20_writecommand(0xbe); for(i=0;inum8) flag7=1; 邵阳学院毕业设计(论文) 33 else if(zhen_temp0num9) flag7=1; else if(zhen_temp1num10) flag7=1; else if(zhen_temp2num11) flag7=1; else flag7=0; goto next2; 邵阳学院毕业设计(论文) 34 next2: clr_scr(); display2(2); delay(1000); if(flag4=1) flag4=0; goto out; ds18b20_init(); ds18b20_writecommand(0xcc); ds18b20_writecommand(0x44); delay(250); match_rom(ds18b20_num4); ds18b20_wri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 对2022冬奥会的感受简短10篇
- 2024年二手房屋购买补充协议5篇
- 个人安全生产月主题活动总结范文八篇
- 毕业银行实习报告范文汇编6篇
- 把写进青春里作文-2021中考作文把什么写进青春里范文
- 高中学校团委工作总结范文
- 上半年员工工作总结
- 安装预算员年终总结范文
- 幼儿园儿童节邀请函范文合集6篇
- 众志成城抗击病毒疫情主题作文文本8篇
- 我国港口码头腐蚀状况调查及控制
- 人工智能在教师工作中的应用
- VDI云桌面技术及方案
- 7S检查整改通知
- (完整)小学语文考试专用作文方格纸
- 2023版监理规范(含表格)
- 医学检验大学生职业生涯规划
- 国开电大本科《人文英语4》机考总题库
- GB/T 41805-2022光学元件表面疵病定量检测方法显微散射暗场成像法
- GB/T 28708-2012管道工程用无缝及焊接钢管尺寸选用规定
- GB/T 17505-2016钢及钢产品交货一般技术要求
评论
0/150
提交评论