基于MSP430的智能温度检测系统设计

发布者:码农闲散人最新更新时间:2013-04-13 来源: dzsc关键字:MSP430  温度检测系统  DS18B20 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  随着设备的电气化和自动化程度不断提高, 对设备和环境进行实时监控显得尤为重要。传统的测温器件热敏电阻测出的一般是电压, 需要再转化为相应的温度, 这就要有其它外部硬件的支持。因此硬件电路比较复杂, 设计成本也比较高。智能温度检测系统采用的是一种改进型智能温度传感器DS18B20, 数字温度传感器通过单总线与单片机连接, 系统结构简单, 抗干扰能力强, 适合于恶劣环境下进行现场温度测量, 也可应用于仓库测温、高层空调控制和农业生产过程监控等领域。

  2 温度检测系统硬件构成

  该温度检测系统由主控制器MSP430F149、存储模块CAT24WC64、液晶显示模块HTM1602A、语音报警模块ISD1420、矩阵键盘和单总线接若干温度传感器DS18B20组成。系统硬件框图如图1所示。由图可见, 多点温度测量电路只占用了MSP430F149 的一个普通IO口, 系统资源利用率较高。

图1 系统硬件总体电路图

  2. 1 DS18B20

  2. 1. 1 DS l8B20的内部结构

  DS18B20的内部结构如图2 所示, 主要由四部分组成: 光刻ROM、温度传感器、非易失性的温度报警触发器TH 和TL 配置寄存器。DS18B20 可以有多种封装形式, 在TO - 92封装中, 如图2 ( a )所示, GND 为接地引脚, DQ 为数据输入/输出引脚,VDD为可选的外部电源供电引脚, 在寄生电源工作方式下接地。光刻ROM中的64位序列号是出厂前被光刻好的, 它可以看作是该DS18B20的地址序列码。64位光刻ROM 的排列是: 开始8位( 28H )是产品类型标号, 接着的48 位是该DS18B20自身的序列号, 最后8位是前面56位的循环冗余校验码。

  光刻ROM 的作用是使每一个DS18B20 都各不相同, 这样就可以实现一根总线上挂接多个DS18B20的目的。

图2 DS18B20整体结构图

  2. 1. 2 DS18B20的工作过程

  访问DS18B20的工作顺序通常为: 初始化, 发送ROM 操作命令, 发送RAM 操作命令。通过初始化复位工作使主设备知道传感器DS18B20存在并准备工作。通过发送ROM 命令可以知道某个特定的DS18B20是否存在并且是否超过温度警界值。

  共有5种ROM操作命令, 分别是读ROM ( 33H )、匹配ROM ( 55H )、搜索ROM ( FOH )、跳过ROM( CCH)、告警搜索命令( ECH )。通过发送RAM 操作命令, 可以设定电源供电方式, 启动温度转化, 读写DS18B20的暂存区。共有6种功能命令, 分别是转换温度( 44H )、读暂存区( BEH )、写暂存区( 4EH )、复制暂存区( 48H )、重调EEPROM ( B8H )、读电源供电方式( B4H )。每条命令有不同代码, 在总线上传送时, 由器件根据接收的命令代码完成相应的操作。因此DS18B20的单线通信功能是分时完成的, 它有严格的时序要求。[page]

    2. 2 MSP430F149

  本设计的主控芯片采用美国德州仪器公司的16位带FLASH 单片机MSP430F149。它具有处理能力强、运行速度快、功耗低等优点。其工作电压为1. 8V ~ 3. 6V; CPU 运行正交的精简指令集。片内寄存器数量多。存储器可实现多种运算。

  MSP430F149中断源较多并可任意嵌套, 系统处于省电状态, 用中断请求唤醒只需6 微秒。它还具有丰富的外围器件。其16位定时器T imerA具有4种工作模式, 可同时进行多个捕获/比较功能; 48个可独立编程的I /O 口; 2 个串行通信接口微秒ART0与微秒ART1; FLASH 存储器多达60KB, 擦写次数可达10万次。该款芯片的超低功耗和良好的性能价格比使其非常适合工业监控领域。

  2. 3 语音报警模块

  对于温度的超限情况进行报警, 系统采用语音报警方式。语音报警由ISD1420 芯片控制, 它具有分段录放功能, 每次录放时间为20S。预先录制好的温度语音, 由MSP430单片机判断被测温度, 当测量值高出或低于标准值时放出各自相应的录音, 从而实现温度的报警功能。

  2. 4 温度显示模块

  液晶显示模块HTM 1602A 是基于S6A0069 芯片构建的2行l6列字符型的LCD 液晶显示模块, 其字符显示的分辨率是5 ×8 (即每个字符是由一个5× 8的点矩阵构成)。基于S6A0069所编写的控制程序亦可以很方便地应用于其它大部分字符型液晶显示模块。因此选用HTM 1602A 模块显示系统的测温结果。

  2. 5 数据存储模块

  系统采用CAT24WC64 作为存储芯片。

  CAT24WC64是一个64k位串行CMOS EEPROM, 内部含有8192个8位字节, 具有一个32 字节写缓冲器, 该器件通过I2C 总线接口进行操作, 有专门的写保护功能。测温系统采用CAT24WC64用来集中记录单总线上所有温度传感器的注册信息, 即按地址顺序存放DS18B20 的64位光刻ROM 序列码。每个序列码占用8字节空间, 系统管理程序会以8字节为基数计算传感器注册码的地址序号, 并反馈给用户作为传感器的标识号。

  2. 6 串口通信接口电路设计

  将MSP430F149单片机采集的温度数据传输到上位机, 利用MSP430 单片机的通讯接口连接到RS232串行口接收或发送数据和指令, 但是单片机的TTL电平和RS232不兼容, 因此使用MAX232进行电平转换, 其接口电路图如图3所示。

