基于MSP430单片机的高精度温度测试系统Word格式.docx
- 文档编号:20528873
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:55
- 大小:502.40KB
基于MSP430单片机的高精度温度测试系统Word格式.docx
《基于MSP430单片机的高精度温度测试系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于MSP430单片机的高精度温度测试系统Word格式.docx(55页珍藏版)》请在冰豆网上搜索。
在设计温度检测系统时,通常需要采用电池供电的极低功耗模块。
传统的测温手段比较多,但不论是采用分立晶体管、热敏电阻,或者是热电偶,功耗都降不下来,造成诸多不便,因此需要一种超低功耗的温度测量装置。
本文设计了一种基于数字温度传感器DS18B20的小型测温系统,主控芯片采用TI公司的MSP430单片机,数字温度传感器通过单总线与单片机连接,系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,可应用于仓库测温、楼宇空调控制和生产过程监控等领域。
1.2课题简介
本文介绍了一种极低功耗测温装置的软硬件设计方案,方案采用了MCU、传感器和LCD显示屏,具有功能完善、节能耐用、结构简单、外形小巧、价格低廉等优点。
按照该方案制作的测温装置不但可以达到测量要求,而且可以在使用一枚3V电池供电的情况下,连续工作10年以上而不必更换电池。
下面简单介绍下本系统采用的模块的特点:
1.MCU
温度测量装置的关键是控制器和传感器,本方案采用的MCU是美国XX仪器公司(TI)推出的超低功耗16位混合信号处理器(MixedSignalProcessor),具体型号是MSP430F149。
其功耗(1.8-3.6V,0.1-400uA,250uA/MIPS)和口线输入漏电流(最大50nA)在业界都是最低的,远低于其他系列产品。
2.温度传感器
作为温度测量装置的关键部件—温度传感器,本方案则采用了DALLAS半导体公司推出的数字化温度传感器DS18B20,该传感器采用单总线协议,无须任何外部元件,直接将温度转化成数字信号。
3.显示模块
测温系统的显示器模块则采用了信利公司的液晶模块MG-12232,该模块供电电压的典型值为3V,工作电流的典型值为0.3mA,很适合工作电压为3V的低功耗环境。
该模块显示X围为122*32点阵,即能实现“双排汉显”。
第2章MSP430单片机
MSP430系列单片机是美国XX仪器公司推出的16位超低功耗的混合信号处理器(MixedSignalProcessor)。
称之为混合信号处理器,主要是由于其针对实际应用的需求,把许多模拟电路,数字电路和微处理器集成在一个芯片上,以提供“单片”解决方案。
它具有处理能力强,运行速度快,资源丰富,开发方便等优点,有很高的性价比,在世界各国已经得到了广泛的应用,在国内已经进入了飞速发展的阶段。
2.1MSP430系列单片机的特点
MSP430系列单片机的迅速发展和应用X围的不断扩大,主要取决于以下的特点。
●强大的处理能力
MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址)、简洁的27条内核指令以及大量的模拟指令;
大量的寄存器以及片内数据存储器都可参加多种运算;
还有高效的查表处理指令;
有较高的处理速度,在8MHz晶体驱动下指令周期为125ns。
这些特点保证了可编制出高效率的源程序。
在运算速度方面,MSP430系列单片机能在8MHz晶体的驱动下,实现125ns的指令周期。
16位的数据宽度、125ns的指令周期以及多功能的硬件乘法器(能实现乘加)相配合,能实现数字信号处理的某些算法(如FFT等)。
MSP430系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。
当系统处于省电的备用状态时,用中断请求将它唤醒只用6us。
●超低功耗
MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。
首先,MSP430系列单片机的电源电压采用的是1.8~3.6V电压。
因而可使其在1MHz的时钟条件下运行时,芯片的电流会在200~400uA左右,时钟关断模式的最低功耗只有0.1uA。
其次,独特的时钟系统设计。
在MSP430系列中有两个不同的系统时钟系统:
基本时钟系统和锁频环(FLL和FLL+)时钟系统或DCO数字振荡器时钟系统。
有的使用一个晶体振荡器(32768Hz),有的使用两个晶体振荡器。
由系统时钟系统产生CPU和各功能所需的时钟。
并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。
由于系统运行时打开的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。
在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0~LPM4)。
在等待方式下,耗电为0.7uA,在节电方式下,最低可达0.1uA。
●系统工作稳定
上电复位后,首先由DCOCLK启动CPU,以保证程序从正确的位置开始执行,保证晶体振荡器有足够的起振及稳定时间。
然后软件可设置适当的寄存器的控制位来确定最后的系统时钟频率。
如果晶体振荡器在用做CPU时钟MCLK时发生故障,DCO会自动启动,以保证系统正常工作;
如果程序跑飞,可用看门狗将其复位。
●丰富的片上外围模块
MSP430系列单片机的各成员都集成了较丰富的片内外设。
它们分别是看门狗(WDT)、模拟比较器A、定时器A(Timer_A)、定时器B(Timer_B)、串口0、1(USART0、1)、硬件乘法器、液晶驱动器、10位/12位ADC、I2C总线直接数据存取(DMA)、端口O(P0)、端口1~6(P1~P6)、基本定时器(BasicTimer)等的一些外围模块的不同组合。
其中,看门狗可以使程序失控时迅速复位;
模拟比较器进行模拟电压的比较,配合定时器,可设计出A/D转换器;
16位定时器(Timer_A和Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;
有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;
具有较多的I/O端口,最多达6*8条I/O口线;
P0、P1、P2端口能够接收外部上升沿或下降沿的中断输入;
12/14位硬件A/D转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集应用;
能直接驱动液晶多达160段;
实现两路的12位D/A转换;
硬件I2C串行总线接口实现存储器串行扩展;
以及为了增加数据传输速度,而采用直接数据传输(DMA)模块。
MSP430系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。
●方便高效的开发环境
目前MSP430系列有OPT型、FLASH型和ROM型三种类型的器件,这些器件的开发手段不同。
对于OPT型和ROM型的器件是使用仿真器开发成功之后在烧写或掩膜芯片;
对于FLASH型则有十分方便的开发调试环境,因为器件片内有JTAG调试接口,还有可电擦写的FLASH存储器,因此采用先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计者调试使用的方法进行开发。
这种方式只需要一台PC机和一个JTAG调试器,而不需要仿真器和编程器。
开发语言有汇编语言和C语言。
MSP430单片机目前主要以FLASH型为主。
2.2MSP430系列的内部结构概述
MSP430系列器件包含CPU、程序存储器(ROM、ROM和FlashROM)、数据存储器(RAM)、运行控制、外围模块和振荡器和倍频器等主要功能模块。
可以看出,MSP430内部包含了计算机所有部件,是一个真正的单片机(微控制器MCU)。
在16个寄存器中,程序计数器PC、堆栈指针SP、状态寄存器SR和常数发生器CGl、CG2这4个寄存器有特殊用途。
除了R3/CG2和R2/CGl外,所有寄存器都可作为通用寄存器来用于所有指令操作。
常数发生器是为指令执行时提供常数的,而不是用于存储数据的。
对CGl、CG2访问的寻址模式可以区分常数的数据。
外围模块可分为字(16位)模块和字节(8位)模块两种。
对大多数外围模块,MAB通常是16位,MDB是8位或16位
CPUCPU由一个16位的ALU、16个寄存器和一套指令控制逻辑组成。
在CPU内部有一组16位数据总线和16位的地址总线;
CPU运行正交设计、对模块高度透明的精简指令集;
PC、SR和SP配合精简指令组所实现的控制,使应用开发可实现复杂的寻址模式和软件算法。
存储器MSP430系列采用“冯—纽曼结构”。
因此,RAM、ROM和全部外围模块都位于同一个地址空间内,即用一个公共的空间对全部功能模块进行寻址。
支持外部扩展存储器是将来性能增强的目标。
特殊功能寄存器及外围模块安排在000H~1FFH区域;
RAM和ROM共享0200H~FFFFH区域,数据存储器(RAM)的起始地址是0200H。
存储器与CPU及存储器数据总线(MDB),存储器地址总线(MAB)的连接关系如下图:
图2-1CPU与MAB,MDB连接关系
(1)程序存储器MSP430系列程序存储器的类型有ROM、OTP和FlashROM三种,ROM的容量在1KB~60KB之间;
对于Flash型的芯片,内部还集成有两段128B(共256B)的信息存储器以及1KB存放自举程序的自举存储器(BOOTROM);
对代码存储器的访问总是以字形式取得代码,而对数据可以用字或字节方式访问。
每次访问需要16条数据总线(MDB)和访问当前存储器模块所需的地址总线(MAB);
存储器模块由模块允许信号自动选中。
最低的64KB空间的顶部16个字,即0FFFFH~0FFE0H,保留存放复位和中断的向量;
在程序存储器中还可以存放表格数据,以实现查表处理等应用;
程序对程序存储器可以任意读取,但不能写入。
(2)数据存储器数据存储器(RAM)经两条总线与CPU相连,即存储器地址总线MAB和存储器数据总线MDB
数据存储器可以以字或字节宽度集成在片内,其容量在128B~10KB之间;
所有指令可以对字节或字进行操作。
但是对堆栈和PC的操作是按字宽度进行的,寻址时必须对准偶地址。
运行控制MSP430系列微控制器的运行主要受控于存储在特殊寄存器(SFR)中的信息。
不同SFR中的位可以允许中断,以支持取决于中断标志状态的软件以及定义外围模块的工作模式。
禁止外围模块,停止它的功能,可以减少电流消耗,而所有存储在模块寄存器中的数据仍被保留。
外围模块的工作模式可以用SFR的特定位置来标明。
外围模块外围模块包括基本定时器(BasicTimer)、16位定时器(Timer_A及Timer_B)、ADC转换器、I/O端口、异步及同步串行通讯口(USART)以及液晶显示驱动模块等。
外围模块经MAB、MDB与CPU相连。
字节(8位)模块的数据总线是8位的,需经总线转换电路与16位的CPU相连。
这些模块的数据交换毫无例外地要用字节指令处理;
对字(16位)模块,其数据总线是16位的,无需经过转换而直接与CPU的16位数据总线相连。
模块的操作指令就没有任何限制。
图2-2外围模块与CPU的连接
振荡器和时钟发生器振荡器LFXT1(LF)是专门为通用的低功耗32768Hz时钟晶振设计的。
除了晶体外接外,所有的模拟元件都集成在片内。
但是也可以用一个高速的晶振工作,这时需要外接负载电容。
对于F13X、F14X、F15X和F16X以及F4XX系列,片内还有一个可接入高速晶振的XT2振荡器。
除了晶体振荡器之外,F13X、F14X、F15X和F16X系列都有一个数字控制RC振荡器(DCO),用它实现对振荡器的数字控制和频率调节;
对于F4XX系列,将晶振频率用一个锁频环电路(FLL或FLL+)进行倍频。
FLL或FLL+在上电后以最低频率开始工作,并通过控制一个数控振荡器(DCO)来调整到适当的频率。
供处理器工作的时钟发生器的频率固定在晶振的倍频上,并提供时钟信号MCLK。
外围模块及CPU的时钟源选择非常灵活。
可以用以实现各种低功耗模式下的运行。
2.3MSP430单片机的端口介绍
MSP430的端口有P1、P2、P3、P4、P5、P6、S和(型号不同,包含的端口也不仅相同,如MSP430X11X系列只有P1,P2端口,而MSP430X4XX系列则包含全部上述端口),它们都可以直接用于输入/输出。
MSP430系统中没有专门的输入/输出指令,输入/输出操作通过传送指令来实现。
端口P1`P6的每一位都可以独立用于输入/输出,即具有位寻址功能。
常见的键盘接口可以直接用端口进行模拟,用查询或者中断方式控制。
由于MSP430的端口只有数据口,没有状态口或控制口,在实际应用中,如在查询式输入/输出传送时,可以用端口的某一位或者几位来传送状态信息,通过查询对应位的状态来确定外设是否处于“准备好”状态。
端口的功能。
(1)P1,P2端口:
I/O,中断功能,其他片内外设功能如定时器、比较器;
2)P3,P4P5P6端口:
I/O,其他片内外设功能如SPI、UART模式,A/D转换等;
(3)S,端口:
I/O,驱动液晶。
MSP430各端口具有丰富的控制寄存器供用户实现相应的操作。
其中P1,P2具有7个寄存器,P3~P6具有4个寄存器。
通过设置寄存器我们可以实现:
(1)每个I/O位独立编程;
(2)任意组合输入,输出和中断;
(3)P1,P2所有8个位全部可以用作外部中断处理;
(4)可以使用所以指令对寄存器操作;
(5)可以按字节输入、输出,也可按位进行操作。
端口P1,P2的功能可以通过它们的7个控制寄存器来实现。
这里,Px代表P1或P2。
(1)PxDIR:
输入/输出方向寄存器。
8位相互独立,可以分别定义8个引脚的输入/输出方向。
8位再PUC后都被复位。
使用输入/输出功能时,应该先定义端口的方向。
作为输入时只能读,作为输出时,可读可写。
0:
输入模式;
1:
输出模式。
如:
P1DIR|=BIT4;
//P1.4输出,P2DIR=0XF0;
//高4位输出,低4位输入。
(2)PXIN:
输入寄存器,为只读寄存器。
用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入信号。
所以其引脚的方向要选为输入。
如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。
例如:
unsignedcharkey;
P1DIR&
=~BIT4;
//P1.4输入
……
key=P1IN&
0X10;
//输出端口P1.4的值
(3)PXOUT:
输出寄存器。
该寄存器为I/O端口的输出缓冲寄存器,再读取时输出缓存的内容与引脚方向定义无关。
改变方向寄存器的内容,输出缓存的内容不受影响。
PIOUT|=0X01;
//P1.0输出1,PIOUT&
=~0X01;
//P1.0输出0。
(4)PXIFG:
中断标志寄存器。
他的8个标志位标志相应引脚是否有中断请求有待处理。
无中断请求,1:
有中断请求。
其中断标志分别为PXIFG.0~PXIFG.7。
应该注意的是:
PXIFG.0~PXIFG.7共用一个中断向量,为多源中断。
当任一事件引起的中断进行处理时,PXIFG.0~PXIFG.7不会自动复位,必须由软件来判断是对哪一个事件,并将相应的标志复位。
另外,外部中断事件的时间必须保持不低于1.5倍的MCLK时间,以保证中断请求被接受,且使相应中断标志位置位。
(5)PXIES:
中断触发沿选择寄存器。
如果允许PX口的某个引脚中断,还需定义该引脚的中断触发方式。
上升沿触发使相应标志置位,1:
下降沿触发相应标志置位。
MOV.B#07H,&
P1IES;
p1低3位下降沿触发中断。
(6)PXIE:
中断使能寄存器。
PX口的每一个引脚都有一位用以控制该引脚是否允许中断。
禁止中断,1:
允许中断。
MOV.B#0E0H,&
P2IE;
P2高3位允许中断。
(7)PXSEL:
功能选择寄存器。
P1,P2两端口还具有其他片内外设功能,将这些功能与芯片外的联系通过复用P1,P2引脚的方式来实现。
PXSEL用来选择引脚的I/O端口功能与外围模块功能。
选择引脚为I/O端口,1:
选择引脚为外围模块功能。
P1SEL|=0X10;
//P1.4为外围模块功能。
端口P3、P4、P5、P6没有中断能力,其余功能同PI,P2。
除掉端口P1,P2与中断相关的3个寄存器,端口P3,P4,P5,P6的4个寄存器(用法同P1,P2)分别为PXDIR,PXIN,PXOUT,PXSEL可供用户使用。
端口和S,他们实现与液晶片的直接接口。
为液晶片的公共端,S为液晶片的段码端。
液晶片输出端也可经软件配置为数字输出端口。
2.4MSP430单片机复位电路
从上MSP430系统复位电路功能模块图中可以看到了两个复位信号,一个是上电复位信号POR(PowerOnReset)和上电清除信号PUC(PowerUpClear)。
POR信号是器件的复位信号,此信号只有在以下的事件发生时才会产生:
1.器件上电时。
2.RST/NMI引脚配置为复位模式,当RST/NMI引脚生产低电平时。
当POR信号产生时,必然会产生PUC信号;
而PUC信号的产生时不会产生POR信号。
会引起产生PUC信号的事件:
1.POR信号发生时。
2.启动看门狗时,看门狗定时器计满时。
3.向看门狗写入错误的安全参数值时。
4.向片内FLASH写入错误的安全参数值时。
当POR信号或PUC信号发生时引起器件复位后,器件的初始化状态为:
●RST/NMI引脚配置为复位模式。
●I/O引脚为输入模式。
●装态寄存器复位。
●程序计数器(PC)装入复位向量地址0xFFFE,CPU从此地址开发始执行。
2.5Msp430单片机时钟模块
MSP430的时钟模块由低速晶体振荡器LFXT1、高速晶体振荡器XT2(MSP430X11X,MSP430X12X没有)、数字控制振荡器DCO、锁相环FLL(MSP430X16X以上包括)和增强型锁相环FLL等部件组成。
MSP430X1XX基本时钟模块有三个时钟输入源LFXT1CLK(低速32768Hz,高速450Hz到8MHz)、XT2CLK(450Hz到8MHz)、DCOCLK,提供以下三种时钟信号
1.ACLK辅助时钟:
由LFXT1CLK信号经1、2、4、8分频后得到,可以由软件选作各个外围模块的时钟信号,一般用于低速外设。
2.MCLK系统主时钟:
MCLK可由软件选择来自LFXT1CLK、XT2CLK、DCOCLK三者之一,然后经1、2、4、8分频得到,MCLK主要用于CPU和系统。
3.SMCLK子系统时钟:
可由软件选自LFXT1CLK和DCOCLK(MSP4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MSP430 单片机 高精度 温度 测试 系统