ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:904KB ,
资源ID:4927418      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4927418.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MSP430F149的温湿度记录仪的设计.doc)为本站会员(wo7103235)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于MSP430F149的温湿度记录仪的设计.doc

1、邯郸学院本科毕业论文(设计)题  目  基于 MSP430F149 的温湿度记录仪的设计学  生  指导教师  年  级  专  业  电子信息工程二级学院  信息工程学院邯郸学院信息工程学院年 月I摘 要  市场上已有温湿度记录仪电池使用时间短、功能单一,本设计通过软、硬件的优化来实现低功耗。硬件主要由超低功耗单片机 MSP430、传感器 SHT10、段码液晶、串口 MAX3232 和 AT45DB161 Flash 等器件组成。软件方面主要通过定时器产生一秒中断方式,使其进行温湿度

2、的采集、显示和存储。记录仪具有数据存储大、功耗低、能和 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 and humidity recorder, such as single fu

3、nction, 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, Fault code liquid crystal, serial port M

4、AX3232 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 volume, low power consumption,PC communica

5、tion 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 Temperature and humidity record

6、er Low power1目 录摘 要 IABSTRACT II2 背景介绍 .12.1 选题背景 12.2 研究的目的及意义 13 温湿度记录仪各模块的介绍 .13.1 单片机 MSP430 .23.2 串口 MAX3232 23.3 FLASH AT45DB33.4 时钟 DS1302 .33.5 LCD 液晶显示器 33.6 温湿度传感器 SHT10 43.7 本章小结 44 温湿度监测的硬件设计 .44.1 msp430 的外围电路 .44.2 电源电路 54.3 通信电路 54.4 时钟电路 64.5 存储电路 64.6 显示电路 74.7 报警电路 84.8 Altium Desi

7、gner 的介绍 85 温湿度监测的软件设计 105.1 程序流图 .1025.2 MSP430 的开发软件 106 问题发现和解决 116.1 程序问题 .116.2 硬件问题 .126.3 本章小结 .127 总结 12参考文献 .13致 谢 .14附 录 151基于 MSP430F149 的温湿度记录仪1 引言日常生活和工业生产都离不开温湿度,因此人们发明了很多仪器去测量它们,并且经历了长久的发展过程,从很久以前的长度测量方法以及干湿测量方法,到现在的电测量方法,温湿度测量技术已经一步一步的趋于成熟。但是这些测量方法仍存在一些缺点和不足,不能满足我们现在对温湿度测量的要求,尤其是一些场所

8、,要求实时测量并记录其全过程,并且超过温度上下限时报警,这些导致了新的温湿度记录仪的产生。该仪器温湿度参数是由温湿度传感器SHT10获得的,其值为数字量,直接按预先设定的时间间隔将温湿度参数储存到内部的Flash中。在完成存储后,如果将其与PC机相连, PC将向记录仪发送相应的指令,产生中断,此时记录仪将数据上传PC,再对数据进行整体分析,采取相应措施。它能够长时间的记录环境或被测对象的温度,工作温度范围广,满足通用性。在气温监测,货物存储、实验过程等方面有很重要的作用。2 背景介绍 2.1 选题背景1592年,意大利人Galileo创造了最早的温湿度测量仪。他在一个容器中,倒入一定量的液体,

9、倒置了一个有细长颈的器皿,为了使液面上升到细颈内,从长颈器皿中抽出一部分空气。由于气体的热胀冷缩现象,长颈内的液面将随着外界温度的变化而变化,因此温湿度的高低就反映到液面的升降上,但是这个测量器是没有刻度的,在应用上受到限制。荷兰人华伦海特于 1714 年制定了华氏温标,这是历史上最早出现的温标,华氏温标单位用“”来表示,也读作华氏度。0 华氏度是由一定浓度的盐水变为固体时的温度规定的,32 华氏度、212 华氏度分别是由纯水变为固体时的温度和 101300 帕斯卡气压下水急剧转化为气体的温度规定的。 瑞典的 Anders Celsius 于 1742 年创立了另一种温标,制成了水银温湿度计,