图3 MSP430F149与PC机的串行接口电路

  MSP430 有两组通讯接口, UTXD0、URXD0 和UTXD1、URXD1, 这里用的是第一组。MSP430F149单片机3. 3V 的信号由UTXD0出来输入到MAX232的T1 IN 脚, 转换成±15V的信号由T1OUT 送到通讯标准接头的2脚( RXD) , ±15V 的信号由通讯标准接头的3脚( TXD )出来输入到MAX232 的R1 IN脚, 转换成±15V 的信号由R10UT 送到单片机的URXDO。

  3 温度检测系统软件设计

  MSP430系列是一种具有集成度高、功能丰富、功耗低等技术特点的16位单片机, 它采用c语言完成程序设计, 大大提高了开发调试的工作效率; 同时用c语言所产生的文档资料也容易理解, 便于移植。

  3. 1 下位机编程

  系统程序设计包括主程序, 复位子程序, 报警和分辨率设置子程序, 温度转换子程序, 读温度子程序, 计算温度和显示温度子程序等等。MSP430F149对DS18B20的访问流程是: 先对DS18B20初始化,再进行ROM 操作命令, 最后才能对存储器RAM 操作。程序流程图如图4 所示。下面就简要介绍MSP430系列单片机C 语言的几个主要子程序。

图4 程序流程图

[page]

    3. 1. 1 复位子程序

  该程序的主要功能是负责DS18B20的复位, 以方便进行以后的操作。复位要求主CPU 将数据线下拉500微秒, 然后释放, DS18B20收到信号后等待16~ 60微秒左右, 后发出60 ~ 240微秒的存在低脉冲, 主CPU 收到此信号表示复位成功。

  bit ResetDS18B20( )

  { unsigned char ;i

  bit flag;

  DS18B20= 0:

  for( i= 0; i< 200; i+ + ) ; / /保持低电平500微秒

  DS18B20= 1:

  for( i= O; i< 30; i+ + ) ; / /等60微秒

  flag= DS18B20; / /取DS18B20状态

  for( i= 0; i< 100; i+ + ) ; / /等300微秒

  return flag; / / flag= 0复位成功, flag= 1, 复位不成功

  }

  3. 1. 2 写一个字节子程序:

  CPU 将数据线从高电平拉至低电平, 产生写起始信号; 15 微秒之内, 将所写的位送到数据线上;DS18B20在之后15~ 60微秒接收位信息; 写下一个位之前要有1秒以上的高电平恢复; 将以上过程重复8次, 即完成一个字节的写操作。

  vo idWRDS18B20( unsigned char data0)

  { unsigned char ,i ;j

  for( j= 0; j< 8; j+ + )

  {

  DS18B20= 0; / /高电平拉到低电平, 产生写起始信号

  for( i= 0; i< 1; i+ + ) ;

  DS18B20 = da ta0& 0x01; / /15微秒内写一位

  for( i= 0; i< 20; i+ + ) ; / /等60微秒, DS18B20完成采样

  DS18B20= 1; / /高电平恢复

  data0= data0> > 1; / /右移, 为下一位准备}

  }

  3. 1. 3 读一个字节子程序

  CPU 将数据线从高电平拉到低电平1微秒以上, 再拉到高电平, 产生读起始信号; 15微秒之内,CPU 读一位; 读周期为60微秒, 读下一个位之前要有1微秒以上的高电平恢复; 将以上过程重复8次,即完成一个字节的读操作。

  unsigned charRDDS18B20( )

  { unsigned char ,i ,j data0= 0;

  bit temp;

  for( j= 0; j< 8; j+ + )

  { DS18B20= 0; / /高电平拉到低电平1微秒以上

  for( i= 0; i< ;l i+ + ) ;

  DS18B20= 1; / /再拉到高电平, 产生读起始信号

  for( i= 0; i< 1; i+ + );

  temp= DS18B20; / /15微秒之内读一位

  for( i= 0; i< 20; i+ + ); / /等60微秒

  data0= dataO > > 1; / /为下一位准备

  if( temp= = 1) data0= dataO |0x80;

  else data0= data0& 0x7;f

  DS18B20= 1; / /高电平恢复

  for( i= O; i< 1; i+ + ); }

  return data0; }

  3. 2 上位机软件编程

  系统采用MSCOMM 控件实现VC ++ 与单片机之间的数据交换, 具有程序实现简便、程序模块化、工作可靠等优点, 并能满足多数情况下的工控要求。

  使用MSCOMM控件主要是通过事件来处理串行口的交互。控件的MSCOMM 事件负责捕获或处理这些通讯事件和通讯错误。

  4 结束语

  测温系统采用了集成度高、功耗低的MSP430F149 为核心微处理器, 通过传感器DS18B20实现对温度测量, 并进行存储和显示。实验表明: 当外界温度试验的范围设定在0℃ ~ 50℃ ,可确保测量误差不超过±0. 5℃ , 在试验板上显示温度精确到0. 0625℃, AD转换的时间是750ms, 传输的距离是40m。另外, 在该系统的基础上也可以扩展其他信号, 如湿度, 压力等。

