基于MSP430的温度控制报警系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微控制器应用及系统设计课程设计报告
南京理工大学
2010 年 5 月
目次
1 引言 (3)
2 系统总体设计 (3)
2.1 系统组成结构及工作原理 (3)
2.2 系统工作流程 (3)
2.3 系统核心器件选型 (4)
3 系统硬件设计 (4)
3.1 电源模块设计 (4)
3.2 LED显示模块设计 (4)
3.3 键盘输入模块设计 (5)
3.4 温度采集模块设计 (5)
3.5 报警模块设计 (6)
4 系统软件设计 (6)
4.1 系统软件总体结构及总流程图 (7)
4.2 LED显示模块程序设计 (9)
4.3 键盘输入模块程序设计 (9)
4.4 温度采集模块程序设计 (10)
4.5 报警模块程序设计 (10)
4.6 主模块程序设计 (10)
5 系统调试与结果分析 (10)
5.1 系统调试步骤 (10)
5.2 遇到的问题及解决方案 (12)
5.3 实验结果 (13)
6 结论与心得体会 (13)
参考文献 (13)
附录 (14)
1 引言
温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。
温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。
现在的生活中,所用到的电器,家具设备,包括工业产品等对温度的要求日益增高,灵敏的温度控制报警系统已成为日常生活中必不可少的产品。例如冰箱的温控系统,锅炉等等,无不都用到了这一功能部件。对于此,我们设计了基于MSP430F149单片机的温度控制报警系统,来模拟实现现实中的温度控制系统。此系统具有设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。
2 系统总体设计
2.1系统组成结构及工作原理
该系统主要由5大模块组成,其中包括DS18B20温度传感器,MSP430F149微控制器,LED显示模块,4X4矩阵键盘输入模块,报警模块5大部分组成。由温度传感器负责数据采集,经微处理器转换后由LED显示模块输出,同时由键盘模块负责输入温度报警的上下限。当到达设定的温度限定值时就报警。
其组成框图如下所示:
2.2 系统工作流程
首先设定温度报警的上下限值,然后由温度传感器进行温度数据的采集,当微处理器检测到温度超过设定的范围值时就实行报警,提醒用户做相关操作。
2.3 系统核心器件选型
MSP430F149单片机,DS18B20温度传感器,6个LED数码显示管,4x4矩阵键盘。
3 系统硬件设计
3.1 电源模块设计
整个系统采用3.3V供电,考虑到硬件系统对电源要求具有稳压功能和波纹小等特点,其使用LT1117芯片,将电压输出为3.3V。其硬件电路原理图如下:
3.2 LED显示模块设计
考虑到系统的成本,同时由于综合设计的时间限制,我们采用了最简单的LED显示方式,这样的方式能满足该系统的要求,同时也可以减低系统的成本。
LED 显示器是由8只发光二极管构成的8段数码显示显示器。其中a——g用于构成7笔字形,h用于构成小数点。本次设计中采用的是共阳极数码管,当其接低电平时点亮相应LED灯。
其硬件原理图如下:
其中共有6位,温度显示时显示2位整数,四位小数。其位选端分别与MSP430F149的P6.2——P6.7相连,显示端分别与单片机的P4.0——P4.7相连。
3.3 键盘输入模块设计
键盘输入电路主要用于输入数据,从而实现人机交互。该系统的键盘设计是采用扫描方式实现的矩阵键盘。其电路原理图如下:
由上图可以看出该矩阵键盘由行线和列线组成,P1.0——P1.3为行线,P5.4——P5.7为列线。键盘的行线作为键盘的控制输出端,键盘的列线作为键盘的输入端。同时考虑到P1端口具有中断功能,因此键盘的处理程序可以由中断产生。键盘的列线通过上拉电路将两个管脚拉高,这样在没有按键按下的情况下,该两个管脚的电平为高电平,如果有按键按下时,相应的列线管脚为低电平,这时通过设置P1口为中断方式,低电平就出发中断而进入中断服务子程序,从而获得输入的数据。同注意到,键盘的扫描时间是很短的,仅仅几微妙的时间,然而按键的时间一次至少需要几十毫秒,所以只要有键按下的话是都可以被扫描到的,但是按键按下时有一定的时间抖动,一定要加入键盘的抖动处理。
3.4 温度采集模块设计
本次系统设计采用的温度转换模块采用的是DS18B20温度传感器,其原理图如下:
其只有一个端口要接,与单片机的P3.0口相接,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源测量温度范围为-55 ° C至+125 ℃。华氏相当于是-67 ° F到257华氏度-10 ° C至+85 ° C范围内精度为±0.5 ° C
DS18B20的初始化:
(1)先将数据线置高电平“1”。
(2)延时(该时间要求的不是很严格,但是尽可能的短一点)
(3)数据线拉到低电平“0”。
(4)延时750微秒(该时间的时间范围可以从480到960微秒)。
(5)数据线拉到高电平“1”。
(6)延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。
(7)若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。
(8)将数据线再次拉高到高电平“1”后结束。
DS18B20的写操作:
(1)数据线先置低电平“0”。
(2)延时确定的时间为15微秒。
(3)按从低位到高位的顺序发送字节(一次只发送一位)。
(4)延时时间为45微秒。
(5)将数据线拉到高电平。
(6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。
(7)最后将数据线拉高。
DS18B20的读操作:
(1)将数据线拉高“1”。
(2)延时2微秒。
(3)将数据线拉低“0”。
(4)延时15微秒。
(5)将数据线拉高“1”。
(6)延时15微秒。
(7)读数据线的状态得到1个状态位,并进行数据处理。
(8)延时30微秒。
3.5 报警模块设计
该部分电路主要是驱动一个蜂鸣器,这样只需要将蜂鸣器的一段接地,另一端与单片机进行相接就可以了,其与单片机的P6.1口相接。其电路原理图如下:
同时考虑到可以分级警报,因此将LED灯加进去,从而在报警时也会将相应的LED灯点亮,以显示不同的报警级别。
4 系统软件设计
4.1 系统软件总体结构及流程图