10、温湿度记录仪以水转化为气体的温度作为 0 度,以水的凝固温度为 100 度。1745 年,瑞典科学家 Linnaeus 研制了摄氏温湿度计,他是将 Anders Celsius 的水银温湿度计的冰点和沸点这两个温度点颠倒过来制成的。1802年,出现了查理斯定律,即在恒压一定量气体的体积随绝对温度的上升而上升。反之,一定体积的气体,压力与开尔文温度变化的趋势相同。当 Charles 定律出现后,气体温湿度计也有了相应的提升,相比较水银温湿度计,气体温度计的效果无论在测温范围方面还是在精确度上,都超过前者。1821年,德国的塞贝克发现热电效应,即温差与电压相互转换的现象。于是就出现了热电偶温湿度计

11、。英国的 Dawid 在同一年里发现了温湿度影响电阻的规律,再此之后热电阻温湿度计随之产生。2.2 研究的目的及意义在测量范围内,温度、湿度是一对很重要的参数,无论是人们生活的环境还是工业生产、农作物的生长都需要对温度和湿度进行适时准确的测量,以保证能源的节约和各行各业安全健康的发展。随着科学技术的迅猛发展,测量领域内对温湿度的检测也取得飞速发展,其水平直接影响人类的各种活动。利用单片机对温湿度控制,具有很多优点,如高精度、小体积、多功能、低价格、易操作等,极大的满足了生产生活的需求。23 温湿度记录仪各模块的介绍3.1 单片机 MSP430本设计考虑到低功耗的需求选用了 MSP430f149

12、 作为主控制器。MSP430 系列是所有主流单片机芯片中能耗最低的。其在一个芯片上集成了中央处理器和许多模拟、数字电路,提供了单片解决的方案。其具有超低功耗、体积小、功能强的优点,得到广泛应用。单片机 MSP430 的优点如下:(1)功耗低。单片机 MSP430 工作电压范围为 1.83.6V,有一种活动模式,耗电电流为250uA;有五种低功耗模式, 0.1uA 为 RAM 保持模式下的耗电电流,0.7uA 为实时时钟模式下的电流。输入输出口的最大漏电流仅为 50nA。(2)MSP430 单片机集成的片内外设较为丰富,为简化设计提供了很大的方便。这些外设包括看门狗、模拟比较器 A、定时器 A、

13、定时器 B、串口 0/1、乘法器、IIC 串口总线、10 位/12 位模数转换器、端口 16、基本定时器等模块。(3)处理能力强大。16 位单片机 MSP430 系列,采用了目前最流行的精简指令集结构,指令数目少,其指令执行周期为一个时钟周期。(4)系统能够长时间稳定工作。数字控制振荡器 DCO 是该系列默认的内部集成振荡器,单片机复位后,为使程序从正确的地方开始运行,确保晶体振荡器的起振和稳定时间充足,CPU 应首先由 DCO 启动。系统工作的时钟频率,可由软件来设置,通过改变寄存器相应的控制位设定适当的频率。为保证系统工作正常和运行的稳定性,在 DCO 用作 CPU 时钟的过程中,如果出现

14、问题,数字控制振荡器会自动开启。(5)开发环境方便,效率高。MSP430 系列有三种类型,即 Flash 型、ROM 型、OTP 型,Flash 型单片机应用广泛。不同类型的单片机开发方法不相同,Flash 型单片机的开发和调试环境很方便,因为器件片内集成了可电擦写的 Flash 存储器及 JTAG 调试接口,所以,在一个软件集成环境中,可以运行所有编译和调试过程。使用方法是将程序从 JTAG 调试接口下载到存储器中,控制系统运行。要想读出片内中央处理器的状态,也要由该调试接口控制程序进行操作。这种方式不需要专门的编程器和仿真器,只需要一个 JTAG 调试器和 PC 机,使用简单方便。而 RO