参考文献:

[1]. MSP430F149  datasheet http://www.dzsc.com/datasheet/MSP430F149+_874114.html.
[2]. DS18B20 datasheet http://www.dzsc.com/datasheet/DS18B20_8175.html.
[3]. CAT24WC64 datasheet http://www.dzsc.com/datasheet/.html.
[4]. ISD1420 datasheet http://www.dzsc.com/datasheet/ISD1420_409804.html.
[5]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[6]. MSP430 datasheet http://www.dzsc.com/datasheet/MSP430_490166.html.
[7]. S6A0069  datasheet http://www.dzsc.com/datasheet/S6A0069+_1.html.
[8]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[9]. TTL datasheet http://www.dzsc.com/datasheet/TTL_1174409.html.
[10]. MAX232 datasheet http://www.dzsc.com/datasheet/MAX232_7.html.

关键字:MSP430  温度检测系统  DS18B20 引用地址:基于MSP430的智能温度检测系统设计

上一篇:基于MSP430F149和nRF905的无线血氧指夹的设计与实现
下一篇:基于ZigBee技术的分布式温室监控系统的设计

推荐阅读最新更新时间:2024-03-16 13:21

德州仪器举办全球超低功耗MSP430 MCU 设计大赛
日前,德州仪器 (TI) 宣布启动 MSP430 微控制器 (MCU) 超低功耗设计挑战赛,旨在鼓励全球设计人员充分展现其创新实力。该项赛事得到了电子元器件经销商安富利电子元件部 (Avnet Electronics Marketing) 的支持,比赛将在 2009 年 10 月 19 日至 2010 年 1 月 19 日期间进行。参赛选手将提交使用业界最低功耗 MSP430 MCU 与开发工具、面向从日常实用解决方案到专用设计理念的各种低功耗视频演示,从而激励他们最大限度地降低功耗。 由三名评委组成的评委会将根据参赛作品的创新性以及对片上 MSP430 MCU 特性的利用,评选出前三名选手。所有参赛作品都将根据创造
[手机便携]
单片机双字节数乘法运算实验_MSP430单片机基本特点
MSP430单片机已经用于各个领域,尤其是仪器仪表、监测、医疗器械以及汽车电子等领域。 下面简单来说一下它的主要特点:(1)低电源电压范围,1.8~3.6V。 (2)超低功耗,拥有5种低功耗模式。 (3)灵活的时钟使用模式。 (4)高速的运算能力,16位RISC架构,125ns指令周期。 (5)丰富的功能模块,这些功能模块包括:A:多通道10-14位AD转换器;B:双路12位DA转换器;C:比较器;D:液晶驱动器;E:电源电压检测;F:串行口USART(UART/SPI);G:硬件乘法器;H:看门狗定时器,多个16位、8位定时器(可进行捕获,比较,PWM输出);I:DMA控制器。 (6)FLASH存储器,不需要额外的高
[单片机]
单片机双字节数乘法运算实验_<font color='red'>MSP430</font>单片机基本特点
基于MSP430单片机的智能型复费率单相电能表设计
0引言 人均用电量大幅度增加使得“一户一表制”得到大面积推广,对电能表的要求和需求大幅度增加。为鼓励用户在低谷时段用电,缓解用电紧张,电力部门已试行峰谷不同电价的计费办法,同时采用智能化远程抄表、自动计量计费等方法以解决人工抄表存在的诸多问题,减轻劳动强度,提高管理水平。微机集中抄表管理系统是一种比较理想的解决方案,基础是根据电力部门的复费率电能表技术条件及通信规约设计出具有通信接口和分时计费功能的电子式复费率电能表。该仪表是以高性能微控制器为主控芯片进行分时计量控制的新型智能型计量仪表,具有分时段计费和连续计量功能,可以达到计划用电的目的。这里给出了一种基于超低功耗 MSP430单片机的复费率电能表的硬件实现方案和软件设计思
[单片机]
基于<font color='red'>MSP430</font>单片机的智能型复费率单相电能表设计
采用MSP430FG4616单片机与模数转换器实现心电图机系统的设计
十二导联同步心电图机,广泛应用于医院、疾病防控中心等卫生医疗保健机构,十二导联同步心电图机的厂家很多,应用广泛,各种产品之间的差别也比较大。心电图检查技术在心血管病的医疗防治和科研中具有独特的作用,目前在医疗中广泛使用的是单导联或十二导联非同步心电图机,在少数较大医院中使用的十二导联同步检查心电图机均为国外进口或国外产品在国内组装,目前尚无国产的十二导联同步检查的心电图机。根据目前的微电子、单片机和计算机技术成功研制出一种便携式心电图机,它可通过液晶显示器显示心电图,同时将数据在计算机上显示并通过网络实现信息远传,是一种新颖的临床和家庭兼用的心电图机。 标准十二导联简介 人体是一个导体,肢体导联,加压肢体导联aVR﹑aVL﹑a
[单片机]
采用<font color='red'>MSP430</font>FG4616单片机与模数转换器实现心电图机系统的设计
MSP430单片机对步进电机的驱动控制设计
单片机实现的步进电机控制系统具有成本低、使用灵活的特点,广泛应用于数控机床、机器人,定量进给、工业自动控制以及各种可控的有定位要求的机械工具等应用领域。步进电机是数字控制电机,将脉冲信号转换成角位移,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超载状态下,根据上述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路是根据单片机产生的控制信号进行工作。因此,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。 1 系统设计原理 步进电
[单片机]
<font color='red'>MSP430</font>单片机对步进电机的驱动控制设计
MSP430程序升级
利用自定义升级固件 MSP430系列单片机的FLASH存储器模块是一个可独立操作的物理存储单元。全部模块安排在同一个线性地址空间中,存储器被分为多个512字节的段(信息段大小为128/64字节)。各段可单独擦除,并且在正常工作电压下程序可对FLASH进行擦写操作,因此特别适合在线程序升级(in-system program)。 自定义升级固件就是在程序中内置一段用于升级应用程序的代码,即可利用现有通信接口进行远程代码的升级。其实现原理是在目标芯片中放置2段代码:一段为应用程序,一段为升级程序。两者的地址段不重叠,这样就可以利用升级程序擦除应用程序并写入新的代码。 3.1引导程序 复位后先进入引导程序,由它来决定进入升级程序或应用
[单片机]
MSP430G2553 引脚简单使用
1.选择引脚功能 -- PxSEL,PxSEL2 PxSEL2 PxSEL 管脚功能 0 0 用作IO口 0 1 用作第一功能引脚 1 0 保留,参考具体型号的手册 1 1 用作第二功能引脚 设置引脚用作外设功能时,芯片不会自动设置该引脚输入输出方向,要根据该功能,用户自己设置方向寄存器 PxDIR。 2.选择引脚输入/输出方向 -- PxDIR Bit = 0: 输入 Bit = 1: 输出 3.选择引脚是否使能上下拉电阻 -- PxREN Bit = 0: 不使能
[单片机]
TinyOS在MSP430F2618上移植(四)之FLASH
本节叙述串口FLASH在TinyOS上的移植。 FLASH采用华邦的W25X80,存储容量8M bit,通过SPI接口进行数据读写,具有写保护功能。 采用3层模型,最底层实现在特定平台中的引脚连接,以及SPI接口的连接。中间层提供Flash接口,该接口为带参数接口(主要是为了学习带参数接口的应用,FLASH的擦除可以体现此方法的优点),参数即为写FLASH的命令。最高层提供应用层模块的接口。 在本架构中,中间层和最高层提供相同的接口Flash,该接口提供的实现方法有erase,perase(提供块擦除和区域擦除),read,write。最高层接口的实现中并没有给出真正的FLASH操作代码,而仅仅是保存了应用层传递的参数,并
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved