简易温度控制系统的设计.doc_第1页
简易温度控制系统的设计.doc_第2页
简易温度控制系统的设计.doc_第3页
简易温度控制系统的设计.doc_第4页
简易温度控制系统的设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

简易温度控制系统的设计摘要:温度是人类生活环境中基本的参数之一,温度的改变会对人的日常生活和生产产生很大的影响,因此,研究和改善温度的测量和控制方法具有非常重要的意义。本课题主要由温度传感器DS18B20作为测温器件,用LCD12864液晶作为显示模块,以MSP430g2553单片机作为处理器和报警控制四大部分组成。系统程序主要由主程序,显示程序和测温程序组成,该系统可以实现现场温度采集并显示,超过温度上限值自行降温,低于温度下限值进行自动加温的功能。由于采用智能型的温度传感器DS18B20作为测温元件,因此,与传统的测温电路相比,系统的硬件电路更为简单。关键字:温度传感器DS18B20;测温; 显示; 控制 Design of a Simple Temperature Control SystemAbstract: The temperature is one of the basic parameters of human living environment, temperature changes will have a great impact on peoples daily life, and therefore, measurement and control method research and improve the temperature has a very important significance, this paper mainly by the temperature sensor DS18B20 as the temperature measurement device, using LCD12864 as a liquid crystal display module, taking MSP430g2553 MCU as the processor and the alarm module four parts. System program is composed of main program, display program and measurement procedures, the system can realize temperature acquisition and display, over temperature upper limit to cool, over temperature lower limit value for automatic heating function. Because of using intelligent temperature sensor DS18B20 as the temperature sensor, therefore, compared with traditional system, the hardware circuit of the system more simple.Key words: DS18B20 temperature sensor; Temperature ; Display; Control绪论人类的生活环境中,温度扮演着及其中演的角色,人们无时无刻不与温度打交道。18世纪工业革命以来,工业的发展与是否掌握温度有着密切的联系,生产过程中的温度的控制效果直接影响到产品的质量。在传统的温度控制系统中,对于不同的场合,不同的工艺,所需温度的范围不同,精度不同,采用的测温元件,测温方法以及对温度的控制方法也不同。相同的环境,采用不同的测温器件,不同的测温方法,所得到的数据也有很大的差别,在生产环境较差或是温度较高的场合,为了保证生产过程的正常安全的进行,提高产品的质量和生产效率以及最大限度的减少工人的劳动强度和合理的利用资源,就要求对生产过程中的温度进行检测,显示,控制,使之达到人为的要求,因此,我们需要一个简单,高效,稳定,试用性好的控制系统。温度控制的发展大致经历了:(1)模拟,集成机械式温度控制器,(2)电子式智能温度控制器这两个阶段。目前国际上新型温度控制器正从模拟式向数字式,电子式由集成化向智能化,网络化的方向发展。现在基于单片机的温度控制系统在生产,生活以及节约能源等方面发挥了重要作用。近年来,国内基于单片机的温度控制系统在技术上得到迅速发展,性能不断完善,功能不断增强,适用范围也不断扩大,市场占有率逐年增长,进入21世纪后,智能的温度控制系统正朝着高精度,多功能,高标准,高可靠性及安全性,研制单片机测温控制系统等高科技的方向迅速发展。与国外相比,我国仍然处于起步晚,高度低,技术创新能力薄弱的情况,技术密集型产品明显落后于发达国家。因此,我们要在产品的科技含量上多努力,不断地提升产品的质量和科技含量,使产品向着更加智能化的方向发展,努力缩小同发达国家的差距。基于当前社会和科技的发展,智能化的控制系统越来越受到人们的亲睐,它即节省人力和物力,又安全可靠。单片机作为可编程的控制器在小型的自动控制系统中发挥出越来越大的作用。温度作为系统经常需要测量,保持和控制的一个物理量,在工业,农业和日常生活中都需要对温度进行检测和控制。以单片机为核心的温度控制系统是一个简单实用的温度控制系统,该温度控制系统具有控制参数设置方便,控制精度高,稳定性好,结构简单,价格低廉等优点。克服了传统控制的系统复杂,精度小,成本大的缺点,适于普遍性生产和应用,对人们的生活和生产效力的提高有很大作用。 本设计以MSP430g2553单片机为核心,采用DS18B20温度传感器作为测温器件,以LCD12864作为液晶显示,采用C语言编程的方式实现对水温的控制,适用于环境参数经常变化的小型水温控制电路。1 基本任务与设计要求1.1 水温控制系统概述本文介绍的是一个以MSP430单片机为控制核心的水温控制系统,此系统通过人为设定控制温度,主要采用DS18B20作为温度传感器,用LCD12864液晶作为显示模块,以MSP430单片机作为处理器,该系统应该具有现场温度采集并显示,超过温度上限值自行降温,低于温度下限值进行自动加温的功能,最终实现水温的恒定。该系统具有温度超调量小、调节时间短、静态误差小、测量精确、恒定温度与设定温度偏差小等优点,且控制方便、显示直观、性能稳定、可靠性高。1.2 设计任务与要求(1)系统的基本任务能用DS18B20检测出实时水温,并显示出实时温度值。(2)主要性能指标a.温度采集范围:温度采集范围为2080最小区分度为1;b.用液晶屏显示实际测得的水温;误差小于1;(3)扩展部分水温范围可由人工设定,并能在水温低于设定的最低限度时报警并加热,高于设定的最高限度时报警并降温。1.3 系统组成本系统是一个典型的检测、控制型应用系统,它要求系统完成从水温检测、信号处理、输入、运算到输出控制电热丝加热及风扇的转动以实现水温控制的全过程。因此,以430单片机为核心组成一个检测,控制系统,以满足检测、控制应用类型的功能要求。另外,单片机的使用特为实现水温的智能化控制以及提供完善的人机界面提供了可能。根据设计任务基本要求,本系统应具有以下基本功能:(1)可以实时显示水温实测值(或室内温度);(2)可以调整控制参数,满足不同控制对象与控制性能要求;(3)可以进行温度设定,并自动调节水温给定的温度值;(4)具有报警功能(水温超过设定范围,指示灯亮,蜂鸣器响);2 系统总体设计和方案论证2.1 系统总体设计框图本系统以MSP430单片机为核心,采用了温度传感器DS18B20测水温,用LCD12864显示器显示实测温度,以LED灯和蜂鸣器作为报警电路,采用风扇进行自动降温。2.1.1 系统总体设计过程框图 整体电路设计查资料软件和硬件的划分软件部分各模块的设计,修改硬件部分的设计,修改软硬件的结合,调试结束图1 设计过程框图 系统总体软件设计包括四部分:主机控制部分(MSP430)、温度采样部分、温度控制部分和显示部分。单片机基本系统2.1.2系统电路框图 显示电路传感器报警控制电路 图 2 水温控制电路总体框图2.2 设计思想 此次设计采用智能温度传感器DS18B20进行温度数据的采集,以单片机MSP430为数据处理核心,对采集的数据进行分析,处理,将处理的数据在传送到液晶显示屏LCD12864上显示实际测得的水温,由于温度传感器可以将采集的数据转换成二进制代码,只需一根数据线就可以传送数据,LCD12864无需译码器就可以显示汉字和字符,整个设计的外围硬件电路将大为简化,系统主要以软件来实现。2.3 温度采样部分方案论证2.3.1 方案一由于本设计是测温电路,可以采用热敏电阻之类的器件利用其感温效应,在将被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,其中还涉及到电阻与温度的对应值的计算,资源消耗较大,调试比较复杂。而且在对采集的信号进行放大时容易受环境温度的影响出现较大的偏差且过程比较复杂。采用热电偶采集温度,需要配备专门的芯片进行测温,成本较高,调试较复杂2.3.2 方案二考虑到用温度传感器,在单片机电路设计中,大多都是使用温度传感器,所以可以采用温度传感器DS18B20对水温进行采样,此传感器无需经行A/D转换,将采集的温度数据直接进行送人单片机进行处理,可以很容易直接读取被测温度值。DS18B20的温度测量范围为-55+125,固有分辨率为0.5,支持多点组网功能,多个DS18B20可以并联在一条三线上,实现多点测温,电路结构简单,精度高,而且使用单片机的接口便于系统的再扩展,满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠性高,软件设计也比较简单,故采用了方案二。 温度传感器DS18B20 图3 DS18B20的引脚和封装图引脚定义1:(1)DQ为数字信号输入/输出端;(2)GND为电源地线;(3)VDD为外界供电电源输入端(在寄生电源接线方式时接地)图4 DS18B20的内部结构图DS18B20 的主要特性:(1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电;(2)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯;(3)DS18B20 支持多点组网功能,多个DS18B20 可以并联在唯一的三线上,实现组网多点测温;(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(5)温范围55125,在-10+85时精度为0.5;(6)可编程的分辨率为912 位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温;(7)在9 位分辨率时最多在93.75ms 内把温度转换为数字,12 位分辨率时最多在750ms 内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC 校验码,具有极强的抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18B20温度数据的计算处理方法 从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。因为DS18B20的转换精度为912位可选的,为了提高精度采用12位。DS18B20 可以程序设定912 位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。在采用12位转换精度时,温度寄存器里的值是以00625为步进的,即温度值为寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。一个十进制值和二进制值之间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的小数部分。小数部分因为是半个字节,所以二进制值范围是0F,转换成了十进制小数值就是00625的倍数(015倍),可以精确到012。 DS18B20测温电路图下面就是DS18B20几个不同应用方式下的测温电路图3:(1) DS18B20寄生电源供电方式电路图图5 DS18B20寄生电源供电方式电路图如图5所示,在寄生电源供电方式下,DS18B20从单总线信号线上汲取能量:在信号线DQ处于高电平器件把能量储存到内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给节省电源(电容)充电。要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图5电路只适应于单一温度传感器测温情况下使用,不是一待用电池供电系统中。图6 DS18B20寄生电源强上拉供电方式电路图(2) 改进的寄生电源供电方式如上图图6为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10S内把I/O线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。 (3) DS18B20 的外部电源供电方式 外部电源供电方式如下图7所示,DS18B20工作电源由VDD引脚接入,此时I/O线不需要强上拉,不存在电源电流不足的问题,也是本设计选用的一种DS18B20工作方式,此方式可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器如下图 8所示,组成多点测温系统。图7 DS18B20的外部电源供电方式注意:在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85。 图8 外部供电方式的多点测温电路图外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证温度量精度。因此,我采用DS18B20外部电源供电的方式进行温度的测量。2.4 温度控制部分方案论证2.4.1 方案一采用STC89C51单片机作为主控芯片。STC89C51是一个超低功耗,高性能的51内核的CMOS 8位单片机,片内含8kB空间的可反复擦写1000次的Flash只读存储器,具有512bytes的随机存取数据存储器(RAM),32个IO口,两个16位可编程定时计数器,该系列的51单片机支持串口下载和串口调试,具有P1,P2,P3和使能端等40个引脚,由于该测温系统的显示LCD12864采用串口输入,且DS18B20的数据线只有一条,因此,采用STC89C51单片机会有很多端口没有用到,造成资源浪费。2.4.2 方案二采用美国德州仪器(TI)公司的16位单片机MSP430g2553。它是16位控制器,具有体积小、驱动能力强、可靠性高、处理能力强,运算速度快,超低功耗,片内资源丰富,方便高效的开发环境,结构简单等优点,并且MP430g2553只有20个引脚,足够本次设计的使用。因此,我采用方案二进行设计。 MSP430单片机介绍MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片机”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中。MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。MSP430的特点:(1)处理能力强:MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。(2)运算速度快:MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。(3)超低功耗:MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165A左右,RAM保持模式下的最低功耗只有0.1A。(4)片内资源丰富:MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5s。(5)方便高效的开发环境:MSP430 系列有 OTP 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OTP 型和 ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器。开发语言有汇编语言和C 语言4。 MSP430G2553特性图 9 MSP430g2553的引脚图低电源电压范围:1.8v至3.6v。超低功耗 运行模式: 230A (在1MHz 频率和2.2V 电压条件下)待机模式: 0.5A关闭模式(RAM 保持): 0.1A外部数字时钟源:具有两线制(Spy-Bi-Wire) 接口的片上仿真逻辑电路外部数字时钟源具:有两线制(Spy-Bi-Wire) 接口的片上仿真逻辑电路5表 1 MSP430g2553的引脚最好是protel绘制的原理图形式。使用说明引脚说明引脚说明VCC(J1)(J1)接DS18B20的VCCP1.7外接电热丝9VCC(J6)接LCD的VDDP2.1接DS18B20的DQP1.0接LDE(红)P2.3接LCD的RS(片选信号)P1.2接蜂鸣器(红)P2.4接LCD的RW(串行数据)P1.4接蜂鸣器(绿)P2.5接LCD的EN(同步时钟)9P1.5外接风扇GND(J6)接地P1.6接LDE(绿)2.5 数字显示部分方案论证:2.5.1 方案一采用七段数码管显示实际测得的温度,由于显示的水温位数较多,因此需要多个数码管,但是数码管不能显示汉字,还需要译码器进行译码,数码管才能显示数值,因此硬件电路比较复杂,且误差较大。LCD1602只能显示数字和字母,不能显示汉字,且屏幕较小,不能显示多行字符。2.5.2 方案二采用LCD12864液晶进行数值显示,该液晶显示模块不仅可以显示汉字,还可以显示日期时间和其他的信息,分辨率高,具有灵活的接口方式和简单、方便的操作指令,低功耗。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。因此我们采用方案二。 LCD12864液晶显示屏中文资料 图10 LCD12864的实物图带中文字库的128X646 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84 行1616 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。基本特性:(1)低电源电压(VDD:+3.0-+5.5V)(2)显示分辨率:12864 点(3)内置汉字字库,提供8192 个1616 点阵汉字(简繁体可选)(4)内置128 个168 点阵字符(5)2MHZ 时钟频率(6)显示方式:STN、半透、正显(7)驱动方式:1/32DUTY,1/5BIAS(8)视角方向:6 点(9)背光方式:侧部高亮白色LED,功耗仅为普通LED 的1/51/10(10)通讯方式:串行、并口可选(11)内置DC-DC 转换电路,无需外加负压(12)无需片选信号,简化软件设计(13)工作温度: 0 - +55 ,存储温度: -20 - +60表 2 LCD12864的引脚使用说明引脚名称说明1VSS模块的电源地2VDD模块的电源正端3VO对比度(亮度)调整 高电平4RS(CS)H/L 并行的指令/数据选择信号;串行的片选信号5RW(SRD)H/L 并行的读写选择信号;串行的数据口6EN(CLK)H/L 并行的使能信号;串行的同步时钟18VOUTLCD驱动电压输出端(3脚和18脚之间连接一个电位器)19LED_A(LED+5V) 背光源正极20LED_K(LED-OV) 背光源负极3 系统的软件设计本系统的软件系统主要可分为主程序、DS18B20获取温度程序、LCD12864显示程序三大模块。下面对部分模块分作介绍。3.1 主程序和流程图开始3.1.1 主程序流程图 系统初始化LCD12864初始化DS18B20初始化I/O端口初始化获取温度函数 MSP430数据处理 YLCD是否显示实测温度 N Y图11 主程序流程图流程有问题,应该是判断温度高低,分别开风扇,或加热。IO端口初始化少一个字3.1.2 系统主程序:void main(void) Ini_Lcd(); / 初始化液晶 DS18B20_Init(); /初始化DS18B20temp_num = Read_Temp(); /读取温度Str_Foramt(temp_num); /计算温度值Disp_Numb(uint temper); /显示温度void Araml(uint temp); /报警 控制系统显示效果如图12所示: 图12 系统的显示效果开始3.2 LCD12864显示程序流程图 LCD初始化设置显示字符初始位置和个数向液晶输入显示字符的坐标写入显示字符写入使能命令 显示是否完整 改变字符坐标 N Y返回 图13 LCD12864显示程序流程图有判断吗?LCD12864的基本显示程序如下所示:#define cyCS 3 /P2.3,片选信号#define cySID 4 /P2.4,串行数据 #define cyCLK 5 /P2.5,同步时钟#define cyPORT P2OUT #define cyDDR P2DIRuchar dN6;const uchar h0 = 延安大学 温设计; const uchar h1 = 物理电子信息学院;const uchar h3 = 当前测得温度为:; uchar h4 = ;const uchar *ptr10;void main(void)WDTCTL=WDTPW+WDTHOLD; /关掉看门狗 BCSCTL1 = CALBC1_8MHZ;/MCLK为DCO,8MHZ DCOCTL = CALDCO_8MHZ;/初始化指针数组 ptr0 = h0; ptr1 = h1delay_Nus;/延时Ini_Lcd(void);/初始化液晶Send();/向液晶发送数据Clear_GDRAM();/消除液晶内的随机数据Disp_HZ(); /显示汉字LCD12864显示效果如图 14所示:图14 LCD12864的显示能否换张清晰一点的?效果3.3 DS18B20获取温度程序流程图 开始传感器初始化开始传 初始化成功否 发送温度转换命令延时读取温度转换结果 将二进制温度转换成可显示的十进制 N 显示温度低于最低限度(加热)超过最高限度(降温)是否超过设定温度范围 Y Y返回 N 图15 DS18B20获取温度获取温度需要判断吗?这是主流程的事。程序流程图DS18B20获取温度程序如下所示:#define DQ1 P2OUT |= BIT1 /DS18B20接口为P2.1口#define READ_DQ (P2IN&DQ)/读DQ电平Init_DS18B20() ;/DS18B20初始化WriteOneChar();/写一个字节ReadOneChar();/读一个字节ReadTemperature();/读取温度值DS18B20获取温度的显示效果如图16所示:图16 DS18B20的测温效果3.4 温控报警程序流程图 开始LED 初始化蜂鸣器初始化调用显示子程序是否超过警戒温度 降温加热 Y(过高) Y(过低) N报警 N报警返回图17 温控报警程序流程图温控报警程序:void Araml(uint temp) if (temp3000)/高于XX 报警 P1OUT |= (BIT0); /P1.0红灯亮 P1OUT |= (BIT2);/P1.2蜂鸣器响 P1OUT |= (BIT5);/P1.5开风扇 else if (temp2500)/低于YY报警 P1OUT |= (BIT4);/P1.4蜂鸣器响 P1OUT |= (BIT6);/P1.6绿灯亮 P1OUT &= (BIT5);/P1.5关风扇 P1OUT |= (BIT7);/P1.7加热 else P1OUT &= (BIT0); P1OUT &= (BIT2); P1OUT &= (BIT4); P1OUT &= (BIT5);/P1.5关风扇 P1OUT &= (BIT6); P1OUT &= (BIT7);/P1.7不加热 温控报警显示效果如图18所示: 图 18 温控报警显示4 系统调试4.1 主控芯片MSP430g2553的测试(1)把MSP430用自带的连接线连接到电脑上,从官网上下载一个让红灯(P1.0)闪烁的程序用于检测430的开发板是否能够正常工作,红灯(P1.0)闪烁证明开发板是好的。如图19所示附程序(红灯闪烁):#include void main(void) volatile unsigned int i; / Volatile to prevent removal WDTCTL = WDTPW + WDTHOLD; / Stop watchdog timer BCSCTL3 |= LFXT1S_2; / LFXT1 = VLO,一般VLO为12K IFG1 &= OFIFG; / Clear OSCFault flag _ BCSCTL2 |= SELM_3 + DIVM_3; / MCLK = LFXT1/8 P1DIR = 0xFF; / All P1.x outputs,设置输出方式 P1OUT = 0; / All P1.x reset,置0 P2DIR = 0xFF; / All P2.x outputs P2OUT = 0; / All P2.x reset for (;) P1OUT |= 0x01; / P1.0 set,置1,点亮发光管 for (i = 100; i 0; i-); / Delay 1倍关系 P1OUT &= 0x01; / P1.0 reset,置0,关闭发光管 for (i =400; i 0; i-); / Delay 4倍关系 图19 验证开发板是否受损的测试(2)把MSP430官网上的例程下载到开发板里,用示波器检测相应端口的输出电平,频率和波形变化,已验证开发板是好的。如图20所示图20 验证开发板是否受损的示波器测试4.2 LCD12864的调试连接LCD12864和开发板,接通电源,观察液晶显示屏是否有相应显示。刚开始背光太亮,没有字符输出,在第3和第18引脚之间加电位器用于调节LCD的对比度,当电位器的电阻值适当时,屏幕上有相应字符显示,且清晰可见。但有时屏幕会出现乱码,可能是由于相邻引脚的连线互相接触造成的,重新连线或是复位后才能正常显示。如图21所示 图21 验证LCD是否正常显示的调试4.3 DS18B20的调试将DS18B20按程序引脚要求连接到开发板上,接通电源,刚开始液晶屏上没有正常的温度数值显示,温度显示部分为乱码。检查开发板和液晶显示屏并没有出错,确定是温度检测部分有问题,先检查硬件电路,确定各个引脚均连接正确,且任意两个引脚没有相连。因此是软件部分出问题了,用示波器观察DQ的输出波形和用IAR进行单步调试后发现,是主控芯片的主频与DS18B20的时钟周期与不匹配,修改主控芯片的主频后,显示屏上显示出正常的温度值。如图22所示 图22 验证DS18B20是否正常的调试4.4 总系统的调试 在系统以上三个模块都正常工作的情况下,将各模块和报警控制模块依次连接,接通电源,LCD显示正确时改变DS18B20的测温环境,观察液晶屏上的温度数值是否随环境温度的改变而改变,当超出警戒温度时,指示灯亮,蜂鸣器响。4.4.1 上限温度测试 接通电源,液晶屏显示的应该是当前的室温,但实际上显示的是乱码,验证程序无误后,仔细检查连线,发现LCD12864的两个引脚线相互接触导致显示错误,及时修改错误后,显示正常。然后将DS18B20置于热水中,液晶屏上的温度数值开始上升,当超过设定温度上限(30度)时,红灯亮,蜂鸣器响进行报警,风扇自行转动进行降温。如图23所示 图23 整体系统超过温度上限的调试4.4.2 下限温度测试将DS18B20置于冷水中,液晶屏上的温度数值开始下降,当低于设定温度下限(25度)时,绿灯亮,蜂鸣器响进行报警。如图24所示图24 整体系统低于温度下限的调试5 课程设计总结此次简易温度控制系统的设计过程中遇到的问题和解决办法:在实现温度的显示过程中由于采用LCD12864进行显示,开始液晶显示屏只是背光灯亮,而没有显示汉字或是数字,刚开始以为是显示程序有问题,后来在显示屏的第三与第十八引脚之间加了一个电位器用于调节背光的强弱,当电阻值适中时,屏幕上有汉字显示。但是,由于背光太强,以至于要显示的汉字和数值看不清楚,我多次调解显示屏背光强弱的电位器,效果甚微,更换LCD12864后显示正常。在用DS18B20采样温度数据时,刚开始尽管测量环境的温度在变化,但是只显示一个温度值,用示波器观看DQ的输出波形和用IAR进行调试后发现是MSP430g2553的时钟周期和DS18B20的采样周期不匹配,改变主程序的主频后,温度显示正常。设计心得: 此次课程设计是以MSP430G2553单片机为核心,以DS18B20温度传感器为测温器件,以 LCD12864为显示,主要采用软件编程的方法来实现对温度的检测.控制和显示。在系统的编程过程中遇到了很多问题, 首先是不熟悉MSP430系列单片机的开发环境,对所用单片机不了解,如:不知道如何建立一个工作区间,创建工程。对MSP430g2553的开发板不熟悉,不了解板上的资源,对g2553芯片的各个引脚功能不清楚等。在编程过程中遇到了许多的错误,比如:语法错误,有些函数没有定义,在调用函数经常出现错误等,在实际的调试过程中,对所用器件的性能不太了解,导致多次调试也没有达到预期效果。本次设计涉及到了一系列软件编程与硬件相匹配的技术,其中,硬件部分是基础,软件部分是控制的灵魂,只有硬件与软件相结合才有可能得到预期的结果。本次设计按照设计要求已基本的完成了设计任务,但是仍然有许多不足之处。由于时间有限,在水温的控制部分只是采取了简单的上下限温度设定,而没有采用更为科学和精确的控制算法(PID)来控制水温的变化,使系统的误差尽可能的减小。通过本次设计,让我对MSP430,DS18B20、IAR编译环境、C语言有了更深入的理解和掌握,让我可以将理论运用于实践当中。在设计与制作的过程中,遇到了很多困难,但通过找出问题,仔细分析问题,最后解决了问题。在这个过程中我深刻的体会到实践的重要性,并且提高了自己独立分析、解决问题的能力。因此,在以后的学习中要更加重视实践学习的重要性,我们不能只停留在课本上,而是要理论与实践相结合,相互补充,不断的提高自己的实际动手能力。同时要不断地深入学习,使自己的理念更加完善,使自己的设计更加合理科学。当今社会,科学技术日新月异,信息技术革命的深入和计算机技术的飞速发展,时代前进的步伐越迈越宽,虽然这是人类科技的进步,但是对于我们大学生,触动还是很大的,我们也希望依靠我们的智慧和毅力,对人类社会有所贡献。抄的就取消了吧参考文献:1 微对齐控设计网 .DS18B20数字温度传感器应用详解EB/OL,2011 /tech/sheji/83140.html2 倪天龙.单线数字温度传感器的原理与应用J.电子技术应用,2010,4(6):66-88.3 Dallas semiconductor inc.DS18B20 Programmable Resolution 1-Wiire Digital Thermometer Z .2010.4 洪利,章扬.MSP430单片机原理与应用实例详解M.北京航空航天大学出版社,2010.5 TexasInstrumentsIncorporated.Stellaris MSP430g2553 MicrocontrollerEB/OL.2010网址或改类型.6 谭婕娟.液晶显示模块MGLS_12864的接口技术及其应用J .电子设计工程, 2011,12(7):23-25.7 秦龙.MSP430单片机C语言应用程序设计实例精讲M. 电子工业出版社,2009.8 张福才.MSP430单片机自学笔记M. 北京航空航天大学出版社,2011.9 胡大可.MSP430系列单片机C语言程序设计与开发M. 北京航空航天大学出版社,2010.10 周立功.IAR使用指南J.东南大学学报(自然科学版).2010,8(23):89-91.太搞笑了吧? 11 谭浩强.C程序设计M.清华大学出版社,2009.谢辞 大学四年如白驹过隙,回首四年的大学生活,那一暮暮难忘的时刻依然记忆犹新。大学四年,四年大学,在大学的四年里,我们不仅仅是学习四年,更是学会为人,处事的

温馨提示

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

评论

0/150

提交评论