15、M 型和 OTP型的 MSP430 系列是由专门的仿真器开发的,开发完之后再烧写或掩摸的一种芯片。以下是 MSP430f149 和 89C51 单片机性能的比较。(1)十六位 MSP430f149 单片机,其指令使用的是精简指令集( RISC ),指令相对较少,有 27 条指令。其中,大多数为模拟指令,很多片内 Flash 和寄存器都可参加程序的执行。由于这27 条指令均为单周期的指令,所以运行速度快。相比较而言,八位 89C51 使用的是复杂指令集( CISC ),指令较多,有 111 条指令且运行速度慢。(2)MSP430f149 是十六位的开放性架构,经过转换还能使总线变为八位的,所以对

16、这样的基本结构而言,无论外接八位,还是十六位的模块,或者扩展模数转换或数模转换模块也是很方便的。对于 89C51,由于 89C51 系列的片内总线为八位,所以内部的模块基本上也都是八位的。又由于受其内部性质的影响,内部模块虽然有了一定的增加,但是如果增加模拟功能的部件,仍显得困难。这使得 MSP430f149 的产品及功能部件迅速增加。(3)在功耗方面,89C51 系列单片机比 MSP430f149 消耗的功耗多。89C51 正常运行的电源电压为 5V,有待机方式(系统时钟还在运行)和掉电方式(停止包括系统时钟的所有工作)两种低功耗模式。在正常运行情况下,电流消耗为 24mA;对于后者,一些模

17、块也要消耗电流 3mA 左右。但是,为了保存 89C51 单片机内 RAM 中的内容,即便是停止所有工作,单片机所需电压能降到 2V 时,也需要提供电流约 50uA 。所以,MSP430 要比 89C51 更适合应用于电池供电装置或系统中。(4)在开发工具方面。对于 MSP430f149 来说,采用了 JTAG 技术和 Flash 型存储器,使开发工具变得既简便又低廉,同时也能够实现在线编程。而 89C51,很早进入中国市场,使用者对它相对了解,所以有很多开发工具被创造出来。但是仍存在一个很大的问题,即如何实现在线编程。33.2 串口 MAX3232串口 MAX3232 的输出级使用的是输入和

18、输出的电压差值,为了能够实现真正的 RS-232 的功能,输出电平保持 RS-232 的电平,必须使电源电压在 3.0V 到 5.5V 之间。MAX3232 具有两个发送端和两个接收端,具有关断模式,电流仅为 1uA,有效的降低了功率的消效并延长了电池的使用时间。在关断模式下,串口 MAX3232 仍对芯片外设进行监测,接收端口仍保持有效的电平。当芯片传输数据的频率过于频繁时,串口仍就能实现 RS-232 规定的电压+5.0V 和-5.0V。只要输入电压在3.0V 到 5.5V 范围内,即可提供输出正负电压 5.5V。如果串口输出电压低于 5.5V,且工作在非连续模式下,就会开启电荷泵(开关电

19、容式电压变换器) ;如果串口电压高于 5.5V,就会关闭电荷泵。 3.3 FLASH AT45DB 存储芯片选用了 Nand-Flash 系列。存储芯片现在流行 TF 卡,TF 卡可以方便拔插,但是功耗比 Nand-Fash 系列高不少。本设计选用了 AT45DB161D,其有三种工作模式,典型待机电流为25uA,典型掉电电流为 9uA,典型读取电流 7mA。存储器为八管脚的芯片,主要有片选端 (/CS) 、电源(VCC) 、 串行输入(SI) ,写保护(WP) 、串行输出(SO)和串行时钟(SCK)等管脚。AT45DB161D 是具有串行接口、运行电压为 2.5V 或 2.7V 的 Flas

