1、本科毕业论文(20 届)基于 MSP430F149 的温湿度记录仪的设计所在学院 专业班级 电子信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 郑重声明本人的毕业论文(设计)是在指导教师的指导下独立撰写完成的。如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。特此郑重声明。毕业论文(设计)作者(签名):年 月 日I摘 要 市场上已有温湿度记录仪电池使用时间短、功能单一,本设计通过软、硬件的优化来实现低功耗。硬件主要由超低功耗单片机 MSP430、传感器 SHT10、段码液晶、串口 MAX3232 和
2、 AT45DB161 Flash 等器件组成。软件方面主要通过定时器产生一秒中断方式,使其进行温湿度的采集、显示和存储。记录仪具有数据存储大、功耗低、能和 PC通信、性价比高等特点。研究结果表明,该仪器具有长时间记录温湿度,使用方便,性能可靠,当温度到达上限实现报警的功能。关键词 MSP430 温湿度记录仪 功耗低IIThe Design of temperature and humidity recorder Based on the MSP430Abstract On the market,there has been a lot of problems of temperature an
3、d humidity recorder, such as single function, short battery life ,a kind of recorder based on MSP430 single chip was presented.The instrument through the soft and hardware to achieve low power consumption function. The hardware is mainly composed of low power microcontroller MSP430, sensor SHT10, Fa
4、ult code liquid crystal, serial port MAX3232 and Flash AT45DB161.Software mainly through the timer generating a second interrupt mode and the power using query mode.The temperature and humidity recorder can realize the data acquisition, display and storage. It has the merits of big data storage volu
5、me, low power consumption,PC communication and high performancecost ratio. The results indicate that the device can long time record temperature and humidity. it is convenient in use and stable in performance.Besides,when the temperature reaches upper limit,the buzzer will sound.Key words MSP430F149
6、 Temperature and humidity recorder Low power1目 录摘 要 .IABSTRACT .II2 背景介绍 .12.1 选题背景 .12.2 研究的目的及意义 .13 温湿度记录仪各模块的介绍 .13.1 单片机 MSP430 .23.2 串口 MAX3232 .23.3 FLASH AT45DB.33.4 时钟 DS1302 .33.5 LCD 液晶显示器 .33.6 温湿度传感器 SHT10 .43.7 本章小结 .44 温湿度监测的硬件设计 .44.1 msp430 的外围电路 .44.2 电源电路 .54.3 通信电路 .54.4 时钟电路 .64
7、.5 存储电路 .64.6 显示电路 .74.7 报警电路 .84.8 Altium Designer 的介绍 .85 温湿度监测的软件设计 .105.1 程序流图 .105.2 MSP430 的开发软件 .106 问题发现和解决 .1126.1 程序问题 .116.2 硬件问题 .126.3 本章小结 .127 总结 .12参考文献 .13致 谢 .14附 录 .151基于 MSP430F149的温湿度记录仪1 引言日常生活和工业生产都离不开温湿度,因此人们发明了很多仪器去测量它们,并且经历了长久的发展过程,从很久以前的长度测量方法以及干湿测量方法,到现在的电测量方法,温湿度测量技术已经一步
8、一步的趋于成熟。但是这些测量方法仍存在一些缺点和不足,不能满足我们现在对温湿度测量的要求,尤其是一些场所,要求实时测量并记录其全过程,并且超过温度上下限时报警,这些导致了新的温湿度记录仪的产生。该仪器温湿度参数是由温湿度传感器SHT10获得的,其值为数字量,直接按预先设定的时间间隔将温湿度参数储存到内部的Flash中。在完成存储后,如果将其与PC机相连, PC将向记录仪发送相应的指令,产生中断,此时记录仪将数据上传PC,再对数据进行整体分析,采取相应措施。它能够长时间的记录环境或被测对象的温度,工作温度范围广,满足通用性。在气温监测,货物存储、实验过程等方面有很重要的作用。2 背景介绍 2.1
9、 选题背景1592年,意大利人Galileo创造了最早的温湿度测量仪。他在一个容器中,倒入一定量的液体,倒置了一个有细长颈的器皿,为了使液面上升到细颈内,从长颈器皿中抽出一部分空气。由于气体的热胀冷缩现象,长颈内的液面将随着外界温度的变化而变化,因此温湿度的高低就反映到液面的升降上,但是这个测量器是没有刻度的,在应用上受到限制。荷兰人华伦海特于 1714 年制定了华氏温标,这是历史上最早出现的温标,华氏温标单位用“”来表示,也读作华氏度。0 华氏度是由一定浓度的盐水变为固体时的温度规定的,32 华氏度、212 华氏度分别是由纯水变为固体时的温度和 101300 帕斯卡气压下水急剧转化为气体的温
10、度规定的。 瑞典的 Anders Celsius 于 1742 年创立了另一种温标,制成了水银温湿度计,温湿度记录仪以水转化为气体的温度作为 0 度,以水的凝固温度为 100 度。1745 年,瑞典科学家 Linnaeus 研制了摄氏温湿度计,他是将 Anders Celsius 的水银温湿度计的冰点和沸点这两个温度点颠倒过来制成的。1802年,出现了查理斯定律,即在恒压一定量气体的体积随绝对温度的上升而上升。反之,一定体积的气体,压力与开尔文温度变化的趋势相同。当 Charles 定律出现后,气体温湿度计也有了相应的提升,相比较水银温湿度计,气体温度计的效果无论在测温范围方面还是在精确度上,
11、都超过前者。1821年,德国的塞贝克发现热电效应,即温差与电压相互转换的现象。于是就出现了热电偶温湿度计。英国的 Dawid 在同一年里发现了温湿度影响电阻的规律,再此之后热电阻温湿度计随之产生。2.2 研究的目的及意义在测量范围内,温度、湿度是一对很重要的参数,无论是人们生活的环境还是工业生产、农作物的生长都需要对温度和湿度进行适时准确的测量,以保证能源的节约和各行各业安全健康的发展。随着科学技术的迅猛发展,测量领域内对温湿度的检测也取得飞速发展,其水平直接影响人类的各种活动。利用单片机对温湿度控制,具有很多优点,如高精度、小体积、多功能、低价格、易操作等,极大的满足了生产生活的需求。3 温
12、湿度记录仪各模块的介绍3.1 单片机 MSP430本设计考虑到低功耗的需求选用了 MSP430f149 作为主控制器。MSP430 系列是所有主流单片2机芯片中能耗最低的。其在一个芯片上集成了中央处理器和许多模拟、数字电路,提供了单片解决的方案。其具有超低功耗、体积小、功能强的优点,得到广泛应用。单片机 MSP430 的优点如下:(1)功耗低。单片机 MSP430 工作电压范围为 1.83.6V,有一种活动模式,耗电电流为250uA;有五种低功耗模式, 0.1uA 为 RAM 保持模式下的耗电电流,0.7uA 为实时时钟模式下的电流。输入输出口的最大漏电流仅为 50nA。(2)MSP430 单
13、片机集成的片内外设较为丰富,为简化设计提供了很大的方便。这些外设包括看门狗、模拟比较器 A、定时器 A、定时器 B、串口 0/1、乘法器、IIC 串口总线、10 位/12 位模数转换器、端口 16、基本定时器等模块。(3)处理能力强大。16 位单片机 MSP430 系列,采用了目前最流行的精简指令集结构,指令数目少,其指令执行周期为一个时钟周期。(4)系统能够长时间稳定工作。数字控制振荡器 DCO 是该系列默认的内部集成振荡器,单片机复位后,为使程序从正确的地方开始运行,确保晶体振荡器的起振和稳定时间充足,CPU 应首先由 DCO 启动。系统工作的时钟频率,可由软件来设置,通过改变寄存器相应的
14、控制位设定适当的频率。为保证系统工作正常和运行的稳定性,在 DCO 用作 CPU 时钟的过程中,如果出现问题,数字控制振荡器会自动开启。(5)开发环境方便,效率高。MSP430 系列有三种类型,即 Flash 型、ROM 型、OTP 型,Flash 型单片机应用广泛。不同类型的单片机开发方法不相同,Flash 型单片机的开发和调试环境很方便,因为器件片内集成了可电擦写的 Flash 存储器及 JTAG 调试接口,所以,在一个软件集成环境中,可以运行所有编译和调试过程。使用方法是将程序从 JTAG 调试接口下载到存储器中,控制系统运行。要想读出片内中央处理器的状态,也要由该调试接口控制程序进行操
15、作。这种方式不需要专门的编程器和仿真器,只需要一个 JTAG 调试器和 PC 机,使用简单方便。而 ROM 型和 OTP型的 MSP430 系列是由专门的仿真器开发的,开发完之后再烧写或掩摸的一种芯片。以下是 MSP430f149 和 89C51 单片机性能的比较。(1)十六位 MSP430f149 单片机,其指令使用的是精简指令集( RISC ),指令相对较少,有 27 条指令。其中,大多数为模拟指令,很多片内 Flash 和寄存器都可参加程序的执行。由于这27 条指令均为单周期的指令,所以运行速度快。相比较而言,八位 89C51 使用的是复杂指令集( CISC ),指令较多,有 111 条
16、指令且运行速度慢。(2)MSP430f149 是十六位的开放性架构,经过转换还能使总线变为八位的,所以对这样的基本结构而言,无论外接八位,还是十六位的模块,或者扩展模数转换或数模转换模块也是很方便的。对于 89C51,由于 89C51 系列的片内总线为八位,所以内部的模块基本上也都是八位的。又由于受其内部性质的影响,内部模块虽然有了一定的增加,但是如果增加模拟功能的部件,仍显得困难。这使得 MSP430f149 的产品及功能部件迅速增加。(3)在功耗方面,89C51 系列单片机比 MSP430f149 消耗的功耗多。89C51 正常运行的电源电压为 5V,有待机方式(系统时钟还在运行)和掉电方
17、式(停止包括系统时钟的所有工作)两种低功耗模式。在正常运行情况下,电流消耗为 24mA;对于后者,一些模块也要消耗电流 3mA 左右。但是,为了保存 89C51 单片机内 RAM 中的内容,即便是停止所有工作,单片机所需电压能降到 2V 时,也需要提供电流约 50uA 。所以,MSP430 要比 89C51 更适合应用于电池供电装置或系统中。(4)在开发工具方面。对于 MSP430f149 来说,采用了 JTAG 技术和 Flash 型存储器,使开发工具变得既简便又低廉,同时也能够实现在线编程。而 89C51,很早进入中国市场,使用者对它相对了解,所以有很多开发工具被创造出来。但是仍存在一个很
18、大的问题,即如何实现在线编程。3.2 串口 MAX3232串口 MAX3232 的输出级使用的是输入和输出的电压差值,为了能够实现真正的 RS-232 的功能,输出电平保持 RS-232 的电平,必须使电源电压在 3.0V 到 5.5V 之间。MAX3232 具有两个发送端和两个接收端,具有关断模式,电流仅为 1uA,有效的降低了功率的消效并延长了电池的使用时3间。在关断模式下,串口 MAX3232 仍对芯片外设进行监测,接收端口仍保持有效的电平。当芯片传输数据的频率过于频繁时,串口仍就能实现 RS-232 规定的电压+5.0V 和-5.0V。只要输入电压在3.0V 到 5.5V 范围内,即可
19、提供输出正负电压 5.5V。如果串口输出电压低于 5.5V,且工作在非连续模式下,就会开启电荷泵(开关电容式电压变换器) ;如果串口电压高于 5.5V,就会关闭电荷泵。 3.3 FLASH AT45DB 存储芯片选用了 Nand-Flash 系列。存储芯片现在流行 TF 卡,TF 卡可以方便拔插,但是功耗比 Nand-Fash 系列高不少。本设计选用了 AT45DB161D,其有三种工作模式,典型待机电流为25uA,典型掉电电流为 9uA,典型读取电流 7mA。存储器为八管脚的芯片,主要有片选端 (/CS) 、电源(VCC) 、 串行输入(SI) ,写保护(WP) 、串行输出(SO)和串行时钟
20、(SCK)等管脚。AT45DB161D 是具有串行接口、运行电压为 2.5V 或 2.7V 的 Flash 存储器,能够存储各种数字语音,图像,程序代码等。AT45DB161D 适用于要求高速操作的场合。存储器串口与 SPI 兼容,存储速率能够达到 66MHz。AT45DB161D 的存储地址分为页、块、扇、片。总容量为 17301504 位,主存储器为 4096 页,512 或 528 字节定义为一页。与以前的存储器不同,此存储器串行口顺序访问数据,而不是采用总线分时复用或并行传输的方式。顺序访问比并行接口节省了很多引脚,充分利用了芯片的资源,有助于硬件设计,提高了系统工作的稳定性。 AT4
21、5DB161D 在要求引脚数低、电压低、功耗低以及容量高的场合 是最佳的选择。存储器 AT45DB161D 读取操作、重复编程操作的工作电压都为 2.5V 至 3.6V 或 2.7V 至 3.6V,而并不需要高输入电压来支持,为设计者提供了极大的方便。3.4 时钟 DS1302随着科学技术的提高和人们生活水平的不断改善,测量时间的准确性也越来越重要。记录、显示时间的仪器在人们的努力下,也得到了提升。从电子仪表到数字时钟,测量工具逐步改进,计时更加可靠,更加准确。在由单片机构成的系统中,实时时钟是必不可少的器件。现在大多数实时时钟,通常使用单片机的定时器设定初值,溢出后产生中断的方法实现,这种方
22、式既需要采用计数器,又使用软件编程,耗费了单片机很多资源,而且需要选择中断或查询方式,同时在一些系统中或许不可以采用中断;有的系统为了满足对时钟芯片的要求,则使用并行接口芯片,如MSM5832、DS12C885 等,它们虽能满足系统对实时时钟的要求,但这些芯片存在很大缺点,如并行接口的芯片与单片机连接的接口繁琐、芯片占用空间大、占用数据位和地址位接口多,给整个系统带来不便。 此温湿度记录仪的数字时钟是由串行实时时钟 DS1302 和 MSP430 同步通信构成的。其 3-wire 结构节省了 MSP430 很多能源,减少了不必要的消耗。而且,电路掉电后,时间和数据等重要内容仍然不会消失。这些特
23、点拟补了普通时钟芯片具有的缺点,该时钟电路可靠性和准确性有了很大提高,适用于要求比较高的场合,优越性明显高于其它时钟芯片,在很多自动化控制、无人的测控系统等领域,具有较高的使用价值。 时钟芯片 DS1302,能与单片机进行同步串行方式的通信,其内部内含有一个实时时钟和 31 字节数据暂存存储器,仅需用到三根线进行数据的控制和传递,即 SCLK 串行时钟,RES 复位,输入输出数据线。实时时钟能提供日、时、分、秒、月、年的精确信息,根据每月的天数和闰年、平年的天数,时钟可自动做出调整。也可通过对时钟进行设置,决定使用 24 小时模式还是使用 12 小时模式。DS1302 工作电压范围 2.05.
24、5V,当电压为 2V 时,能保存时钟和数据信息,且电流小于 300 纳安,也就是说率小于 1 毫瓦,因此功耗很低。 3.5 LCD 液晶显示器LCD 液晶显示器的整体是由上下两个玻璃板构成的,在两块板之间设置液晶盒,LCD 液晶下层板放置薄膜晶体管,在上层板中,放置彩色滤光片。LCD 液晶分子的运动趋势由薄膜晶体管上的电压和信号的改变决定,由此决定每一个像素点偏振光被过滤掉还是射出,从而显示出想要显示的效果。LCD 液晶显示器的优点是显示的内容多,控制简单,功耗低,可以显示字符、图片等内容;缺点是显示器本身不会发光,而是根据背光来达到显示的目的,并且价格也不便宜。相比于 LCD液晶屏,LED(
25、二极管)的优点是液晶本身会发光,所以从远处能够看清屏上的内容,而 LCD 则4不能看清,并且其价格比 LCD 要低;缺点是显示的内容少,一般是数码,而且很耗电,控制复杂。基于本设计低功耗的设计理念,并且对发光亮度没有要求,应选择 LCD 显示屏。芯片的驱动器使用的是功能强大并且可以编程的 HT1621,可驱动很多种显示器,其中包括有效电平时间与总周期之比为 1/2、1/3 和 1/4 的,偏置比为 1/2 或 1/3 的显示器。驱动芯片内有 128位显示 RAM,可以选择低功耗的运行模式,适用于本设计所选的 LCD 模块和 HT1621 模块组成的显示系统。HT1621 正常工作电压为 2.4
26、V 到 2.5V,内部设有振荡器(频率 256kHz) ,外部有时钟(频率 256kHz)或者晶体振荡器(频率 32kHz) 。3.6 温湿度传感器 SHT10考虑到功能要求和功耗要求选用了 SHT10 温湿度传感器,该传感器为输出数字量的集成器件,是由瑞士 Sensirion 公司推出。传感器的组成包括两个部分,即 1 个测温元器件以及 1 个测湿元器件,能同时实现测量温湿度的要求,并且在同一芯片上,结合串行接口电路和 14 位模数转换器。这些器件不仅使该产品具有性价比高的优点,而且反应快、功耗低,使其成为首选产品。SHTl0 具有很多优点,体积小,精度高,数字输出等特点给设计者带来很大方便
27、。3.7 本章小结本章主要对温湿度记录仪各模块的结构和功能特点做了简单的介绍,从中可以看出都采用了超低功耗的器件,使整个系统将功耗降到最低。4 温湿度监测的硬件设计温湿度记录仪的整体结构框架如图 4-1 所示,记录仪由 Flash 存储器、外部时钟、电源电路、报警器、温湿度传感器、液晶显示、MSP430 单片机等模块组成。并且能够与 PC 机通信,将数据传送到 PC,再进行分析综合,有助于对整体趋势的把握。图 4-1 温湿度记录仪的整体框架4.1 MSP430 的外围电路MSP430及其外围电路如图4-2所示,单片机周围有晶振电路、复位电路、电源电路。MSP430外接了一个32768HZ的晶振,芯片内部的工作频率通过倍频提供,每条指令的执行周期为125ns。