基于MSP430的温度采集报警系统的毕业设计.docx
《基于MSP430的温度采集报警系统的毕业设计.docx》由会员分享,可在线阅读,更多相关《基于MSP430的温度采集报警系统的毕业设计.docx(45页珍藏版)》请在冰豆网上搜索。
![基于MSP430的温度采集报警系统的毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-2/25/5b49122b-471c-4a12-8fd7-d13de7b403f0/5b49122b-471c-4a12-8fd7-d13de7b403f01.gif)
基于MSP430的温度采集报警系统的毕业设计
基于MSP430的温度采集报警系统的设计
摘要
温度控制仪表具有广泛的应用前景,在各种行业中都占有重要的位置,越来越多的领域应用到以单片机为控制核心,用液晶作为显示终端的数字化控制设备,通过单片机对被控对象进行智能控制。
本设计是从降低开发成本、扩大适用范围、系统运行的稳定性、可靠性的设计目的出发,采用MSP430F149单片机为控制核心、以单线数字温度传感器DS18B20来完成温度信号的采集、温度以数字的方式显示在LCD1602液晶上,最终实现温度的采集、显示和报警。
上下限温度值可以根据实际要求,通过键盘输入来实现设定。
从而实现自动温度控制等功能,并重点阐述了系统的硬件构成和软件编程的设计过程。
其中硬件构成有六部分:
电源及复位模块、采集模块、键盘输入模块、显示模块和报警模块。
MSP430F149是一种16位内含FLASH型芯片的单片机,具有高速运算、开发设备简便、可现场编程等特点,这给控制系统的设计带来了极大的便利性。
各个模块的电路原理图都有protel来完成。
每个模块的软件编程都在IAR开发环境中完成并实现。
关键词:
MSP430F149,温度控制仪,DS18B20,LCD1602
DESIGNOFTEMPERATUREACQUISITIONANDALARM
SYSTEMBASEDONMSP430F149
ABSTRACT
Temperaturecontroltheappearanceofawideapplicationprospect,invariousindustrieswilloccupyanimportantposition,moreandmorefieldstoamonolithicintegratedcircuitstocontroltheuselcdasadisplayterminalequipmentbysomemonolithicintegratedcircuitstocontroltheobjectisintelligentcontrol.
Thisdesignistoreducecosts,expandthedevelopmentofthescopeandthesystemrunningstability,reliability,designedbymsp430f149monolithicintegratedcircuitstocontrolthetemperaturesensorandfiguresds18b20tocompletethetemperatureofthecollection,thetemperatureinthenumberofwaysinlcddisplaylcd1602,achievethetemperatureofthecollectionanddisplayandthepolice.Theminimumtemperaturevaluesbasedonactualrequirements,thekeyboardforset.forautomatictemperaturecontrolandotherfunctions,andthehardwareandsoftwaresystemsoftheprogrammingprocess.thedesignofhardwaretoconstituteapartofsixmodules,powerandresetsthecollected,keyboard,themoduledisplaysmoduleand.
Msp430f149isa16-bitflashchipsincludingthetypeofoperationofamonolithicintegratedcircuits,thedevelopmentofdeviceeasy,butthecharacteristicsandprogrammingforthecontrolsystemdesignagreatconvenience.allmodulesofaschematicdiagramofacircuitareproteltocomplete.eachmodulesoftwareprogrammingintheiardevelopmentenvironmentsandimplementation.
KEYWORDS:
MSP430F149,temperaturecontroldevice,DS18B20,LCD1602
目 录
前言
§概述
电子技术的飞速发展,给人类的生活带来了根本性的变革,特别是随着大规模集成电路的产生而出现的微型计算机,将人类社会更是带入了一个新的时代。
然而,微机造价高,对于大多数的工业控制来说,也并不需要微机那样强大的功能,于是单片机技术就应运而生了。
单片机依靠其高可靠性和高性价比,在工业控制,智能化仪表,家用电器等方面得到极为广泛的应用。
在石油、化工、电力、冶金等重要工业领域中,温度是生产中最常见和最基本的工艺参数之一,任何化学反应或物理变化的进程都与温度密切相关,因此温度的测量与控制是生产过程自动化的重要任务之一,且越来越重要。
这就需要一种能够及时检测温度变化以及控制其变化的设备,给人们提供温度数据值,使人们对温度的变化做及时的调整。
本文设计的温度采集报警系统可以根据人们不同的应用环境自行设置温度值,反映生产、生活中温度变化,协助人们及时对温度进行调整,使温度控制更好的服务于社会的生产、生活。
本文设计的温度采集报警系统采用具有超低功耗性能的MSP430单片机作为主芯片,并利用其自带的具有12位分辨率的ADC12进行模/数(A/D)转换。
温度采集使用单线数字温度传感器DS18B20来实现,其采集及显示温度精度可以达到0.1℃。
该传感器测量精度高、互换性好等优点。
笔者可以在DS18B20的程序中设定一个温度域,若所显示的温度超出所设定温度的上下线时报警装启动并报警。
温度的数字通过LCD1602液晶显示器显示。
§本课题的目的与意义
温度控制技术是一种非常重要的工业技术。
在工业生产过程中,为了高效地进行生产,必须对它的主要参数,如温度进行有效的控制。
在温度控制方面,还存在着许多问题。
如何更好地提高控制性能,满足不同系统的控制要求,常采用单片机设计的温度控制仪来通过改变流过制冷器的电流方向实现加热和制冷的转换,十分方便,快捷,因此有一定的实际应用意义。
该课设的目的:
1.弄懂MSP430F149单片机的工作原理以及为控制系统的设计方法;
2.了解DS18B20数字温度传感器的工作原理;
3.培养硬件和软件相结合的设计及调试能力;
4.运用传感器技术和控制技术实现对温度的检测和液晶显示。
通过老师的指导设计检测仪的硬件测温采集电路,键盘输入电路以及报警和LCD液晶显示电路。
从而实现温度的采集、显示和报警。
§课题的主要研究内容及指标
本课题主要是对现有的温度控制器进行分析研究,确定系统的整体方案,设计一种基于MSP430单片机的温度采集报警系统,包括硬件和软件的设计部分。
在研究分析了单线数字温度传感器DS18B20测温原理的基础上,设计检测仪的硬件测温采集电路,键盘输入电路以及报警和LCD液晶显示电路,然后通过编写系统的温度采集程序、键盘输入程序、液晶显示程序和报警处理程序等,最终将检测到的温度以数字的方式显示在LCD1602液晶上,最终完成课设的要求。
主要技术指标:
DS18B20测温范围为-55℃~125℃,精度为0.1℃;A/D变换时间为200ms。
MSP430F149单片机采用两个时钟输入,一个32kHz的时钟信号,一个8MHz的时钟信号。
采用150ns的指令周期,用12位200kbps的A/D转换器,自带采样保持。
第一章系统总体设计
本设计的原理是:
温度采集系统主要通过单线数字温度传感器DS18B20采集得到温度数据,MSP430F149作为CPU从温度传感器读取数据,将得到的数据进行判断然后做相应处理,比如显示或报警。
温度传感器通过某种关系的换算,就可以得到温度传感器的输出电压,这样单片机通过模拟口采集得到传感器的输出电压[1]。
由于MSP430F149片内集成了A/D转换通道,这样可以直接将单片机的A/D输入通道与传感器的模拟电压输出通道相连接另外系统通过键盘输入来完成对报警温度上下限的设置,通过显示电路将得到的数据显示出来,当温度超过上限和下限的时候,系统进行报警,报警是通过驱动一个蜂鸣器来实现的。
下面一部分将具体介绍系统的构成。
该系统主要有传感器采集模块、键盘输入模块、电源及复位模块、报警模块及显示模块,分别有P2.6、P1.0~P1.7、RESET、P2.5、P2.2~P2.4和P4.0~P4.7控制。
系统框图如图1-1所示。
图1-1系统框图
由图1-1可以看出,整个系统具有结构简单等特点。
传感器模块与单片机的A/D通道进行连接,这样可以简化模拟采集的设计,从而减小设计的复杂性,增加系统的可靠性。
键盘输入模块是通过单片机的P1口来实现的,由于P1口中断功能,所以实现起来非常容易,并且也非常适合软件编程[1]。
电源及复位模块主要是为整个系统提供可靠的电源,另外考虑到系统工作需要有复位功能,因此也为系统提供复位信号。
第二章单片机及温度传感器
§2.1MSP430F149单片机
MSP430系列单片机是美国德州仪器公司推出的16位超低功耗,高性能产品,它具有处理能力强,运行速度快,资源丰富,开发方便等优点。
MSP430系列单片机结合TI的高性能模拟技术,片内集成了多种功能模块。
大部分MSP430系列单片机采用FLASH技术,支持在线编程,并有保密熔丝。
MSP430系列微控制器具有对模拟信号处理的能力,而且MSP430系列的全部成员在软件上是兼容的,公用相同的软件库、设计技术及开发工具,可以方便地在系列中的各型号间移植。
本设计采用MSP430F149单片机作为核心部件。
(一)MSP430F149的组成如下:
1.基础时钟模块,包括一个数控振荡器(DCO)、一个高速晶体振荡器(最高8MHz)和一个低速晶体振荡器(32768Hz)。
2.看门狗定时器WatchdogTimer,可用作通用定时器。
3.带有3个捕获/比较寄存器的16位定时器Timer_A3。
4.带有7个捕获/比较寄存器的16位定时器Timer_B7。
5.两个具有中断功能的8位并行端口;P1与P2。
6.四个8位并行端口;P3、P4、P5与P6。
7.模拟比较器Comparator_A。
8.12位200kbps的A/D转换器ADC12,自带采样保持。
9.两通道串行通信接口可用于异步或同步(USART0、USART1)。
10.一个硬件乘法器[2]。
(二)MSP430F149的特点如下:
1.低电压(电压范围是1.8v~3.6v),超低功耗(2.2v1MHz280μA)。
2.超低功耗。
在休眠条件下工作电流只有0.8μA;就是在2.2v、1MHz条件下电流只有280μA。
3.使用中断请求将CPU从低功耗模式下唤醒时间:
6μs
4.快速的指令执行时间。
MSP430F149为16位RISC结构,指令周期为150ns。
5.片内有12位A/D转换器,片内提供参考电压。
A/D转换器具有采样保持和自动扫描特点。
6.具有灵活的时钟设计。
7.方便的调试功能。
单片机是FLASH型的,可以实现写入和擦除,再加上次单片机提供JTAG口,能实现能很好的在线调试仿真功能。
通过集成的IDE开发环境,使用户很容易调试程序。
8.安全熔丝的程序代码保护
9.片内提供模拟信号比较器、较多的储存器。
10.串口通信模块,USART0USART1。
11.提供P1.0~P6.0六个数据端口,能为用户提供更多的处理功能。
(三)在MSP430F149中有一个16位定时器和一个12位转换模块ADC12。
16位定时器可以用作看门狗定时器,实现在秒数量级上的定时。
其中有2个中断向量,便于处理各种定时中断。
另外,定时器还具有捕获模式,我们可以通过定时器的捕获功能实现各种测量,比如脉冲宽度测量[3]。
12位A/D转换用到2个参考电平,即Vr+和Vr-,作为转换范围的上下限和读数的量程值和“0”值。
转换数值在输入信号大于等于Vr+时为满量程,小于等于Vr-时为“0”。
ADC12有4种工作模式。
可以在单通道上实现单次转换或多次转换,也可以在序列通道上实现单次转换或重复转换。
对于序列通道转换,采样顺序完全由用户定义。
转换的结果保存在16个转换寄存器中,这样ADC12可以进行多次转换而不需要软件干预,这一点提高了系统性能,也减少了软件开销[2]。
MSP430F149单片机管脚如右图2-1所示
图2-1MSP430F149引脚图
§2.2单线数字温度传感器DS18B20
美国DALLAS公司生产的单线数字温度传感器DS18B20,它是一种自能温度传感器,可把温度信号直接转换成串行数字信号供微机处理。
由于每片DS18B20含有唯一的硅串行数,从DS18B20读出的信息或写入DS18B20的信息,仅需要一根口线(单线接口)[4]。
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
DS1B820提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。
(一)温度传感器DS18B20具有以下特点:
1.单线接口:
仅需一根口线与CPU连接便可以实现双向通信。
2.无需外围元件
3.由总线提供电源,电压范围3.0v~5.5v
4.测温范围为-55℃~125℃,固有测温分辨率为0.5℃。
5.通过编程可以实现九位数字温度读数。
6.用户自设定温度报警上下限,其值是非易失性的。
7.报警搜索命令可识别DS18B20超温度限 ,A/D变换时间为200ms。
8.负压特性,电源极性接反时,温度计不会因发热而烧坏,但不能正常工作。
(二)温度传感器DS18B20内部结构:
DS18B20采用三脚PR35封装如图2-2所示,其内部结构框图如2-2所示[5]。
图2-2DS18B20的外形及封装
图2-3DS18B20内部结构图
1.64位的ROM开始8位是产品类型的编号,接着是每个器件的唯一的序号共计48位,最后8位是前56位的CRC校验码。
2.非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限。
3.高速暂存器存储器包含一个高速暂存RAM和一个非易失性的可电擦除的EP2RAM。
配置寄存器为高速暂存器中的第五个字节,它的内容用于确定温度值的数字转换分辨率,各位字节的定义如表2-1所示:
表2-1各位字节的定义
TM
R1
R0
1
1
1
1
1
后五位一直是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时被设置为0,用户不要去改动,R1和R0决定温度转换的精度位数,也就是设置分辨率。
4.在温度进行计算时,以12位转换位数为例:
对于正的温度,只要将侧到的数值的整数部分取出,转换为十进制,再将小数部分乘以0.0625就可以得到十进制的小数位的温度值了。
而对于负的温度,则需要将采集到的数值取反加1,既可以得到实际温度的十六进制表示。
再按照正温度的计算方法就可以得出十进制的负的温度了[6]。
如下面的两个表所示。
表2-2DS18B20温度寄存器格式
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
LSByte
23
22
21
20
2-1
2-2
2-3
2-4
bit15
bit14
bit13
bit12
bit11
bit10
bit9
bit8
LSByte
S
S
S
S
S
26
25
24
表2-3部分温度值
温度/0C
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+25.0625
0000000110010001
0191H
+0.5
0000000000001000
0008H
0
0000000000000000
0000H
-0.5
1111111111111000
FFF8H
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
第三章系统的硬件设计
通过上面的介绍,知道整个系统包括:
电源及复位模块、键盘输入模块、传感器采集模块、显示模块、报警模块和CPU处理模块,下面就具体的电路进行介绍。
§3.1MSP430F149单片机最小系统设计
单片机电路作为整个系统的核心控制部分,主要是完成与其他电路的接口,从而获得数据进行处理,将处理的结果采用某种方式表示出来,比如显示或报警。
从单片机最小系统电路可以看出,单片机的接口电路非常简单,分别采用单片机的一般I/O口实现与其他电路的连口,在单片机的时钟设计上与其他单片机有一定的区别,MSP430F149单片机采用两个时钟输入,一个32kHz的时钟信号,一个8MHz的时钟信号。
该系统的时钟部分都是采用晶体振荡器实现的[7]。
考虑到电源的输入纹波对单片机的影响,在电源的管脚增加一个0.1uF的电容来实现滤波,以减小输入端受到的干扰。
另外单片机还有模拟电源的输入端,因此在这里需要考虑干扰问题,在该系统中的干扰比较小,因此模拟地和数字地共地,模拟电源输入端增加一个滤波电容以减小干扰。
单片机最小系统电路如图3-1所示。
图3-1单片机最小系统电路
§3.2电源及复位模块
电压电路:
由于MSP430F149单片机的工作电压一般是1.8~3.6V,并且功耗极低。
为了方便起见,本系统采用电池(如2节普通5号电池)供电,因此输出电压为3V。
而整个系统采用3.3V供电,考虑到硬件系统对电源要求具有稳压功能和纹波小等特点,另外也考虑到硬件系统的低功耗等特点,因此该硬件系统的电源部分采用TI公司的TPS76033芯片实现,该芯片能很好满足该硬件系统的要求,另外该芯片具有很小的封装,因此能有效节约PCB板的面积[8]。
为了使输出电源的纹波小,在输出部分用了一个2.2uF和0.1uF的电容,另外在芯片的输入端也放置一个0.1uF的滤波电容,减小输入端受到的干扰。
电源电路具体如图3-2所示。
图3-2电源电路
复位电路:
在单片机系统里,单片机需要复位电路,复位电路可以采用R-C复位电路,也可以采用复位芯片实现的复位电路,R-C复位电路具有经济性,但可靠性不高,用复位芯片实现的复位电路具有很高的可靠性,因此为了保证复位电路的可靠性,该系统采用复位芯片实现的复位电路,该系统采用MAX809芯片[1]。
为了减小电源的干扰,还需要在复位芯片的电源输入腿加一个0.1uF的电容来实现滤波,以减小输入端受到的干扰。
复位电路如图3-3所示。
图3-3复位电路
§3.3采集模块
该系统采用美国DALLAS公司生产的单线数字温度传感器DS18B20来采集温度数据,作为单片机MSP430149的温度传感器,该芯片很多优点,可把温度信号直接转换成串行数字信号供微机处理。
由于每片DS18B20含有唯一的硅串行数,从DS18B20读出的信息或写入DS18B20的信息,仅需要一根口线(单线接口)。
由于该系统采用DS18B20作为温度采集传感器,这部分电路就比较简单了,图3-4为温度采集电路[1]。
图3-4温度采集电路
通过图3-4可以看出该集成电路具有简单、实用等特点。
I/O口可以与MSP430F149的P2.6口直接相连,来完成数据的传送。
§3.4键盘输入模块
键盘输入电路主要是用来输入数据,从而实现人机交互。
该系统的键盘设计是采用扫描方式实现的矩阵键盘。
键盘电路图如图3-5所示。
图3-5键盘输入电路
该矩阵扫描键盘由行线和列线组成,P1.0、P1.1、P1.2和P1.3构成键盘的行线,P1.4、P1.5、P1.6和P1.7构成键盘的列线。
键盘的行线作为键盘的控制输出端,键盘的列线作为键盘的输入端。
在设计时为了程序设计的方便性,键盘的列线采用的是P1.4、P1.5、P1.6和P1.7,这样可以利用该管脚的中断功能。
这样在没有按键按下的情况下,该四个管脚的电平为高电平,如果有按键按下时,则相应的列线管脚为低电平,这时通过设置P1.4、P1.5、P1.6和P1.7为低电平触发中断方式,低电平就触发中断而进入中断服务程序,从而获得输入的数据[9]。
键盘的工作原理具体如下:
首先将P1.0、P1.1、P1.2和P1.3设置为输出,将P1.4、P1.5、P1.6和P1.7设置为输入,并将P1.4、P1.5、P1.6和P1.7设置为低电平触发中断方式;将P1.3设置为低电平,如果该行上有按键按下的话,则P1.4、P1.5、P1.6或者P1.7上为低电平,就会触发中断,进入中断服务程序,获得输入的数据。
如果没有按键按下的话,则P1.4、P1.5、P1.6和P1.7上为高电平,不会进入中断服务程序。
依次将P1.0、P1.1、P1.2和P1.3设置为低电平来判断该行是否有输入,如果没有输入的话,P1.4、P1.5、P1.6和P1.7均为高电平,如果有输入的话,P1.4、P1.5、P1.6或者P1.7上为低电平[10],就会触发中断,进入中断服务程序,获得输入数据。
键盘的扫描时间很短,仅仅几微妙的时间,然而按键的时间一次至少需要几十毫秒,所以只要有按键按下的话是都可以被扫描到的。
另外还要考虑键盘的抖动处理。
§3.5显示模块
系统的显示电路采用LCD1602液晶显示器显示,这样的方式能满足该系统的要求,也可很容易的完成。
图3-6为该系统的显示电路。
图3-6显示电路
通过图3-5可以看出,该显示电路直接与单片机的数据I/O口进行连接,由于MSP430149具有丰富的I/O口资源,这样采用并行的接口方式非常容易,减小系统设计的复杂度,也可以增加系统的可靠性。
P4.0~P4.7是用来显示数据,P2.2、P2.3和P2.4是用来控制数码管的选通状态。
§3.6报警模块
该部分电路主要是驱动一个蜂鸣器,这样只需要将蜂鸣器的一端接地,另一端以单片机进行相接就可以了,由于MSP430F149的驱动能力不是很够,需要加一个放大电路。
该电路具有简单、实用等特点。
为了减少电源的输入纹波对放大电路的影响,在电源的管脚增加一个0.1uF的电容来实现滤波,以减小输入端受到的干扰。
报警电路图如图3-7所示。
图3-7报警电路
有图3-7可知LM386的IN+(3)端口与MSP430F149的P2.5端口通过一个100欧姆的电阻相连接,来完成相应的控制。
第四章系统的软件设计
经过前面对系