20、h 存储器,能够存储各种数字语音,图像,程序代码等。AT45DB161D 适用于要求高速操作的场合。存储器串口与 SPI 兼容,存储速率能够达到 66MHz。AT45DB161D 的存储地址分为页、块、扇、片。总容量为 17301504 位,主存储器为 4096 页,512 或 528 字节定义为一页。与以前的存储器不同,此存储器串行口顺序访问数据,而不是采用总线分时复用或并行传输的方式。顺序访问比并行接口节省了很多引脚,充分利用了芯片的资源,有助于硬件设计,提高了系统工作的稳定性。 AT45DB161D 在要求引脚数低、电压低、功耗低以及容量高的场合 是最佳的选择。存储器 AT45DB161

21、D 读取操作、重复编程操作的工作电压都为 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.5V,当电压为 2V 时,能保存时钟和数据信息,且电流小于 300 纳安,也就是说率小于

24、1 毫瓦,因此功耗很低。 3.5 LCD 液晶显示器LCD 液晶显示器的整体是由上下两个玻璃板构成的,在两块板之间设置液晶盒,LCD 液晶下层板放置薄膜晶体管,在上层板中,放置彩色滤光片。LCD 液晶分子的运动趋势由薄膜晶体管上的电压和信号的改变决定,由此决定每一个像素点偏振光被过滤掉还是射出,从而显示出想要显示4的效果。LCD 液晶显示器的优点是显示的内容多,控制简单,功耗低,可以显示字符、图片等内容;缺点是显示器本身不会发光,而是根据背光来达到显示的目的,并且价格也不便宜。相比于 LCD液晶屏,LED(二极管)的优点是液晶本身会发光,所以从远处能够看清屏上的内容,而 LCD 则不能看清,并

25、且其价格比 LCD 要低;缺点是显示的内容少,一般是数码,而且很耗电,控制复杂。基于本设计低功耗的设计理念,并且对发光亮度没有要求,应选择 LCD 显示屏。芯片的驱动器使用的是功能强大并且可以编程的 HT1621,可驱动很多种显示器,其中包括有效电平时间与总周期之比为 1/2、1/3 和 1/4 的,偏置比为 1/2 或 1/3 的显示器。驱动芯片内有 128位显示 RAM,可以选择低功耗的运行模式,适用于本设计所选的 LCD 模块和 HT1621 模块组成的显示系统。HT1621 正常工作电压为 2.4V 到 2.5V,内部设有振荡器(频率 256kHz) ,外部有时钟(频率 256kHz)

26、或者晶体振荡器(频率 32kHz) 。3.6 温湿度传感器 SHT10考虑到功能要求和功耗要求选用了 SHT10 温湿度传感器,该传感器为输出数字量的集成器件,是由瑞士 Sensirion 公司推出。传感器的组成包括两个部分,即 1 个测温元器件以及 1 个测湿元器件,能同时实现测量温湿度的要求,并且在同一芯片上,结合串行接口电路和 14 位模数转换器。这些器件不仅使该产品具有性价比高的优点,而且反应快、功耗低,使其成为首选产品。SHTl0 具有很多优点,体积小,精度高,数字输出等特点给设计者带来很大方便。3.7 本章小结本章主要对温湿度记录仪各模块的结构和功能特点做了简单的介绍,从中可以看出

27、都采用了超低功耗的器件,使整个系统将功耗降到最低。4 温湿度监测的硬件设计温湿度记录仪的整体结构框架如图 4-1 所示,记录仪由 Flash 存储器、外部时钟、电源电路、报警器、温湿度传感器、液晶显示、MSP430 单片机等模块组成。并且能够与 PC 机通信,将数据传送到 PC,再进行分析综合,有助于对整体趋势的把握。图 4-1 温湿度记录仪的整体框架4.1 MSP430 的外围电路MSP430及其外围电路如图4-2所示,单片机周围有晶振电路、复位电路、电源电路。MSP430外接了一个32768HZ的晶振,芯片内部的工作频率通过倍频提供,每条指令的执行周期为125ns。5图 4-2 单片机外围

28、电路4.2 电源电路如图4-3所示,SOUR2是经过电阻R9和R10 分压后得到的R10 上的电压,送入MSP430 进行模数转换,转换值与预先设置的值进行比较,如果低于设定值,则通知单片机,并在LCD液晶上显示电量不足的信息。二极管D1能防止 P2产生的大电流进入单片机,能很好的保护单片机正常运行。稳压管VR1 为MSP430提供3.3V 电压。图 4-3 电源电路4.3 通信电路使用 MAX3232 作为与 PC 通信的芯片,通信示意图如图 4-4 所示,供电电压为+3.3v。电路中的 C9、 C10、C13、C14 的值在串口使用说明上都为 0.1uf。DB9 各管脚定义:1、载波检测(

29、DCD);2、数据接收端(RXD);3、数据发送端(TXD );4、数据终端准备好(DTR);5、信号地(SG);6、数据准备好(DSR);7、发送请求(RTS );68、发送清除(CTS);9、振铃提示(RI);图 4-4 通信电路4.4 时钟电路该设计时钟电路由时钟芯片、晶振和电阻组成。如右图 4-5 所示,时钟电路在很多系统中都很常见,如手机、笔记本、电子手表、学习机等都有时钟电路。DS1302 电路是目前普遍使用的串行时钟芯片,该时钟电路具有很多优点,如电路计时准确、价格便宜、操作方便、可靠性强、使用方法简单。时钟电路最突出的特点是数据传输使用的是串行输出,节省了输入输出口。除此之外,

30、时钟电路具有充电功能,掉电后为保证电路正常工作,能够通过软件提供充电操作,也能够停止该动作。晶体振荡器 Y1 使用的频率为 32.768kHz。图 4-5 时钟电路4.5 存储电路AT45DB 的连接如图 4-6 所示,片选引脚/CS 为使能端,串行时钟(SCK)端进行读写控制。SI 和 SO 为串行输入线和串行输出线,微处理器指令控制设备运行。AT45DB161B 具有通用串行接口,但是只支持模式 0 和 3。在这两种模式下,当 SCK 端出现 0 到 1 的跳变时,存储器将输入数据;当 SCK 出现 1 到 0 的跳变时,存储器将输出数据。二者的不同之处在于 SCK 触发沿的变化不同。复位

31、时,串行外设接口的模式 3 为存储器的默认使用模式。以上所有的地址、指令和数据都从高字节传送。7图 4-6 存储电路4.6 显示电路根据显示要求驱动器使用了 HT1621,驱动器是 34*2 位的内存映象(图 4-7)和功能齐全的驱动芯片。液晶能够在很多地方使用,例如一些显示子系统和 LCD 模块等场合。只用四条或五条引脚来连接驱动和主控制器。基于本设计的理念,HT1621 也有节电模式,电流最大为 5uA,有助于系统整体功耗的降低。图 4-7 RAM 映象图液晶使用了普瑞翔 FY-T03937ARP,如图 4-8 所示。8图 4-8 液晶4.7 报警电路温湿度记录仪的报警电路如图 4-9 所

32、示,单片机通过 BELLLC 端控制蜂鸣器。当温度超过上下限时,该端为高电平,三极管导通,报警电路报警。相反,当该端为低电平时,三极管截止,报警电路不工作。图 4-9 报警电路4.8 Altium Designer 的介绍该软件是 EDA(电路设计自动化)软件开发商 Altium 公司推出的一体化的电子产品开发系统。这套软件融合了原理图绘制、电路仿真、PCB 绘制、自动布线、信号完整性分析和设计输出等技术,给使用此系统的人们提供了轻松的设计方法,是一种快捷高效的设计研发途径。该系统已经在很大程度上加快了印刷电路板的设计效率和产品质量。9EDA 指的是将整个设计过程中由人完成的部分现在交给计算机

33、来完成此任务。例如电路原理图的绘制、印刷电路板文件的制作、执行电路仿真等工作。随着电子科技的迅速发展,功能强大的器件不断出现,人们的要求也越来越高,电路的设计也变得很复杂,这些工作想要靠手工完成,几乎是不可能的事情,电路设计自动化已经成为必然的趋势,设计人员开始使用简单方便的CAD(计算机辅助设计)软件来进行设计,除了能够画原理图和设计印刷电路板,也能够打印各种报表。Altium Designer 不仅沿用了 EDA、CAD 的基本功能和特点,还扩展了一些改进的高端的功能。该平台拓展了板级设计的传统界面,集成了可编程片上系统和现场可编程门阵列设计功能,从而允许设计人员能集成系统设计中的印刷电路

34、板设计与现场可编程门阵列和嵌入式设计。在继承先前EDA 软件功能的基础上,此软件综合了现场可编程门阵列设计、嵌入式系统软件设计的功能,对计算机的系统需求比以前的版本要高。功能介绍:1、原理图设计;2、PCB 设计;3、嵌入式开发;4、现场可编程门阵列的开发。 使用该软件时,首先在软件建立一个印刷电路板的工程文件,然后向工程中添加原理图文件,如图 4-10 所示,最后再向工程中添加 PCB,更新 PCB,设计 PCB,如图 4-11 所示。4-10 原理图10图 4-11 印刷电路板5 温湿度监测的软件设计5.1 程序流图软件部分可分为主程序、中断程序和各种子程序。在主程序和中断程序里调用数据接

35、收、A/D 转换、数据存储、显示、数据上传等子程序。在没有和PC 机连接的情况下,单片机执行完操作后,若没有操作,会进入休眠状态,直到与上位机相连,将单片机唤醒。当单片机与PC相连时,可以接收上位机发送来的命令并执行,上传相应的数据。图5-1为本设计的程序流图。开 始定 时 一 秒外 部 中 断休 眠显 示读 时 间 和 温 度中 断 服 务是 否 达 到 一秒YN图 5-1 主程序流程图5.2 MSP430 的开发软件国内MSP430使用的开发软件种类并不多,主要有IAR 公司的EW430和AQ430。目前IAR的用户居多。IAR Systems是全世界高端的嵌入式系统开发产品和服务的供应商

36、。1983年,该公司成立,至今为止已经有二十七年的历史,提供的工具和服务与嵌入式系统的设计、开发、测试的每一个过程都有关,例如:带有C和C+ 编译器和调试器的集成开发环境、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。本设计使用的是EW430 ,IAR EW430软件提供了工程管理,程序编辑,代码下载,调试等多种功能,为设计提供了很大的方便。IAR 界面如图5-2 所示。11图 5-2 IAR 界面6 问题发现和解决6.1 程序问题问题1:按键触发概率低。原来的按键程序如下:if(P1IFG if(keyin = 0x0e)   while(keyin != 0x0f

37、);    /等待按键放开KeyVal = 1;LPM1_EXIT;P1IFG = 0;return;   该程序在逻辑上是对的,因为单个按键程序是没有任何问题的。分析如下:1)是不是由于delay()的时间太短或者太长造成的呢?经过查阅资料知道按键消抖时间 50毫秒左右,经过尝试修改delay()时间发现不能从根本上解决问题;还有很大的概率按键失灵;2)怀疑是写的程序太乱,执行效率低,来不及执行按键。通过三天的修改程序架构,已经变得十分简单了,结果还是没有太大改善,但是程序顺畅了。3)怀疑是中断使用过多,触发太频繁导致触发程序失败。经过精简中断函数,去掉了一个2

38、0毫秒的定时器,去掉了一个RS232发送中断,没有太大改观。4)或许按键程序有问题。通过仿真器的采集P1IFG的值,发现了乱码,P1IFG应该是0x80却有时候变为0x87(低三位接了DS1302);找到了原因原来逻辑上对的实际上很有可能有其他的干扰存在,于是屏蔽低四位的干扰,程序如下:12if(P1IFGif(P1IN    /等待按键放开key_val = 1;P1IFG =0x00;    完美解决了按键问题。问题 2:段码液晶显示不正常。1)可能是段码程序问题,经过仔细检查程序发现还是不正常显示。2)可能是电路问题,经过反复推敲电路设计发现没问题

