《毕业设计(论文)基于MSP430单片机的环境参数监测仪的设计制作.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于MSP430单片机的环境参数监测仪的设计制作.doc(54页珍藏版)》请在三一办公上搜索。
1、常州机电职业技术学院毕业设计(论文)作 者: 学 号: 41131243 系 部: 信息工程系 专 业: 应用电子技术 题 目: 基于MSP430单片机的环境 参数监测仪的设计制作 指导者:评阅者: 2014 年 4 月 毕业设计(论文)中文摘要温湿度和光照度等参数是标定环境不可缺少的参数,对其进行准确的测量具有重要意义。本文以室内外居住环境为背景,设计出一种以MSP430F5438A超低功耗单片机为控制核心的环境参数监测仪。论文对环境参数监测系统硬件和软件模块包括子系统模块进行了详细设计:通过相应的传感器芯片对包括温度、湿度、光强、红外辐射度和可燃气体浓度等环境参数进行检测和采集;通过微处理
2、器MSP430F5438A将传感器芯片采集到的数据进行分析处理,并在液晶终端进行参数的实时显示和监控。论文分别对温度传感器模块,单总线湿度传感器模块,光照度传感器模块,气敏传感器模块,红外热释电模块以及按键和液晶显示模块进行了单模块分别调试。在此基础上对这些子程序模块进行了整合调试及整机功能和功耗测试,最终完成整个监控系统及仪器的设计制作。实验显示,本环境参数监测仪具有体积小、携带方便、功耗低、可靠性高、免维护、成本低等优点,在室内外环境参数监测领域,具有很好的应用前景。关键词:MSP430单片机 环境参数监测 传感器 液晶显示毕业设计(论文)外文摘要Title: The Design and
3、 Production of Environmental Parameter Monitor Based on MSP430 Abstract:Parameters such as temperature, humidity and illuminance are indispensable to the calibration environment, which has important significance for accurate measurement. The aim of this thesis is to design an environmental parameter
4、 monitor, which controlled by an ultra-low power MSP430F5438A for indoor and outdoor living environment. The detailed design of hardware and software module including subsystem module in the environmental parameter monitor is proposed in this thesis. The corresponding sensor chip is used to detect a
5、nd collect the environmental parameter such as temperature, humidity, illuminance, the infrared radiation intensity and combustible gas concentration. The MSP430F5438A analyzes and processed the data which collected by sensor chips, and realized the real-time display and monitoring for parameters on
6、 LCD terminal. The thesis proceeds debugging on single module likes temperature sensor module, single bus humidity sensor module, illuminance sensor module, gas sensor module, pyroelectric infrared module and buttons and LCD module, respectively. On the basis of that, after debugging and test on the
7、 function and power for the integrated subroutine modules, the design and production of the whole monitoring system and instrument is completed.Test results given show that the environmental parameter monitor has several advantages, such as small volume,portable,low power consumption,high reliabilit
8、y,maintenance-free,low cost and so on. It has a great application prospect in the field of indoor and outdoor environmental parameters monitoring.Key words: MSP430, Environmental Parameter Monitor, Sensor, LCD Display目 录1 绪论11.1 课题背景11.2 论文的主要内容22 数据监测系统的总体设计方案32.1 系统总体框图设计32.2单片机选型32.2.1 MSP430单片机概
9、述32.2.2 MSP430F5438A介绍42.3 传感器的选型53 系统硬件设计73.1 主控芯片模块73.1.1 单片机最小系统模块73.1.2系统电源模块83.2 子系统模块83.2.1光强采集模块83.2.2 温度采集模块103.2.3 湿度采集模块113.2.4 气敏传感器监测模块123.2.5 红外采集模块133.2.6液晶显示和键盘模块153.3 硬件电路板的焊接与制作173.3.1 系统硬件电路原理图173.3.2 系统硬件电路PCB图184 系统软件设计204.1 软件开发环境及编程思想简介204.2系统主程序设计204.3 系统子程序设计214.3.1 按键设置程序214
10、.3.2 数据监测程序224.3.3 主控芯片MSP430F5438A时钟设定程序234.3.4 DHT11单总线数据读取程序244.3.5 片内ADC程序264.3.6模拟I2C通信协议275 监测系统调试分析325.1人机操作界面测试分析325.2 光强模块测试分析335.3 温度模块测试分析345.4 湿度模块测试分析345.5 气敏传感器监测模块测试分析355.6 红外监控模块测试分析365.7整机装配与调试375.7.1整机装配调试375.7.2功耗测试38总结38致 谢39参考文献40附录A 系统原理图41附录B 系统PCB图42附录C 控制程序源代码431 绪论1.1 课题背景为
11、了使人类拥有舒适、健康的生活,很多情况下要监测周围的环境参数。如城市的空气质量,温室大棚中的温湿度光照度等参数的控制,沿海城市海水浴场水质,污染物的排放等。通过环境检测,提供代表环境质量现状的数据,判断环境质量是否符合国家制定的环境质量标准,评价当前主要环境问题,环境参数与人们的生活息息相关,对于环境参数的监测十分必要。对于环境监测的参数中,温湿度和光照度是极其重要的参数。舒适的环境会让人感觉心情舒畅,人体感觉舒服,当室内温度在18 20 ,湿度为40%60%时,人的思维最敏捷,工作效率最高。但当室温超过28 ,湿度大于70%时,就会生闷热、出汗、烦燥、疲劳等反应,容易让人的情绪不稳定甚至无法
12、正常工作。室内光照度测量也很必要,国家标准的自然光照度是150lux300lux ,人眼在看书感到正好时的光照度是200lux,当光线过强或过暗都会对眼睛有所损伤,而且更容易引起视疲劳,影响学习和工作效率。所以要营造一个舒适适合人们生活与居住的环境就必须对温度、湿度、光照度参数进行监测。环境监测离不开数据采集,数据采集系统是在测量工程中,无需人工记录测量数据能自动进行采集,信号处理,并记录显示,如今无论是生产还是实验室中的测量都是要求精度高,速度快,这些人工测量无法完成,只能用自动测量系统才能完成的。环境参数的传统测量方法中,测量设备体积较大,实时性差,精度低,还需花费较大的人力,己不再适应现
13、代经济的快速发展要求。随着单片机技术、传感器技术、通信技术、计算机等技术地快速发展,环境监测技术也日新月异。各种实时性好,精度高,且适应各种苛刻环境的测量系统己被开发出来,在社会各个领域得到了广泛应用。在对环境参数的采集方面由于高集成度低功耗低电压的集成芯片的大量问世,使得仪表的功耗越来越低,功能越来越强大。1.2 论文的主要内容本文设计并制作了一款基于MSP430单片机的环境参数采集监测仪。该监测仪具有环境温度、湿度、光照度、可燃气体浓度、红外辐射度等参数监测功能。其主要内容包含课题背景、环境数据采集监测系统的总体设计方案、系统硬件设计、系统软件设计、监测系统调试分析等。首先,论文介绍了课题
14、背景,阐述了环境监测及监测仪器的发展现状及发展趋势,由此提出了基于MSP430单片机的数据采集监测系统的总体设计方案,并针对需要监测的参数进行了器件选型及方案设计。其次,论文进行了详细的系统硬件设计,并搭建了相关硬件模块电路,包含以下几个部分:单片机主控模块、数据采集模块、监控报警模块、键盘和液晶显示模块。主控模块采用MSP430F5438A作为控制核心,数据采集监控模块部分采用TPM275数字输出温度传感器检测环境温度,DHT11单总线湿度传感器检测环境湿度,BH1750FVI光照度传感器检测环境光照强度,MQ-2气敏传感器监测相关气体相对强度以及KP-500B红外热释电传感器监测红外辐射相
15、对强度。整机系统通过按键和液晶显示模块实现人机交互及监测结果的显示输出。再次,论文对系统软件设计进行了主要说明,包括系统主程序以及相应的测温、测湿、测光照度等测量子程序,以及外围键盘与LCD显示接口模块程序等。最后,进行了系统整机调试分析,在软硬件连接的基础上分别对温度传感器TPM275模块,单总线湿度传感器DHT11模块,光照度传感器BH1750FV模块,气敏传感器MQ-2模块,红外热释电KP-500B模块以及按键和液晶显示模块进行了单模块分别调试。在此基础上对这些子程序模块进行了整合调试及整机功耗测试,辅以外壳安装,最终完成整个监控系统及仪器的设计制作。2 数据监测系统的总体设计方案2.1
16、 系统总体框图设计基于16位单片机MSP430 5438A的环境监测系统以MSP4305438A单片机作为主控芯片,采用温度、湿度、光照度传感器等进行数据采集,以及液晶显示模块与用户进行交流,通过软件编程协调各部分工作,实现体积小、低功耗环境监测仪器的设计。系统总体框图如图2-2所示:MSP430F5438A单片机湿度检测光强检测红外检测温度检测液晶显示可燃气体检测键盘电源图2-2系统设计总体框图MSP430单片机还有一个特点就是支持C语言编程,由于采用C语言开发可以大大的提高开发效率,缩短开发周期,并且采用C语言开发程序具有非常好的可读性和移植性,因此本设计的软件采用高效的MSP430系列的
17、C语言编写,软件部分采用IAR公司提供的开发环境:IAR Embedded Workbench及调试器C-SPY。利用该软件可直接将程序通过单片机本身带有的JTAG接口下载到单片机的FLASH存储器中,再由该软件通过JTAG接口读取单片机内信息,实时监测单片机上运行的程序,实现在线仿真。为了方便程序调度和提高可靠性,软件采用结构化、模块化设计方法,每个模块完成一个特定功能,在电路设计调试会对每一模块电路进行程序编写调试,之后完成整个系统程序的整合编写。整个系统主要由初始化程序、主程序、子程序等组成,通过软件编程实现系统的数据处理和显示。2.2单片机选型2.2.1 MSP430单片机概述MSP4
18、30单片机是TI公司推出的一款16位超低功耗的混合信号处理器。该系列单片机自1996年问世以来,以其卓越的性能成为众多单片机系列中一颗耀眼的新星。它有以下特点:(1)具备强大的处理能力,可编制出高效率的源程序。采用精简指令集(RISC)结构,具有丰富的寻址方式、简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。(2)具备高效的运算速度和灵活的运算方法。MSP430系列单片机能在8MHz晶体的驱动下,实现125ns的指令周期;16位的数据宽度以及多功能的硬件乘法器相配合,能实现数字信号处理的某些算法;中断源较多,并且可以任意嵌套,使用
19、时灵活方便,当系统处于省电的备用状态时,用中断请求将它唤醒只用6us。系统可以稳定可靠的工作。系统稳定上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,使晶体振荡器有足够的起振及稳定时间;然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率;如果晶体振荡器在用做CPU时钟时发生故障,DCO会自动启动,以保证系统正常工作;如果程序跑飞,可用看门狗将其复位。(4)丰富的片内外设为系统的单片解决方案提供了极大的方便。它们分别是看门狗、模拟比较器A、定时器A 、定时器B ,串口0、1 (USART0, 1)、硬件乘法器、液晶驱动器、10位/12位ADC, I2C总线、直接
20、数据存取(DMA)、端口0 (P0)、端口1(P1)、基本定时器(Basic Timer)等一些外围模块的不同组合。(4)具备卓越的超低功耗特性。MSP430单片机在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。首先,其电源电压采用的是1.8V到3.6V电压,在1MHz的时钟条件下运行时,芯片的电流在1到400uA左右,时钟关断模式的最低功耗只有0.1uA;其次是独特的时钟系统设计,在MSP430系列中有两个不同的系统时钟系统:基本时钟系统(有的使用一个晶体振荡器,有的使用两个晶体振荡器)和锁频环时钟系统或DCO数字振荡器时钟系统。这些时钟可以在指令的控制下,打开和关闭,从而实现
21、对总体功耗的控制。2.2.2 MSP430F5438A介绍本设计采用的MSP430F5438A单片机具有低工作功耗,在1.8V到3.6V 的工作电压范围内性能高达25MIPS。包含一个用于优化功耗的创新电源管理模块。MSP430F5438A主要参数:1 256K Flash,16K RAM;2 P1,P2 16个中断IO口;3 16位CRC 校验;4 16通道AD采用,200ksps,12路外部采样,同时内置一个温度传感器,可以采集芯片温度;5 支持32位硬件乘法器;6 RTC实时时钟;7 4个USCI,UCAx支持串口,IrDA/SPI,UCBx支持SPI/IIC;8 15个捕捉/比较定时器
22、;9 JTAG/SBW(4线/2线仿真下载);10 UCS统一时钟管理;11 系统看门狗Watchdogs;12 支持多种低功耗模式LPM;13 支持欠压或低压自动复位;2.3 传感器的选型光强传感器选用的是BH1750FVI,这是一种用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据采集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化。该传感器支持I2C通信,最小误差变动在20%,受红外线影响很小。温度传感器选用的是TMP275,是一个精度为0.5,两线制,串行输出温度传感器,采用SO-8的封装,检测温度-20至+100,能满足
23、正常情况下的温度检测。湿度传感器选用的是DHT11,是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。 可以对TMP275检测到的温度进行修正。可燃气体传感器使用的是MQ-2,可燃气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡。当传感器所处环境中存在可燃可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换
24、为与该气体浓度相对应的输出信号。从而检测对应的可燃气体。红外传感器使用的是BISS0001,这是是一款具有较高性能的传感信号处理集成电路。它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炙灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道等敏感区域,或用于安全区域的自动灯光、照明和报警系统。优点是,内设延迟时间定时器和封锁时间定时器,结构新颖,稳定可靠,调解范围宽,内置参考电压,工作电压范围2V6V。3 系统硬件设计3.1 主控芯片模块3.1.1 单片机最小系统模块本系统采用的主控芯片为MSP430
25、F5438A单片机,有100个引脚,其芯片引脚如图3-1所示:图3-1 MSP430F5438A芯片引脚电路系统主时钟晶振如图3-2所示采用的是32768Hz的晶振,XIN接到单片机P7.0口,XOUT接到单片机P7.1口。图3-2 MSP430F5438A晶振电路系统复位电路如图3-3所示,单片机复位引脚P9.7上拉510K电阻接VCC,通过电容接地,电容两端并联一个独立按键,用以完成单片机的系统复位。图3-3 MSP430F5438A复位电路3.1.2系统电源模块整个数据采集系统板的主控芯片模块和数据采集子模块(包括相关传感器)均采用3.3V系统电源供电。系统电源电路如图3-4所示,通过电
26、容滤波、去耦后由TPS5430完成由12V到3.3V的转换。图3-4 MSP430F5438A电源电路3.2 子系统模块3.2.1光强采集模块1、BH1750FVI传感器介绍光强采集模块选取的是BH1750FVI。是一种16位数字输出型环境光强度传感器集成电路,用于两线式串行总线接口的数字型光强度传感器集成电路。这种集成电路可以根据采集的光线强度数据来调整液晶或者键盘背景灯的亮度。利用它的高分辨率可以探测较大范围的光强度变化(1lx65535lx)。引脚说明如图3-5和表3-1所示:图3-5 BH1750引脚图表3-1 BH1750引脚功能表管脚编号端口名称功能1VCC电源端口2ADDRI2C
27、地址控制端,如果ADDR=“H”(ADDR0.7Vcc),那么High Byte=“1011100”。如果ADDR=“L” (ADDR0.3Vcc),那么Low Byte = 1001_0000。3GND接地端口4SDAI2C接口SDA端口5DVISDA,SCL端口参考电压,DVI端口为内部寄存器的异步重置端口6SCLI2C接口SCL端口 2、光强采集模块电路设计在本设计中采用3.3V供电,ADDR地址段接地,电源和地线之间通过瓷片电容滤波。数据线SDA和时钟线SCL接一个10K的上拉电阻接VCC,DVI内部寄存器的异步重置端口上拉10K电阻接VCC,然后通过电容接地整体电路通过SDA与SCL
28、线与单片机进行数据通讯。SDA线接单片机P9.1口,SCL线接单片机P9.2口。电路如图3-6 所示:图3-6光强传感器电路在数据采集的时候主要由I2C的数据线和时钟线来完成和单片机的数据交换。3.2.2 温度采集模块1、TMP275传感器介绍数字输出温度传感器TMP275,是一个精度为0.5、两线制、串行输出温度传感器,TMP275是与SMBUS兼容的,并支持在一条总线上使用多达八台器件。额定运行温度范围为40至+125。引脚说明如图3-7和表3-2所示:如图3-7 TMP275引脚图表3-2 TMP275引脚功能表管脚编号端口名称功能1SDAI2C接口SDA端口2SCLI2C接口SCL端口
29、3ALERT通过高低电平配置寄存器4GND接地端口57A0A28个地址选择8V+电源端口2、温度采集模块电路设计本设计的温度采集模块电路采用数字芯片,与介绍设计的电路基本一致,除数据线SDA和时钟线SCL上拉10K电阻接VCC和在VCC和GND之间加一个旁路电容之外并无其他元器件。SDA线接单片机P9.1口,SCL线接单片机P9.2口电路如图3-8 所示:图3-8 TMP275电路在数据采集的时候主要由I2C的数据线和时钟线来完成和单片机的数据交。3.2.3 湿度采集模块1、DHT11传感器介绍数字温湿度传感器DHT11是一款含有已校准数字信号输出的温湿度传感器。它应用专用的数字模块采集技术和
30、温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。DHT11传感器采用单线制串行接口,使系统集成变得简易快捷,具有体积小、功耗低,信号传输距离长等优点,是各类苛刻的应用场合的最佳选则。产品为4针单排引脚封装,连接方便,引脚说明如图3-9所示:图3-9 DHT11引脚图表3-3 DHT11引脚说明管脚编号端口名称功能1VDD供电35.5V DC2DATA串行数据,单总线3NC空脚,请悬空4GND接地,电源负极2、湿度采集模块电路设计本设计中的DHT11为单总线型的数据传输,仅通过一根数据线(DATA)与单片机相连。接上拉电阻,在VCC和GND之间接入一个旁路电容。电路如图3-9 所示:
31、图3-9 DHT11电路3.2.4 气敏传感器监测模块1、传感器介绍MQ-2 半导体烟雾传感器所使用的气敏材料是在清洁空气中电导率较低的二氧锡。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度 的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。 芯片优点:1 在较宽的浓度范围内对可燃气体有良好的灵敏度 2 对液化气、丙烷、氢气 的灵敏度较高 3 长寿命、低成本 4 简单的驱动电路即可2、可燃气体采集模块电路可燃气体采集模块电路主要当它所处环境中有可燃气体时,传感器的电导率随着空气中可燃气体的浓度增大而增大,从而使输出相应的信号。在本设计中,对
32、采样所得的信号增加了一个比较电路,使采样信号与设定电压值比较判断可燃气体浓度是否到达临界值,从而达到警报的效果。其电路如图3-10所示:图3-10 气敏传感器电路图本系统气敏传感器电路特点:1、双路信号输出(模拟量输出及TTL数字电平输出);2、DOUT端正常情况下输出低电平(低于运放同向端输入的设定阈值,可直接接单片机IO口输入判读);3、模拟量输出(out端)0到3V电(调节滑动变阻器可以改变最大电压,由于单片机内部ADC参考电压最大值为3.3V),浓度越高电压越高;4、对液化气、天然气、CO等有害气体具有较好的检测灵敏度;5、具有长期的使用寿命和可靠的稳定性;6、快速的响应恢复特性。3.
33、2.5 红外采集模块1、传感器介绍红外热释电处理芯片BISS0001是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道、走廊等敏感区域,或用于安全区域的自动灯光、照明和报警系统。引脚说明如图3-11和表3-4所示:图3-11 BIS001引脚图表3-4 BIS001引脚功能表管脚编号端口名称功能1A可重复触发和不可重复触发选择端。当A为“1”时,允许重复触发;反之,不可重复触发2VO控制信号输出端。由VS的上
34、跳前沿触发,使Vo输出从低电平跳变到高电平时视为有效触发。在输出延迟时间Tx之外和无VS的上跳变时,Vo保持低电平。3RR1输出延迟时间Tx的调节端4RC1输出延迟时间Tx的调节端5RC2触发封锁时间Ti的调节端6RR2触发封锁时间Ti的调节端7VSS工作电源负端8VRF参考电压及复位输入端。通常接VDD,当接“0”时可使定时器复位9VC触发禁止端。当VCVR时禁止触发;当VCVR时允许触发。VR0.2VDD10IB运算放大器偏置电流设置端11VDD工作电源正端122OUT第二级运算放大器的输出端132IN-第二级运算放大器的反相输入端141IN+第一级运算放大器的同相输入端151IN-第一级
35、运算放大器的反相输入端2、电子爱好者社区/xah,z8v红外热释电采集模块电路如图3-12中,R10为光敏电阻,用来检测环境照度。当作为照明控制时,若环境较明亮,R10的电阻值会降低,使9脚的输入保持为低电平,从而封锁触发信号Vs。CON3是工作方式选择开关,当2与3端连通时,芯片处于可重复触发工作方式;当2与1端连通时,芯片则处于不可重复触发工作方式。输出延迟时间Tx由外部的R11和C18的大小调整,值为Tx24576xR11C18;触发封锁时间Ti由外部的R15和C17的大小调整,值为Ti24xR15C17。图中R12可以调节放大器增益的大小,原厂图纸选10K,实际使用时可以用3K,可以提
36、高电路增益改善电路性能。R11/R15可以用470欧姆,C6/C7可以选0.1U。因此当环境较暗时,KP-500B监测到红外,BISS0001的V0端有高电平输出,并保存10秒钟。通过主控芯片MSP430F5438A的I/O的采样,环境较暗时有无红外会显示在12864液晶显示屏上。图3-12红外热释电电路3.2.6液晶显示和键盘模块1、液晶12864介绍12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM)。其引脚功能表如表3-5所示:图3-5 12864引脚功能表管脚编号端口
37、名称功能1VSS模块的电源地2VDD模块的电源正端。4.55.5V3V0LCD驱动电压输入端4RS(CS)并行的指令/数据选择信号;串行的片选信号5R/W(SID)并行的读写选择信号;串行的数据口6E(CLK)并行的使能信号;串行的同步时钟7DB0数据08DB1数据19DB2数据210DB3数据311DB4数据412DB5数据513DB6数据614DB7数据715PSB数据816NC空脚17/RET并/串行接口选择:H-并行;L-串行18NC空脚19LED_A背光源正极(LED+5V)20LED_K背光源负极(LED-OV)2、液晶模块电路原理图液晶12864电路图如图3-13所示,D0-D7
38、接到单片机P8口。液晶RS 引脚接到单片机P3.0口,液晶RW引脚接到单片机P3.5口,液晶E引脚接到单片机P3.4口。图3-13液晶12864电路图3、键盘模块电路原理图键盘模块电路图如图3-14所示,矩阵键盘的接口和单片机的P7口相连。图3-14键盘电路原理图3.3 硬件电路板的焊接与制作3.3.1 系统硬件电路原理图根据我们所需系统模块硬件,画出如图3-15的原理图,其中包含了电源电路、数据采集子系统电路、与核心板通信接口电路等子模块:图3-15系统原理图3.3.2 系统硬件电路PCB图在PCB设计中,布线是完成产品设计的重要步骤,我们的PCB布线为双面布线。为了避免输入端与输出端的边线
39、相邻平行而产生反射干扰和两相邻布线层互相平行产生寄生耦合等干扰而影响线路的稳定性,我们PCB在制版中考虑PCB尺寸大小、确定特殊组件的位置、布局方式、电源和接地线处理的基本原则、导线设计的基本原则完成PCB布线,如图3-16所示。图3-16 系统PCB图经过PCB板打样和元器件焊接,数据采集子系统PCB电路板如图3-17所示:图3-17数据采集系统电路板4 系统软件设计4.1 软件开发环境及编程思想简介MSP430微处理器开发环境采用IAR公司的集成调试环境Embedded Workbench。集成环境如图所示。此编译软件可通过JTAG调试器(JTAG Debugger)直接将程序代码下载到片
40、内FLASH中,即可脱机运行,也可通过调试器在线调试。整个用户界面友好,操作简单。图4-1 Embedded Workbench调试环境 嵌入式系统的软件编程思想分为两种:模块化编程和结构化编程。模块化编程就是指将一个大的工程按功能分割成一些小的模块,各模块相对独立、功能单一、结构清晰、接口简单,从而减小了整个工程程序设计的复杂性,缩短了开发周期,并且易于程序的维护和功能扩充。结构化编程中各子程序间使用结构良好的转移或调用,各个模块有机的组合成一个整体。在这个过程中,要注意严格控制使用任意转移语句。 为了节省开发时间,提高程序的可移植性和可维护性,我们在开发过程中采用模块化编程。4.2系统主程
41、序设计系统的主程序运行时,首先应该初始化系统的时钟,然后调用系统初始化子函数,初始化系统寄存器,主要包括禁止看门狗、关闭不需要的外设以降低系统的功耗。再初始化中断向量表和与系统功能相关的微处理器的外设,包括I/O端口、液晶、内部ADC、定时器、I2C串口、允许中断等。当所有的初始化完成之后,最后系统便进入到一个while(1)的无限循环之中,进行实时读取温度、光强值、湿度值、可燃气体浓度、当环境较暗时有无红外,同时等待定时中断的到来,在子函数中进行数据的采集、数据存储监控显示等功。系统主程序流程如图4-2所示:液晶显示预设值数据采集(A/D转换)处理转换数据监控显示设定完成?开始按键预设报警值
42、图4-2系统主程序流程图首先系统上电复位,开始运行程序。首先进报警预设值,通矩阵键盘设定报警值,并通过液晶显示,在用户设置完成按下确定按键以后,开始整个系统的数据采集,通过单片机在液晶界面实时显示。在主程序框架的设计过程中,有一些事项需特别注意:1、中断子程序中的代码数量不宜过多,过多的代码数量会使得中断子程序运行的时间变长,定时的效果变差。2、在主程序的设计中,采用了软件开启看门狗的抗干扰措施,防止由于程序抛飞造成程序陷入无用的死循环中。3、芯片使用时严格按照时序,以及使用的环境温度。4.3 系统子程序设计4.3.1 按键设置程序按键子程序主要用于设定阈值报警系统。所以必须满足下列两个条件:
43、(1) 开机时进入设置界面预设初值。(2) 在软件运行过程中,每当用户需要修改阈值时候可以随时修改。开机时以及按下设定按键时,进入设置子程序,开始修改阈值。按下“+键”或“-键”修改预设值,按下“确定键”来跳到下一个环境参数设定,最后一次按确定以后退出设置子程序。流程图4-3所示:开始设置光强阈值设置温度阈值设置湿度阈值结束图4-3 按键设置流程图4.3.2 数据监测程序数据交换是本设计中最关键的一环,是其他程序设计的基础。所有传感器检测到的数据经单片机处理后的数据与矩阵键盘设定阀值比较判断,当处理后的数据超过阀值时,蜂鸣器会报警。数据监测流程图如图4-4所图4-4数据监测流程图4.3.3 主
44、控芯片MSP430F5438A时钟设定程序单片机工作离不开时钟,在我们熟悉的51单片机里面,就是外部那个11.0592M或12M的晶振给单片机的CPU和片上外设提供时钟节拍。MSP430F5438A也是一样,但是MSP430F5438A的时钟系统比51要先进和复杂很多。51的时钟源只有一个来自外部晶振,直接提供给内部工作;而MSP430的时钟是一个专门的模块,至少有3个可选时钟源(MSP430F5438A有5个),这些基本的时钟源不直接提供给CPU和外设使用,而是经过一些数据选择器和分频器,得到3个有用的时钟信号。MSP430的CPU和片上外设可以根据需要,选择这3个时钟信号中合适的时钟。MS
45、P430的低功耗跟它的时钟系统有很大关系。MSP430F5438A中一共有5个时钟源:XT1CLK、VLOCLK、REFOCLK、DCOCLK、XT2CLK。其中XT1CLK是一个低频时钟源,由外部提供,一般是外接32.768kHz的手表晶振,无需外加电容。VLOCLK是一个集成在片上时钟源,低频低功耗,频率典型值是10kHz。REFOCLK也是一个片上时钟源,频率典型值32.768kHz。DCOCLK是一个片上的DCO数控振荡器,可以用片上FLL锁定。XT2CLK是一个高频时钟源,由外部提供,用来给MSP430F5438A的RF模块提供时钟,一般是外接25MHz晶体振荡器。其中,片上时钟VLOCLK、REFOCLK不是很精确稳定,会受到温度和电压的影响。一般对精度和稳定性要求不高的应用可以选择片上时钟。DCOCLK因为有FLL的锁定,所以可以提供非常稳定的时钟。DCOCLK分频之后的时钟DCOCLKDIV一般提供给MCLK和SMCLK。经过时钟系统出来一般有3个时钟信号:ACLK、MCLK、SMCLK。辅助时钟(ACLK)可由软件选择作为各个外围模块的时钟信号,一般用于低速外