《基于单片机淋浴水温调节器设计-毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机淋浴水温调节器设计-毕业论文.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、淋浴水温调节器设计摘 要目前淋浴热水器在家庭中运用越来越广泛,然而市面上存在的淋浴调节方式主要是通过手动调节开关量的大小来控制水温的高低。这种调节方式不能够很好的控制水温的高低,有时由于调节开关距淋浴地点较远,给人们调节水温带来不便,因此,这种调节方式不能够满足人们追求生活舒适的要求。本论文介绍了一种以单片机为主要控制器件,以DS18B20为温度传感器的新型淋浴水温调节器。它主要包括硬件电路的设计和软件设计。硬件电路主要包括主控制器,测温控制电路和显示电路等,主控制器采用单片机STC89C54RD+,温度传感器采用DS18B20,显示电路采用8位共阴极LED数码管动态扫描显示。测温控制电路由温
2、度传感器电路和预设温度电路组成,当实际测量温度值大于或小于预置温度值时,发出信号,从而单片机发出指令控制冷水口和热水口的阀门,使热水和冷水进入到一定大小的容器,保证容器的水温在一定范围内变化。软件设计主要包括主程序,测温子程序和显示子程序等。该设计能够实现精确控制水的温度,其中由于单片机的集成化,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。关 键 词:STC89C54RD+,DS18B20,显示电路,测温控制电路Shower water temperature regulator designABSTRACTShower water heater is curre
3、ntly more widely used at family, however, there is a mainly way to regulate shower which through manual adjustment switch to control the temperature in the market . This adjustment is not a good way to control the temperature , and sometimes regulating switch is far away from the shower location, wh
4、ich is not convenience to control the temperature. therefore, this adjustment method is not able to satisfy the people to pursue life comfortable request.This paper introduces a kind of new shower water temperature regulator, which use the Single chip as the main control device and DS18B20 as the te
5、mperature sensor. It mainly includes hardware circuit design and software design. Hardware circuit mainly includes the main controller, temperature control circuit and display circuit , the main controller uses the Single chip STC89C54RD +, temperature sensor adopts DS18B20,display circuit uses eigh
6、t total cathode tube dynamic scanning LED digital display. Temperature control circuit is consist of temperature sensor and the preset temperature comparison circuit, and when the actual measured temperature greater than or less than the preset temperature value, a signal to send commands to control
7、 the mouth of cold water and hot water valve port, so that hot and cold water into the container to a certain size, to ensure that the temperature of the container changes a certain range. Software design mainly include main program, temperature program and display program. This design can achieve p
8、recise control the temperature of the water in which the integrated single chip make the product miniaturization and intelligent, not only improves the function and quality of products but also reduces the cost and simplify the design.KEY WORDS: STC89C54RD +,DS18B20,Display circuit, Temperature cont
9、rol circuit目 录前 言1第1章 设计任务及方案设计21.1 设计任务及要求21.2 设计总体方案及论证21.3 设计总体框图及结构图2第2章 硬件设计42.1 单片机核心模块42.1.1 单片机类型及接口的选择42.1.2时钟电路的设计52.1.3复位电路的设计62.2 电源电路模块62.3 按键模块72.4 温度采集模块82.4.1 温度传感器的选择82.4.2 DS18B20芯片的特点82.4.3 DS18B20芯片的内部结构及引脚92.4.4 DS18B20与单片机接口电路102.5 继电器模块102.6 显示模块112.6.1 LED指示灯显示电路112.6.2 八位共阴极
10、数码管显示电路122.7 PCB设计13第3章 系统软件设计153.1 各部分软件介绍153.1.1 DS18B20温度采集程序153.1.2 显示程序173.1.3 按键程序173.2 软件总程序17第四章 系统调试19结 论20参考文献21致 谢22附 录23附录1:整体电路原理图23附录2:PCB印制版电路图24V河南科技大学毕业设计(论文)前 言随着科技的进步,人们的生活水平日益提高,人们对家庭生活中的舒适要求也越来越高。为此越来越多的电器进入了我们的生活,淋浴就是其中之一。目前市面上存在的淋浴调节方式主要是通过手动调节开关量的大小来控制水温的高低。这种调节方式不能够很好的控制水温的高
11、低,有时由于调节开关距淋浴地点较远,给人们调节水温带来不便,因此,这种调节方式不能够满足人们追求生活舒适的要求。目前人们得到温水的方法很多,其中之一就是混合法,用热水和冷水进行混合得到合适的温度。热水指通过锅炉、热交换器等方法得到的约50100度的热水,冷水指自然温度的地下水、自来水等。两种不同温度的水在水箱内进行混合,主要通过控制进入水箱冷、热水的比例,使箱内的水温达到洗浴要求。通过调节开关量的大小控制水温,但这种水温控制方法不能很好地控制水温,会出现水温忽冷忽热的现象。为了更好地控制水温,我们设计了淋浴水温调节器。按照系统设计功能的要求,确定系统有6个模块组成:外围电源电路、主控制器、温度
12、传感器DS18B20、控制阀门电路、按键预置温度值电路及显示电路。控制器使用STC89C54RD+,温度传感器使用DS18B20,用8位共阴极LED数码管以动态扫描法实现温度显示。系统程序主要包括主程序、温度控制子程序及显示子程序等等。淋浴水温调节器采用STC89C54RD+单片机作为主控制器,将传感器DS18B20采集的温度数据进行处理,从而发出指令控制冷水口和热水口的阀门,使热水和冷水进入到一定大小的容器,保证容器的水温在一定范围内变化。该设计能够实现精确控制水的温度,其中由于单片机的集成化,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。综上所述,本设计以智能集
13、成温度传感器DS18B20为例,介绍淋浴水温调节器的设计,该设计适用于人们的日常生活温度的检测及控制。淋浴水温调节器的设计满足了人们追求生活舒适的要求,同时淋浴水温调节器还增加了一些新的功能如控制淋浴的时间等。该设计能够弥补目前市场上淋浴水温调节的缺陷,具有很好的市场前景。第1章 设计任务及方案设计1.1 设计任务及要求设计一个以单片机为核心的淋浴水温调节器系统,可实现的功能为:(1)能够设定淋浴出水口温度。(2)具备当前温度和设定温度显示功能。(3)能够通过温度传感器DS18B20检测水温。(4)能够控制冷水口和热水口的阀门,使水温保持在设定温度。1.2 设计总体方案及论证本淋浴水温调节器设
14、计采用美国DALLAS半导体公司继DS1820之后推出的一种改进智能温度传感器DS18B20作为检测元件,测温范围为55125,最大分辨率可达0.0625。DS18B20可以直接读出被测量的温度值,而采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 按照系统设计功能的要求,确定系统由6个模块组成:主控制器STC89C54RD+,温度传感器DS18B20,电源电路模块,控制冷水口和热水口的阀门电路,按键电路及显示电路。1.3 设计总体框图及结构图 外围电源电路:为各个器件提供稳定电源保障,电源电压为5V。按键电路:此设计共用3个按键,其功能为系统总开关、设定温度加键、设定
15、温度减键。主控制器:此部分是该设计的核心部分,该部分采用单片机STC89C54RD+作为主控制器,通过编程把按键电路、显示电路、DS18B20电路、控制阀门电路串接起来实现系统设计要求。显示电路:该部分采用8位共阴极LED数码管显示,能够实现当前温度和设定温度显示功能。控制阀门电路:该部分是通过两个继电器的开关控制冷水口和热水口阀门,使水温保持在设定温度。温度采集电路:智能温度传感器DS18B20作为检测元件,能够方便、准确地采集温度。总体电路框图如图1-1所示。淋浴水温调节器控制热水和冷水进入到一定大小的容器,使容器内的水温恒定从而保证淋浴口的温度恒定,其结构图如图1-2所示。图1-1 总体
16、电路框图图1-2 结构图第2章 硬件设计该系统的主要分为以下几个模块:STC89C54RD+单片机核心模块,外围电源电路模块,按键电路模块,温度采集电路模块,显示电路模块及PCB图的绘制。2.1 单片机核心模块单片机部分是整个硬件系统设计的最主要部分,该部分用于控制实现系统各个功能。因此如何设计好这部分至关重要。2.1.1 单片机类型及接口的选择STC89C54RD+系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码完全兼容传统8051单片机,它是一种带有16K字节的闪烁可编程并且可擦除的只读式存储器。该器件采用高密度非易失存储器制造技术制造,由于将多功能8位CPU和闪
17、烁存储器组合在单个芯片中,STC89C54RD+是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。鉴于STC89C54RD+价格低廉,易学易用,且满足本设计需求,故选择该型号单片机。STC89C54RD+单片片机为40引脚芯片如图2-1示。各引脚功能:按键与单片机引脚的连接:按键S3-S5分别接单片机的P2口中P2.3-P2.5。温度检采集电路与单片机引脚的连接:DS18B20的DQ引脚与接单片机的P2.0口相连 。 显示电路与单片机引脚的连接:两片74HC573的D1-D8引脚与单片机的P0口中的P0.0-P0.7相连,两片74HC573的LE引脚分别与单片机的P2口中
18、的P2.1、P2.2相连,三个LED灯分别与P1口的P1.0-P1.2相连。控制阀门电路与单片机引脚的连接:单片机的P1.6、P1.7引脚与两继电器相连。其他引脚的连接:单片机的VCC、EA/VPP引脚接电源VCC, VSS引脚接地端,RST引脚接复位电路,XTAL1 、XTAL2引脚接时钟电路。图2-1 STC89C54RD+2.1.2时钟电路的设计图2-2 晶振电路STC89C54RD+芯片内部有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。在XTAL1和XTAL2两端跨接石英晶体及两个电容C5、C6就构成稳定自激振荡电路。对外接电容虽
19、然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,推荐电容使用30Pf10pF,而如使用陶瓷谐振器建议选择40pF10pF。本设计使用的电容是30pF,晶振为11.0592MHz。本设计采用内部振荡器方式,如图2-2所示。2.1.3复位电路的设计任何单片机在工作之前都要有个复位过程,复位对单片机来说,是程序还没有开始执行,是在做准备工作。一般的复位只需要5ms的时间。只要在单片机的RST引脚加上高电平,就可以了,为了满足时间不少于5ms,需要在外部设计复位电路。复位电路的实现从功能上一般分为两种:一种是电源复位,即
20、外部的复位电路在系统通上电源之后直接使单片机工作,单片机的启停通过电源控制;另一种方法是在复位电路中设计按键开关,通过按键开关触发复位电平,控制单片机的复位。本设计的复位电路采用按键开关复位,通过简单的电阻、电容及按键开关构成上电自动复位和手动复位。该复位电路的优点在于降低复位引脚的对地阻抗,可以显著通过单片机复位电路的抗干扰能力。复位电路连接示意图如图2-3所示。图2-3 复位电路2.2 电源电路模块单片机电源的设计是整个设计中的一项重要工作,电源的精度和可靠性等各项指标,直接影响系统的整体性能。一个系统稳定性很大程度上取决于稳定的电源模块是否能够提供稳定的电压和电流。各种整流器的输出电压不
21、仅受市电电压变化的影响,还受负载变化的影响。为了保证供电电压稳定不变,几乎所有的电子设备都采用稳压器供电。小型精密电子设备还要求电源非常无纹波、无噪声,以免影响电子设备正常工作。为了满足精密电子设备的要求,应在电源的输入端加入线性稳压器,以保证电源电压恒定和实现有源噪声滤波。单片机电路工作电源电压为+5V,平时用到的电源不是此电压,因此,需要设计电源电路。该电源电路中使用了7805稳压芯片,从而保证+5V电压值的输出。图中二极管D10为了防止反接,C1用以抵消输入端较长接线感应,防止产生自激震荡。C3为了瞬时增减负载电流时不致引起输出端有较大的波动,C1、C1、C3一般可以选0.15uF之间。
22、电源电路模块图如图2-4所示:图2-4 电源电路2.3 按键模块该设计共用五个按键,现介绍各个按键功能:按键S3的功能:总开关按键,每按一下此按键,相应的指示灯亮/灭,当对应指示灯亮时,系统才开始工作。按键S4的功能:设定温度加按键,每按一下此按键,数码管上设定温度加一,相应的指示灯亮/灭。按键S5的功能:设定温度减按键,每按一下此按键,数码管上设定温度减一,相应的指示灯亮/灭。按键电路如图2-5所示:图2-5 按键电路2.4 温度采集模块温度采集在整个系统中具有重要作用,温度采集的快速性、准确性对整个系统的各项指标有重要影响,因此,选择什么样的温度传感器很重要。2.4.1 温度传感器的选择D
23、S18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。2.4.2 DS18B20芯片的特点(1) 适应电压范围更宽,电压范围:3.0 V5.5V,在寄生电源方式下可由数据线供电。(2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(3) 测温范围55125,在-10+85时精度为0.5。(4) 可编程的分辨率为912位,
24、对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。(5) 在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。2.4.3 DS18B20芯片内部结构及引脚DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。引脚含义如下:(1)DQ:数字信号输入/输出端;(2)GND:电源地;(3)VDD:外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20中的温度传感器完成对温度的测量,它的测量精度可以配置成9位,10位,11位或12位4种
25、状态。温度传感器在测量完成后将测量结果存储在DS18B20的两个8 BIT的RAM中,单片机可以通过单线接口读到该说据,读取时低位在前,高位在后说据的存储格式如表2-1(以12位转化为例)如下所示。这是12位转化后得到的12位数据,存储在DS18B20的两个8 BIT的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如25.0625的数字输出为0191H,25.0625的数字输出为FF6FH。 表4-4 DS18B20温度值格式表 b
26、it7 bit6 bit5 bit4 bit3 bit2 bit1 bit0LS Byte232221202-12-22-32-4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8MS ByteSSSSS2625242.4.4 DS18B20与单片机接口电路DS18B20采用外接电源方式,只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的P2.0口,电源与数字输入输出脚间需要接一个4.7K的电阻,电路如图2-7所示。DS18B20使用中注意到事项:DS18B20虽然具有测温系统简单,测温精度高、连接方便、占用接口线少等优点,但在实际应用中
27、也应注意以下问题:(1)在使用过程中,应使电源电压保持在5v左右,如果电压过低,会使所测得到温度与实际温度出现偏高现象,使温度输出定格在85。(2)连接DS18B20的总线电缆是有长度限制的,进行长距离测量时要充分考虑总线分布电容和阻抗匹配问题。图2-7 DS18B20电路2.5 继电器模块本设计采用继电器电路控制阀门打开关,实现控制水温,继电器电路见下图2-8。三极管Q1的基极B接到单片机的P1.6口,三极管的集电极极C接到继电器线圈的一端,线圈的另一端接到5V电源VCC上;继电器线圈两端并接一个二极管IN4148,用于吸收释放继电器线圈断电时产生的反向电动势,防止反向电势击穿三极管Q1及干
28、扰其他电路。当STC89C54RD+单片机的P1.6引脚输出高电平时,三极管Q1饱和导通,5V电源加到继电器线圈两端,继电器吸合,同时状态指示的发光二极管也点亮,继电器的常开触点闭合,相当于开关闭合。当STC89C54RD+单片机的P1.6引脚输出低电平时,三极管Q1截止,继电器线圈两端没有电位差,继电器衔铁释放,同时状态指示的发光二极管也熄灭,继电器的常开触点释放,相当于开关断开。注:在三极管截止的瞬间,由于线圈中的电流不能突变为零,继电器线圈两端会产生一个较高电压的感应电动势,线圈产生的感应电动势则可以通过二极管IN4148释放,从而保护了三极管免被击穿,也消除了感应电动势对其他电路的干扰
29、,这就是二极管D8的保护作用。图2-8 继电器电路2.6 显示模块显示电路包括两个部分,LED指示灯显示电路和8位共阴极LED数码管显示电路。LED指示灯显示电路用来显示开关电路的开关,8位共阴极LED数码管显示电路用来显示采集温度和设定温度。2.6.1 LED指示灯显示电路图2-9 指示灯电路发光二极管在其两端的电压差超过其导通压降时开始工作,发光二极管的导通压降一般为1.7V1.9V。此外,工作电流要满足该二极管的工作电流。满足电流和电压要求,发光二极管就可以发光了。一般发光二极管的点亮电流为5mA至10mA,在5V驱动时,采用470限流电阻,LED指示灯接到单片机P1.0至P1.2口上,
30、其电路图如图2-9。2.6.2 八位共阴极数码管显示电路采用动态显示方案,设计中使用八个共阴极数码管作为显示载体,通过八路并口传输,共使用了十六个I/O口。显示时采用循环移位法,即八位数码管依次循环点亮,利用人眼睛的视觉暂留效果达到连续显示,主程序每运行一遍便调用一次显示子程序,将数据显示出来。显示电路由八位共阴极的数码管组成,通过网络标号H1、H2、H3、H4、H5、H6、H7、H8等与U3/74HC573的Q口相连,实现段控制功能。通过直接与U4/74HC573相连,以此为桥梁与STC89C54RD+相连,实现位控制功能。具体电路原理图,如图2-10所示。图2-10 八位共阴极数码管显示电
31、路2.7 PCB设计印制电路板的设计是以电路原理图为根据,实现电路设计者所需要的功能。印刷电路板的设计主要指版图设计,需要考虑外部连接的布局、内部电子元件的优化布局、金属连线和通孔的优化布局、电磁保护、热耗散等各种因素。优秀的版图设计可以节约生产成本,达到良好的电路性能和散热性能。简单的版图设计可以用手工实现,复杂的版图设计需要借助计算机辅助设计(CAD)实现。(1)有关参数的设置。这一步主要设定自动布参数、自动布线参数、板面参数等。(2)PCB板尺寸设计。在禁止布线层上,沿设计的PCB边画边框线,即指定自动布局的范围。这一步为自动布局打基础。同时,在上层板面(即元器件面)沿禁止布线层的边框图
32、线放置铜线,这是PCB板最后成型所必须的。 (3)PCB板元器件布局。布局就是根据原理图上元器件之间的连接关系,并考虑电磁兼容性以及元器件的安装空间和散热等,总是将元器件放置在PCB电路板上适当的位置。布局的好坏直接影响PCB板的电气性能和布局的功能,是PCB板设计过程中最费时、最繁琐的。布局工作需要耐心、细致。尽管系统提供了自动布局的功能,但是一般而言都需要手工调整。手工布局,首先载入SCH生成的网络表,通过手工移动元器件PCB板上的排列位置实现布局。移动元器件是最好打开网络连接显示,这样就能观察到相邻元器件连线的疏密。自动布局,PCB系统环境提供自动布局功能完成元器件放置,但在细节处最好使
33、用手工调整。布局时要求相互间连线多的元器件应该就近放置;相互间可能造成干扰的元器件应远离:功率器件应考虑散热空间。自动布线就是在元器件引脚之间放置覆铜连线的过程,这一过程可以通过手工完成,也可以自动进行。由于该统提供了强大的自动布线功能,建议使用该功能自动布线。在进行自动布线之前,设计人员必须先设计好布线参数,定义布线规则。如果不适当,可能会导致自动布线失败,即布线的成功率不高,所以这一步要特别注意。(4)设计规则检查DRC。启动设计规则检查DRC,这一步利用PCB提供的DRC功能对完成布线的PCB板进行检查,这一步由软件自动完成。检查的结果输出在报告文件*.rep中,PCB软件将出错处在PC
34、B图上显示出来,为检查、修改提供方便。(5)板面字符调整。为了使设计的PCB板美观,并且安装焊接元器件方便,应将元器件的名称。设计值的字符参数移至元器件框外。大小合适且字符不想重叠。将经过DRC检查无误,且版面字符调整好的PCB设计图存盘、输出、制版。印刷板电路设计完成以后,整个电路板的设计项目就基本完成。存档以便进行后期的修改及完善。25河南科技大学毕业设计(论文)第3章 系统软件设计整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是主程序,它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是子程序,它是
35、用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个子程序也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划主程序了。 首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序构,然后根据实时性的要求,合理地安排主程序和各执行模块之间地调度关系。系统程序主要包括主程序、读按键程序、显示程序、DS18B20采集温度子程序及继电器控制子程序等。3.1 各部分软件介绍3.1.1 DS18B20温度采集程序DS18B20的使用方法:DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对ST
36、C89C54RD+单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。初始化时序:主机控制DS18B20完成任何
37、操作之前必须先初始化,即主机发一复位脉冲(最短为480us的低电平),接着主机释放总线进入接收状态,DS18B20在检测到I/O引脚上的上升沿之后,等待15-60us然后发出存在脉冲(60-240us的低电平)。 读时序:将数据从高电平拉至低电平,产生写起始信号。在15us之内将所需写的位送到数据线上,在15us到60us之间对数据线进行采样,如果采样为高电平,就写1,如果为低电平,写0就发生。在开始另一个写周期前必须有1us以上的高电平恢复期。写时序:主机将数据线从高电平拉至低电平1us以上,再使数据线升为高电平,从而产生读起始信号。主机在读时间片下降沿之后15us内完成读位。每个读周期最短
38、的持续期为60us,各个读周期之间也必须有1us以上的高电平恢复期。DS18B20模块程序主要完成DS18B20的初始化和温度的读取操作,程序流程如图3-1所示。图3-1 温度采集程序流程图3.1.2 显示程序LED数码管包括LED数码管的初始化,扫描/显示操作等。对LED数码管进行扫描/显示操作时,应注意在扫描/显示操作之前,清空数据 防止交替重影。LED数码管程序流程图如图3-2所示。3.1.3 按键程序读键程序放在定时器中,20ms扫描一次键盘,程序具有去抖功能,避免了外部因干扰信号而引起的误动作。其读键程序流成图如图3-3所示。 图3-2 显示程序流程图 图3-3 按键程序流程图3.2
39、 软件总程序系统初始化:包括单片机I/O 口工作模式设置,显示缓冲区初始化等; 扫描按键:单片机判断是否有按键按下。若有键按下,则判断按键序号,并完成相应调节的操作;温度采集:主要完成DS18B20的初始化和温度的读取操作,将采集的温度送到显示缓冲区。显示程序:单片机从显示缓冲区读取温度, 送数值到八位共阴极数码管显示。继电器程序:完成继电器控制,从而控制阀门,实现水温恒定。主程序:调用各个分程序的函数,处理函数,完成淋浴水温调节器的各项功能。图3-4 总程序流程图第四章 系统调试系统的调试以程序为主。硬件调试比较简单,首先检查电路板是否焊接正确,按照原理图连接电路,确保电路连接正确。软件调试
40、可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、测温子程序、预置数、控制继电器程序等的编程及调试,由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行编程时必须严格地保证读写时序,否则将无法读取测量结果。本程序采用C语言编写,用用Keil uVision4编译器编程调试,软件调试到能显示温度值,而且在有温度变化时(例如用手去接触)显示温度改变,通过采集温度与预设温度的比较可以控制继电器的开关。在单片机电路板上先连接温度传感器检测电路,把温度检测程序下载到单片机,接通电源后发现数码管显示温度不正确,在检查电路之后,发现硬件电路接线并没有问题,说明程序编写有错误。由
41、于DS18B20是在一根I/O线上读写数据,对读写的数据位有着严格的时序要求,所以先检查DS18B20的初始化程序、从DS18B20中读一个字节程序、向DS18B20写入字节程序等程序是否正确,通过检查发现这部分程序没有错误,接下检查温度处理函数和数码管显示电路发现温度处理函数没有调用,通过修改程序,再次下载程序运行,可以看到当有温度变化时(例如用手去接触)显示温度改变,说明温度检测程序正确。按键功能程序的调试,本设计采用三个按键,分别实现总开关和预设温度的加减功能。编写按键程序时,我遇到了一些问题比如说指示灯的亮灭不能随按键的按下而发生变化,通过请教老师和同学,发现是问题出在延时程序上,修改
42、程序并通过软件调试,不断发现问题并进行及时的解决,最终把按键功能程序实现。继电器程序和总体程序的调试,继电器程序比较简单,通过编写控制语句,即可实现继电器的开关。在总体调试过程中,也出现了一些问题,通过检查和修改程序,最终实现了设计要求的全部功能。结 论本文设计的淋浴水温调节器能够设定淋浴出水口温度;具备当前温度和设定温度显示功能;能够通过温度传感器DS18B20检测水温;能够控制冷水口和热水口的阀门,使水温保持在设定温度。本设计设计之前,为了使设计更合理,曾想增加时间显示功能。但由于时间关系,这个功能未能实现。在设计淋浴水温调节器的过程中,考虑到淋浴所处的环境,采用八位共阴极的数码管显示,这
43、样可以消除雾气对显示的影响。本文设计主要包括两个部分硬件设计和软件设计。硬件设计有可以分为原理图和PCB图的绘制,原理图的设计是整个设计过程中重要的一部分。绘制原理图时要考虑一下问题:(1)DS18B20温度传感器的接法;(2)按键要加上指示灯,这样可以直观地观察是否起到作用;(3)控制阀门电路设计时,考虑到没有专门的阀门,采用了通过继电器间接控制方面的开关。通过查找资料和老师的指点,最终完成了原理图的绘制。画PCB图时,重点主要每一个元件的封装和布局的合理性。在编写程序时要严格按照DS18B20的时序图来编程,否则无法实现预想的功能。DS18B20 三线制应用时,应将VDD、DQ、GND 三
44、线在电路板上接牢。若VDD 脱开未接,只显示+85.0的温度值。在编写设定温度时,考虑到人的洗澡温度在2055范围,因此设定温度在2055范围内调节。程序设计经过多次调试和修改,最终实现所有功能。本文设计的淋浴水温调节器采用单片机作为主控制器,由于单片机的集成化,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。淋浴水温调节器的设计满足了人们追求生活舒适的要求,同时淋浴水温调节器还增加了一些新的功能如控制淋浴的时间等。该设计能够弥补目前市场上淋浴水温调节的缺陷,具有很好的市场前景。参考文献1 张毅刚.单片机原理及应用M. 北京:高等教育出版社,20042 周立功.LPC
45、900系列Flash单片机应用技术M.北京:北京航空航天大学出版社,20043梁洁婷.单片机原理与应用M.北京:高等教育出版社,20024 夏路易.电路原理图与电路板设计教程M.北京:北京希望电子出版社,20025 沈精虎.Protel DXP入门与提高M.北京:人民邮电出版社,20036 林卓然.计算机基础课程M. 广州:中山大学出版社,20087 陈贵平.大学计算机基础M. 杭州:浙江大学出版社,20078 康华光.电子技术基础M. 北京:高等教育出版社,20079 张亚君.数字电路与逻辑设计实验教程M. 北京:机械工业出版社,200810 李小根.电子系统设计与实践M. 成都:四川大学出
46、版社,200711 张俊谟.单片机中级教程M. 北京:北京航空航天大学出版社,200112 胡汉才.单片机原理及系统设计M.北京:清华大学出版社,200213 施松昆.数字温度传感器DS1820J.国外电子元器件,199614 李广弟,朱月秀,王秀山.单片机基础M.北京: 北京航天航空大学 社,200015 王毅.单片机器件应用手册M. 北京:人民邮电出版社,199516 张毅刚.单片机原理及应用M. 北京:高等教育出版社,2004致 谢本设计从选题到设计方案的确定和设计完成,再到论文的最后定稿都得到了我的指导老师的悉心指导和不懈支持。他多次为我指点迷津,帮助我开拓思路,精心点拨,热忱帮助。他严肃的教学态度,严谨的治学精神,精益求精的工作作风深深地感染和激励着我。在此,谨向老师致以诚挚的谢意和崇高的敬意。另外,我还要感谢同组的同学,在遇到不懂的问题时,他们总是毫无保留地把他们所知道的告诉我,感谢他们作为同窗的无私之情。 在论文即将完成之际,我的内心满怀感激,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!回首大学四年,彷佛就在昨天,那些美好的回忆依旧那么清晰,历历在目。感谢大学四年生活,让我逐步成长起来!