39、。排除方法是:测量电压、电流。发现驱动 HT1621 正常工作。驱动 HT1621 的上拉电阻采取资料提供的标准 100k 电阻,发现问题依旧。3)询问厂家是否按标准制作,回答是肯定的。我们只好再次进行上述的步骤结果还是徒劳,迷茫中我们要求厂家提供测试正常的视频依据和测试代码,经过仔细比对发现视频中有一处和原理有悖。进过仔细审查发现厂家没有按要求去生产,把 COM 口放错位置且是顺时针排序。而我们提供给他们的图纸是逆时针的。乱码问题也解决了。问题 3:串口通讯不正常与速度太慢。在调试串口时候发现程序有错误,按照教程修改好了。由于 4 万条数据要以 9600 波特率传送,需要传送十几分钟,我们改

40、为 115200HZ 的波特率。发现总是通讯失败,查阅相关资料发现MSP430 默认工作频率 800KHZ,虽然传送数据用的是子时钟 8MHZ,但 CPU 主时钟频率低,不能胜任提供数据工作,经过修改把 CPU 提高到 8MHZ,但是频率越高功耗越大,所以我们进行降频实验最后降到 1MHZ 发现正常工作。因此确定 CPU 工作在 1MHZ 模式下。问题 4:存储不正常。NAND-Flash 虽然功耗低但是操作起来复杂,经过查阅相关资料发现存储电路设计的并不完美,因为 MSP430 有 SPI 接口,但设计电路时候却用了普通 I/O 口模拟 SPI,造成某些对时间要求苛刻的函数并不能够顺利执行,

41、最后采用精简逻辑使用两个函数完成存储读取的任务。6.2 硬件问题1)断不开地问题的解决。采用三极管断开器件与地的连接以节省功耗,却发现芯片依然工作。器件分离测试发现各个芯片都存在这个问题。最后决定使用三极管断开电源的方法。2)I/O 功耗问题的解决。虽然采取了大量硬件软件措施降低功耗,但是功耗还是达到了十几毫安秒。芯片一一卸下检测剩下的电路的总电流,最终发现原因在连接外部电源的接口,分析后认为电源接口有一个检测端口不插入外部电源就处于低电平而检测端口接的 I/O 可能是高电平,所以I/O 口设为输入口后应该再输出一个低电平,问题解决。3)上拉电阻功耗问题的解决。在使用上拉电阻时候起初采用了经典

42、的十千欧电阻,单个电阻电流为 0.33mA,由于上拉电阻比较多电流总和就达到了 35mA。所以才用了一兆欧姆的电阻作为上拉电阻,经过测试系统工作正常。6.3 本章小结本章大略地说明了存在的问题及其解决方法。总结出的方法是,首先考虑软件问题,其次考虑硬件问题,最后综合考虑。最初的程序跑在板子上功耗最高时候四十多毫安秒。经过软件的优化降低了大部分的功耗,经过硬件的排查几乎满足了要求。软硬件的综合考虑之后功耗满足了设计的要求。7 总结本设计要求能对温度、湿度同时进行检测。来自SHT10的数字信号通过SHTDATA 端进入单片机,在单片机中,温度湿度数据一方面送到LCD液晶屏显示;另一方面将温湿度数据

