《电冰箱温度控制系统毕业论文.doc》由会员分享,可在线阅读,更多相关《电冰箱温度控制系统毕业论文.doc(44页珍藏版)》请在三一办公上搜索。
1、摘 要随着社会的发展和生活水平的提高,人们对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求。多功能,智能化是其发展方向之一,传统的机器控制,简单的电子控制已经难以满足发展的要求。单片机是实时检测和自动控制系统中心的一个核心器件。本文设计的基于单片机的电冰箱温度控制器系统是利用温度传感器DS18B20采集电冰箱冷藏室的温度,通过INTEL公司的高效微控制器MCS-51单片机进行信号控制,从而达到智能控制的目的。本系统可实现电冰箱温度设置、电冰箱过欠压检测、开门显示、压缩机开启延时等功能。通过对直冷式电冰箱制冷系统的改进,实现了电冰箱的智能控制,使电冰箱能根据使用条件的变化迅速合理
2、地调节制冷,且节能效果良好。关键词:单片机;电冰箱;温度控制;过欠压检测ABSTRACTWith 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
3、 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 temper
4、ature 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 com
5、pressor 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; temperatur
6、e control; over-voltage detection目 录前 言1第1章 绪 论21.1 课题研究状况及目的21.2 电冰箱的系统组成及工作原理31.3 本设计研究内容4第2章 总体设计方案52.2 方案论证52.2.1方案一52.2.2方案二5第3章 系统的硬件设计73.1 硬件电路的重要芯片介绍73.1.1 单片机73.1.2 温度传感器DS18B20113.2 部分电路简介183.2.1 过欠电压检测电路183.2.2 12864液晶连接电路19第4章 系统软件程序设计224.1 显示子程序234.2 DS18B20程序244.3 判断控制程序254.4 开启延时程序26第
7、5章 系统调试及性能分析285.1 调试285.2 性能分析28结 论29致 谢30参考文献31附 录32附录A 温控器系统原理图32附录B 程序33前 言近年来随着计算机在社会领域的渗透,单片机的应用正在不断的走向多元化。同时带动传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件测控电路,以及针对具体应用对象特点的软件结合,以作完善。电冰箱温度控制系统是利用DS18B20采集电冰箱冷藏室和冰冻室的温度,通过MCS-51单片机进行数字信号处理,从而达到智能控制的目的。本系统了实现电冰箱冷藏室和冻室的
8、温度设置,开门报警等功能。第1章 绪 论1.1 课题研究状况及目的冰箱是深刻改变了人类生活的现代奇迹之一。在人们发明冰箱之前,保存肉类的唯一方法是腌制,而在夏季喝到冰镇饮料更是一种奢望。传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制。随着国民经济的日益发展,人民的生活水平有了很大的提高,冷冻器具在家庭、医院、旅馆、餐厅和科研单位得到了广泛的应用。普通电冰箱温控器基本上是一个独立的闭环温度调节系统,主要由温度传感器、控制器、温度设定机构等装置组成。其控制原理是电冰箱温控器根据温度传感器测得的室温与设定值的比
9、较结果发生控制信号,控制电冰箱压缩机电源的开关,即用切断和打开压缩机电源的方式,调节电冰箱内温度。 第一代温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度。这类温控器产品普遍存在“温度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。第二代温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较
10、复杂”等问题。目前国内外生产厂家正在研究开发第三代智能型温控器,如DS18B20。个别厂家积极响应国家的政策,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型温控器,并已应用于实际工程。这一生产带动电子行业的发展。电冰箱作为应用较为普及的家用电器,近年来,随着微电子技术、传感器技术以及控制理论的发展,其呈现迅猛发展,电冰箱向大容量、多功能、无氟、节能、智能化、人性化方向发展,因此传统的机械式、简单的电子控制难以满足现代冰箱的发展要求。冷冻室的温度为:零下十六到二十四摄氏度。冷藏室的温度为:二到八摄氏度。电冰箱控制的主要任务就是保持箱内食品最佳温度,达到食品保鲜的目的。而此
11、次设计的目的则是熟悉温控器的原理,并通过开发板模拟实现电冰箱温控器。1.2 电冰箱的系统组成及工作原理液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。 蒸气压缩式电冰箱制冷系统原理图如图1.1所示,主要由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液体,高压过冷液体经干燥过滤器流入毛细管节流降压,
12、成为低温低压液体状态,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气体制冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复始的运行,保证了制冷过程的连续性。 1绝热箱体;2蒸发机;3压缩机;4冷凝器;5干燥过滤器;6毛细管图1.1 冰箱系统原理图直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停,当检测冰箱的温度、耗电量时,保持冰箱测试环境温度恒定。冷冻室用于冷冻食品通常用于冷冻的温度为零下三道零下十五摄氏度,冷藏室用于相对于冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为零度到十摄氏度,当测得冷冻室温度高至零下三道零摄
13、氏度时或者是冷冻室温度高至十到十三摄氏度是启动压缩机制冷,当冷冻室温度低于零下十五到零下十八摄氏度或冷藏室温度低于零到零下三摄氏度时停止制冷,关断压缩机。采用单片机控制,可以使控制更为准确、灵活。1.3 本设计研究内容在本次课题研究中我将参考从各个方面收集到的文献,博取其精华。研究方法则是采用MCS-51单片机开发板模拟电冰箱工作环境,并模拟设定电冰箱各项参数,以研究电冰箱温控器的工作原理及设计。研究的内容主要包括以下方面:(1)液晶显示的工作原理,并通过液晶将各项数据显示在冰箱外;(2)温度控制器原理,制冷原理,自动控制电冰箱工作使其通过制冷达到所设定的温度;(3)智能检测电冰箱工作电压是否
14、正常,避免压缩机烧坏;(4)继电器工作原理,模拟对压缩机的通/断电操作;(5)单片机程序编程语言;在本文中将介绍基于单片机的电冰箱温控器的总体设计思想和方案,及用到的部分芯片及硬件设计的原理,还有软件设计过程中的思想和方法等。 第2章 总体设计方案2.1 功能要求通过液晶显示所设定的温度,温度能随意调节,能自动控制电冰箱工作,使其通过制冷达到所设定的温度。2.2 方案论证根据毕业设计的要求,我们可以知道在本次设计中最重要的部分就是温控器,温控器的选择将决定外部电路的设计,所以温控器的选择具体有两种以下方案。2.2.1方案一在日常生活及工农生产中,经常要用到温度的检测及控制,传统的测温元件有热电
15、耦和热电阻。温控器的第一选择就可以选择热电耦和热电阻,他们测出的一般都是电压,再转换成对应的温度,但是需要比较多的外部硬件支持。因此这种选择就有如下主要缺点:(1)硬件电路复杂;(2)软件调试复杂;(3)制作成本高;2.2.2方案二采用美国DALLAS半导体公司生产的高性能数字智能温度传感器DS18B20。DS18B20作为检测元件,测温范围为零下五十五到一百二十五摄氏度,最高分辨率可达0.0625摄氏度。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。所以在本次毕业设计中采用方案二,使用DS18B20作温控器配合MCS-51单
16、片机进行设计。按照系统设计功能的要求,确定系统由6个模块组成:主控制器、测温电路、液晶显示电路、过欠压检测电路、按键电路、继电器压缩机电路。温度控制器总体电路结构框图如图2.1所示。过欠压检测 MSC-51主控制器液晶显示器DS18B20继电气压缩机按键电路图2.1 温度控制器总体电路结构框图第3章 系统的硬件设计3.1 硬件电路的重要芯片介绍 3.1.1 单片机单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。早期的单片机都是8位或4位的,随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用
17、。90年代后单片机技术得到了巨大提高。32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择,这也是本课题选择这一个芯片的原因之一。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,单片机作
18、为计算机发展的一个重要领域,应用一个较科学的分类方法。根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能
19、的部件存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的
20、地址,然后取得每一条要执行的命令,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个中断源,一个片内振荡器和时钟发生电路,可编程串行通道,有低功耗的闲置和掉电模式。这种结构特点决定了单片机具有体
21、积小、成本低、可靠性高、应用灵活、开发效率高、易于被产品化等优点,使其具有很强的面向控制的能力,在工业自动化控制、家用电器、智能化仪表、机器人、军事装置等领域获得了广泛的应用。图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
22、口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读
23、写时,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外部输入)
24、P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行M
25、OVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的
26、输入。 XTAL2:来自反向振荡器的输出。3.1.2 温度传感器DS18B20温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的性能,因此温度传感器采用DALLAS公司生产的高性能数字温度传感器DS18B20。 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用
27、微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 DS18B20内部结构如图3.3所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图3.2所示: U5DS18B20GNDDQVCC1 01234567 32VCC图3.2 DS18B20的管脚排列图DQ:为数字信号输入输出端;GND:为电源接地;VCC:为外接供电电源输入端(在寄生电源接线方式时接地,见图3.2)。 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B2
28、0的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。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的温度存储方式2322212021222
29、324温度值低字节LSBSSSSS262524温度值高字节MSB 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: 0R1R011111R1、R0决定温度转换的精度位数:R1R0=00,9位精度,最大转换时间为93.75ms,R1R0=01,10位精度,最大转换时间为187.5ms,R1R0=10,11位精度,最大转换时间为375ms,R1R0=11,12位精度,最大转换时间为750ms;未编程时默认为12位精度。 高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4
30、、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。DS18B20的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。DS18B20的单线(1wire bus)系统:单线总线结构是DS18B20的突出特点,也是理解和编程的难点。从两个角度来理解单线总线:第一,单线总线只定义了一个信号线,而且DS18B20智能程度较低(这点可以与微控制器和SPI器件间的通信做一个比较),所以DS18B20和处理器之间的通信必然要通过严格的时序控制来完成。第二,DS18B20的输
31、出口是漏级开路输出,这里给出一个微控制器和DS18B20连接原理图。这种设计使总线上的器件在合适的时间驱动它。显然,总线上的器件与(wired AND)关系。这就决定:(1)微控制器不能单方面控制总线状态。之所以提出这点,是因为相当多的文献资料上认为,微控制器在读取总线上数据之前的I/O口的置1操作是为了给DS18B20一个发送数据的信号。这是一个错误的观点。如果当前DS18B20发送0,即使微控制器I/O口置1,总线状态还是0;置1操作是为了是I/O口截止(cut off),以确保微控制器正确读取数据。(2)除了DS18B20发送0的时间段,其他时间其输出口自动截止。自动截止是为确保:1时,
32、在总线操作的间隙总线处于空闲状态,即高态;2时,确保微控制器在写1的时候DS18B20可以正确读入。由于DS18B20采用的是1Wire总线协 议方式,即在一根数据线实现数据的双向传输,而对MCS-51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 DS18B20的复位时序,如图3.4所示。VDDGND1560us主机接受所需最短时间480usDS18B20发出答应脉冲60240us主机发出复位脉冲最大值480us最小值960us图3.4 DS18B20的复位时序图 DS18B20的读时序对于DS18B20的读时序分为
33、读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的读时序图如图3.5所示。U2015usU20主CPU采样1us15us15us主CPU读0时隙30usGND主CPU采样1us主CPU读0时隙GND图3.5 DS18B20的读时序 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B2
34、0能够在15us到45us之间能够正确地采样I/O总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。如图3.6所示。1usU20主CPU写0时隙60120usU20DS18B20采样区30us15us15us1us主CPU写0时隙60120usGNDGNDDS18B20采样区30us15us15us1us图3.6 DS18B20的写时序图(3)DS18B20的供电方式在图3.8中示出了DS18B20的寄生电源电路。当DQ或VCC引脚为高电平时,这个电路便“取”的电源。寄生电路的优点是双重的,远程温度控制监测无需本地电源,缺少正常电源条件下也可以读ROM。为了使
35、DS18B20能完成准确的温度变换,当温度变换发生时,DQ线上必须提供足够的功率。有两种方法确保 DS18B20 在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在DQ线上提供一强的上拉,这期间单总线上不能有其它的动作发生。如图3.7所示,通过使用一个MOSFET把DQ线直接接到电源可实现这一点,这时DS18B20工作在寄生电源工作方式,在该方式下VCC引脚必须连接到地。接其他的一线装置+35.5v MICRO-processorDSQ8B20GND DQ VCC+35.5v单总线4.7k 图3.7 DS18B20供电方式1另一种方法是DS18B20工作在外部电源工作方式,如图
36、3.8所示。这种方法的优点是在DQ线上不要求强的上拉,总线上主机不需要连接其它的外围器件便在温度变换期间使总线保持高电平,这样也允许在变换期间其它数据在单总线上传送。此外,在单总线上可以并联多个DS18B20,而且如果它们全部采用外部电源工作方式,那么通过发出相应的命令便可以同时完成温度变换。外接电源+35.5v接其他的一线装置单总线Micro-processorDSQ8B20GND DQ VCC+35.5v图3.8 DS18B20供电方式2(4)DS18B20设计中应注意的几个问题DS18B20具有测温系统简单、测温精度高、连接方便、占用接口线少等优点,但在实际应用中也应注意以下几方面的问题
37、:较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20 与微处理器间采用串行数据传送。因此, 在对DS18B20 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在DS18B20 有关资料中均未提及1Wire上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当1Wire上所挂DS18B20超过8个时,就需要考虑微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。连接DS18B20的总线电缆是有长度限制的。实际应用中,测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线,屏蔽层在源端
38、单点接地。本文以广泛应用的数字温度传感器DS18B20为例,说明了1Wire总线的操作过程和基本原理。事实上,基于1Wire总线的产品还有很多种,如1Wire总线的E2PROM、实时时钟、电子标签等。他们都具有节省I/O资源、结构简单、开发快捷、成本低廉、便于总线扩展等优点,因此有广阔的应用空间,具有较大的推广价值。3.2 部分电路简介3.2.1 过欠电压检测电路如图3-9所示即为过欠压检测电路,也称为电压窗口比较器。在图3.9(a)中,A1,A2是专用电压比较器LM119。LM119的内部采用射级接地、集电极开路的三极管集电极输出方式。在使用时,必须外接上拉电阻。过欠压检测电路只有检测出电压
39、是否稳定便可,而这种电路允许输出端并接在一起。此电路的工作原理是:当输入电压UiUR1时,比较器A1的输出管导通,而比较器A2的输出管截止,此窗口比较器的输出电平将由比较器A1输出电平确定为低电平。只有当输入电压处于窗口电压之内,即UR2UiUR1时,比较器A1和A2输出管均截止,窗口比较器输出电平是由上拉负载电阻拉向高电平。此窗口比较器的传输特性如图3.9(b)所示。图3.9 (a)图3.9 (b)图3.9 过欠压检测电路3.2.2 12864液晶连接电路液晶显示屏有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。利
40、用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。带中文字库的12864每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多实现32个中文字符或64个ASCII码字符的显示。带中文字库的12864内部提供1282字节的字符显示RAM缓冲区,字符显示是通过将字符显示编码
41、写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如表3-2所示:表3-2 汉字显示坐标X坐标Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH在此系统中,液晶采用并口通信,所以第15脚PSB端固定接高电平,引脚7-14作为三态数据线,其
42、他引脚说明见表3-3,连接图如图3.10所示:图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)第4章 系统软件程序设计基于单片机的电冰箱温控器软件设计主要由显示子程序、
43、读出并处理DS18B20的测量温度值程序、预置温度调节程序、温度判断控制程序、电冰箱开启延时程序、还有软件复位程序等组成。软件程序设计总体流程图如下图4.1所示:YY NYN开始LCD初始化定时器1初始化DS18B20读取温度显示读取到的温度判断是否有键按下增减预设温度值显示预设值判断压缩机是否工作开启延时功能判断门的开关显示开门状态显示关门状态态、N图4.1 软件程序设计总体流程图由于51系列的单片机没有停机的指令,所以可以利用主程序设置死循环反复运行各个任务。于是就把有实时要求的部分放在最内层的循环中。4.1 显示子程序在本次设计中,显示子程序包括三部分:往LCD液晶显示屏发送一个字节的数
44、据或指令子程序,LCD液晶屏初始化子程序,显示数据处理程序。在程序中首先将并行口选择为写的状态,然后选择将要传送的是指令还是数据,再将数据送到P1口,打开并行口的使能端,等待数据输出完毕后关闭并行口使能。其流程图如图4.2所示。并行口置写状态开始选择传送数据/指令将数据送到P1口打开并口使能传送完毕,关闭并口返回图 4.2 传送数据流程图4.2 DS18B20程序通过DS18B20的初始复位,读温度,温度转换,计算温度等子程序,将转换后的数据扩大10倍返回主函数,提供给下一个函数使用。读DS18B20程序流程图如图4.3。开始初始复位跳过读序号列号的操作启动温度转换延时初始复位跳过读序号列号的
45、操作读取温度寄存器的值分别送入a和b计算温度返回十倍温度值图 4.3 读DS18B20程序流程图(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,完成了一个写周期在开始另一
链接地址:https://www.31ppt.com/p-3988518.html