43、存储在13AT45DB中,存储下来的数据可以经 MAX3232总线传输到计算机中,在计算机中使用相应的软件,可以观测温湿度数据的曲线,也能对数据进行打印,实现了智能化,人性化。本设计采用 MSP430 单片机实现了温湿度的记录、显示、报警、设置、上传到 PC 等功能。而且还可以对测量温湿度的时间长短、起始时间等参数进行设置。由于 MSP430 单片机的超低功耗特性,以及采用高效率电源管理模块,程序设计中采用低功耗设计方式,使得整个系统减少了功耗的浪费。参考文献1 胡大可MSP430 系列 Flash 型超低功耗 16 位单片机北京航空航天大学出版社,2001 2 蔡纯洁,邢武PIC16/17

44、单片机原理和应用,合肥:中国科学技术大学出版社,2001 3 张雪彤,张荣华,胡书敏等大洋中脊热水探测与新型传感器J 地质论评,20064 沈建华,杨艳琴MSP430 系列 16 位超低功耗单片机原理与应用M北京:清华大学出版社,20045 童诗白,华成英模拟电子技术M 北京:高等教育出版社, 20016 陈延奎基于 80C51 单片机的通用数据采集与处理系统J机械出版社,20087 李朝青单片机               /设置定时器 A的中断时间为1STACTL = TASSEL_1 + MC_1;   &n

45、bsp;   /计数时钟ACLK, 增计数模式8分频+ID_3CCTL0 |= CCIE;              /使能CCR0比较中断/*ds1302*/P1SEL         /定义为普通I/O 口 P1DIR |= DS_RST+DS_SCL;          /bit1 bit0 bit3输出 /*初始化re232*/Init_rs232 ();/ /*初始化1621显示*/P2SEL   &nbs

46、p;      /定义p2.2 p2.4 p2.5为普通I/O 口P2DIR|=BIT2+BIT4+BIT5;            /定义p2.2 p2.4 p2.5为输出Init_1621();qingping();             /先清 屏/初始化ad/P6DIR ADC12CTL0 = ADC12ON+SHT0_0+MSC;      / 打开ADC,设置采样时间ADC12CTL1 = CSTART

47、ADD_3+SHP+CONSEQ_0;  /配置寄存器ADC12MCTL3 = INCH_3;           / 选择采样通道a3   ADC12CTL0 |= ENC;             / 使能转换 P6SEL |= BIT3;              /使能 ADC通道/ /* 初始化flash*/AT45_ini();/*初始化按键*/key_init();/*初值设定*/c

48、huzhi_from_flash();/读出flsh中的初值/初次显示/  th_read(Getshijian(gettimer30s);    chadianliang(); show_all1621();P2DIR|=BIT1;P2OUT|=BIT1; Delays(18);P2OUT  /蜂鸣器控制/*初始化完成*/while(1)  _EINT();         /打开全局中断if(guanji=0)       /不关机 这条命令只执行一次   &n

49、bsp;Init_1621();          16P4DIR|=BIT7;  /开启VSP4OUT|=BIT7;P1IFG =0x00;P2IFG =0x00;key_init();guanji=2;   /跳出这条命令qingping(); CCTL0 |= CCIE;              /使能CCR0比较中断      if(guanji=2)  /不关机      

50、  if(model=0) LPM1; if(kongzhi=0)    if(miao%60=0) Getshijian(gettimer30s);th_read(temp=temp_offset+temp+tempset;hum=hum_offset+hum+humset;  if(miao%caijishijian=0)  if(miao%60=0)  else if(model=1) show_setmodel1() ; else if(model=2) show_setmodel2() ; else if(model=3)

51、show_setmodel3() ;         if(guanji=1) qingping();P2DIR|=BIT1;P2OUT/蜂鸣器不响P1IE         / 关闭P1.6P1.7中断使能    P2IE              /关闭P2.0中断使能P5OUT=BIT0+BIT1;P1OUT=BIT0+BIT1+BIT2; P3OUT=BIT1+BIT2+BIT3+BIT4;CCTL0               /关闭定时器P4DIR|=BIT0; P4OUT        LPM1; 17/*函数名称:TimerA_ISR功  能:定时器A的中断服务函数参  数:无返回值 :无*/#pragma vector=TIMERA0_VECTOR_interrupt

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报