电子信息工程毕业设计MSP430 16位单片机温度计Word下载.docx
《电子信息工程毕业设计MSP430 16位单片机温度计Word下载.docx》由会员分享,可在线阅读,更多相关《电子信息工程毕业设计MSP430 16位单片机温度计Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
这些全部是Flash型单片机。
F41x系列单片机有48个I/O口,96段LCD驱动。
F43x、F44x系列是在13x、14x的基础上,增加了液晶驱动器,将驱动LCD的段数由3xx系列的最多120段增加到160段。
并且相应地调整了显示存储器在存储区内的地址,为以后的发展拓展了空间。
MSP430系列的部分产品具有Flash存储器,在系统设计、开发调试及实际应用上都表现出较明显的优点。
TI公司推出具有Flash型存储器及JTAG边界扫描技术的廉价开发工具MSP-FET430X110,将国际上先进的JTAG技术和Flash在线编程技术引入MSP430。
这种以Flash技术与FET开发工具组合的开发方式,具有方便、廉价、实用等优点,给用户提供了一个较为理想的样机开发方式。
2001年TI公司又公布了BOOTSTRAPLOADER技术,利用它可在烧断熔丝以后只要几根线就可更改并运行内部的程序。
这为系统软件的升级提供了又一方便的手段。
BOOTSTRAP具有很高的保密性,口令可达到32个字节的长度。
TI公司在2002年底和2003年期间又陆续推出了F15x和F16x系列的产品。
在这一新的系列中,有了两个方面的发展。
一是从存储器方面来说,将RAM容量大大增加,如F1611的RAM容量增加到了10KB。
二是从外围模块来说,增加了I2C、DMA、DAC12和SVS等模块。
msp430系列单片机是一种新型的16位单片机,主要特点就是功耗小,速度快,主要开发语言是c。
开发环境有iar集成开发环境。
msp430单片机有不同系列,有f系列,c系列。
比如f系列msp40f135表示的是rom是flash型的。
常用的是f系列的13系列14系列。
13系列的有msp430f133和msp430f135两种。
14系列的有msp430f149等。
我用的是msp430f135推荐你用msp430f149,msp4301f149有60KB的flash和2KB的ram。
比起51的算是很大了。
c51单片机现在很少用了,都被s52单片机代替了。
51单片机和430单片机的主要区别是51是8位的,430是16位的。
开发环境都有相应的c开发环境。
学习430单片机有了51的基础应该很容易入门,我是一开始就是接触430单片机,后来才接触51的,觉得430的不错,特别是功耗和速度方面。
如果你想跑操作系统的话就买现在ti公司的新系列的单片机,ram有10k。
89C51单片机是8位单片机。
其指令是采用的被称为“CISC”的复杂指令集,共具有111条指令。
而MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据存储器都可参加多种运算。
这些内核指令均为单周期指令,功能强,运行的速度快。
其次,89C51单片机本身的电源电压是5伏,有两种低功耗方式:
待机方式和掉电方式。
正常情况下消耗的电流为24mA,在掉电状态下,其耗电电流仍为3mA;
即使在掉电方式下,电源电压可以下降到2V,但是为了保存内部RAM中的数据,还需要提供约50uA的电流。
而MSP430系列单片机在低功耗方面的优越之处,则是89C51系列不可比拟的。
正因为如此,MSP430更适合应用于使用电池供电的仪器、仪表类产品中。
再者,89C51系列单片机由于其内部总线是8位的,其内部功能模块基本上都是8位的虽然经过各种努力其内部功能模块有了显著增加,但是受其结构本身的限制很大,尤其模拟功能部件的增加更显困难。
MSP430系列其基本架构是16位的,同时在其内部的数据总线经过转换还存在8位的总线,在加上本身就是混合型的结构,因而对它这样的开放型的架构来说,无论扩展8位的功能模块,还是16位的功能模块,即使扩展模/数转换或数/模转换这类的功能模块也是很方便的。
这也就是为什么MSP430系列产品和其中功能部件迅速增加的原因。
最后,就是在开发工具上面。
对于89C51来说,由于它是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。
但是如何实现在线编程还是一个很大的问题。
对于MSP430系列而言,由于引进了Flash型程序存储器和JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程
新手如何入门MSP430
我想作为非常新手,你手上是否准备好以下几样硬件:
计算机(带有并口)1台,MSP430FET仿真器1套,MSP430开发实验板1套,和一些MSP430教程或电子教程资料等。
如果齐的话,那么我们就可以启动了。
若然还差些什么的,建议到微控设计网(www.M)上看看,看有什么工具或资料能帮助到你的。
在翻开MSP430的资料或书本教程目录,都会看到好多模块目录,那么我们是不是都要全学呢?
如果理想地回答应该“是”。
但实际中,对于新手们来我想暂时来说是不必。
最起码让新手学些最基础和通用的模块先,以下我是认为较常用的基础模块,在很设计中都有可能用到的。
而在学习这些模块中,又是不是所有我都要撑握呢。
同样答案是“是的”。
但你可以了解一些基础参数及基本原理,当你了撑握了这些基础参数及基本原理,再结合一些模块单元的例程进行综合地分析和理解。
在这一学习过程中你会不断地将这些参数及原理存储在你脑海中。
当你有一定的基础后,你会发现不断又有新疑问;
那么这时候这些疑问就会促使你自己去寻找答案。
你可能会不断的翻书本和资料,同时也可能促使你在开发板上进行你的疑问和验证...。
在上面的过程中,就是熟悉和撑握这些模块的过程。
在这个“学”和“练”的过程中很多都是靠你个人的。
当你请教前辈时,人家只会告诉你一些参考思路或方向;
往往里面的内容都要自己亲身去验证的。
学习当中会往往存在着很“乐事”和“苦事”,相信很多成功的工程师们都会有这样的体会。
当然,我们很欢迎将你的“学、练”过程中的苦与乐与我们在微控论坛中分享。
【IO模块】
对于IO模块建议分为入门必学与学习进阶两部分,可以不必同一时段内进行理解。
入门必学:
[1]初学者必需了解几个常用寄存器使用如P1OUT,P1IN,P1DIR,P1SEL寄存器。
[2]理解MSP430IO口常用编程语法,这些都可以查看参考例程。
[3]结合书本介绍和你的个人理解,然后在开发板上进行实验。
例如比如LED、响声之类的初级实验。
学习进阶:
对于IO模块的进阶主要是了解如何使用IO中断,和IO中断相关寄存器的使用。
如果不太必要,你可以跳过IO中断使用这部分去学习其他章节的基础部分;
当你其他章节基础学习到一定程序时再回过头来学习这部分。
另外,IO模块部分你需要搞清楚在什么时候IO为高阻状态?
高阻状态时的漏电流为多少?
IO驱动电流能力如何?
等等时常关注的参数你应如何查找答案,你能很快地查找到这些参数吗?
我提出来这些问题的因原是促使你尽快学会习惯主动查看器件手册。
【时基模块】
时基模块是提供整个单片机中各模块的时钟发生源,初学者若要使用到片中某模块时几乎都要使用不同的时钟。
所以这章节是非常强调地要去认真理解的。
[1]必须理解DCO,SMCLK,MCLK,ACLK这4个时钟信号是由那部分产生的。
[2]DCO,SMCLK,MCLK,ACLK各个时钟有什么优点和点。
[3]4个时钟信号中,每个时钟的通常频率范围是多少。
[4]常规的时基控制寄存器设置和时钟如何从引脚输出等等。
最后,学习进阶你要理解在不同低功耗模块下,那些时钟源信号还在活动那些已关闭。
【TimaA模块】
[1]初学者需要搞清TimerA的三个不同工作模式中TA、CCR1、CCR2与CCR0之间的关系。
[2]搞清楚TA、CCR1、CCR2与CCR0之间的中断向量关系。
[3]综合上面的理解,建议结合TimerA的例程来进行相关验证,只有通过亲自的操作才能有效地记住。
如利用TimerA实现PWM信号输出、利用捕获/比较功能实现捕获信号等等。
MSP430的若干硬件问题
MSP430单片机硬件知识
(1)
2009-5-299:
23:
53关注率:
221匠人的百宝箱MSP430单片机是TI公司1996年开始推向市场的超低功耗微处理器,另外他还集成了很多模块功能,从而使得用一片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存储器,不需要额外的高电压就在运行种由程序控制写擦欧哦和段的擦除;
(7)MSP430芯片上包括JTAG接口,仿真调试通过一个简单的JTAG接口转换器就可以方便的实现如设置断点、单步执行、读写寄存器等调试;
(8)快速灵活的变成方式,可通过JTAG和BSL两种方式向CPU内装在程序。
关于他的内存器结构,在匠人的博客里已有详细的介绍,大家去看就是了。
在这里我主要说说MSP430单片机的复位吧。
MSP430的复位信号有2种:
上电复位信号(POR)、上电清除信号(PUC)。
还有能够触发POR和PUC的信号:
5种来在看门狗,1种来自复位管脚,1种来自写FLASH键值出现错误所产生的信号。
POR信号只在2种情况下发生:
(1)微处理上电;
(2)RST/NMI管脚上产生低电平时系统复位。
PUC信号产生的条件:
(1)POR信号产生;
(2)看门狗有效时,看门狗定时器溢出;
(3)写看门狗定时器安全键值出现错误;
(4)写FLASH存储器安全键值出现错误。
POR和PUC两者的关系:
POR信号的产生会导致系统复位并产生PUC信号。
而PUC信号不会引起POR信号的产生。
无论是POR信号还是PUC信号触发的复位,都会使MSP430从地址0xFFFE处读取复位中断向量,程序从中断向量所指的地址处开始执行。
触发PUC信号的条件中,除了POR产生触发PUC信号外,其他的豆科一通过读取相应的中断向量来判断是何种原因引起的PUC信号,以便作出相应的处理。
系统复位(指POR)后的状态为:
(1)RST/NMI管脚功能被设置为复位功能;
(2)所有I/O管脚被设置为输入;
(3)外围模块被初始化,其寄存器值为相关手册上的默认值;
(4)状态寄存器SR复位;
(5)看门狗激活,进入工作模式;
(6)程序计数器PC载入0xFFFE处的地址,微处理器从此地址开始执行程序。
MSP430的原理图:
MSP430开发工具的介绍
在MCU项目开发过程中,始终有两个设备紧密的联系在一起,一个是仿真器,一个是编程器。
仿真器,顾名思义就是模仿单片机的功能;
编程器就是把程序编写到单片机内部。
目前公司在MSP430开发工具方面主要有仿真器、编程器、各类学习板、转接板、适配器等。
本文将主要介绍这些MSP430工具其特性。
一:
仿真器、编程器仿真器、
IAR和JTAG无法连接,是怎么回事?
这是客户问的问题,在论坛中也很常见,FAE也有在问。
我们就从这个问题开始讲解吧。
MSP430无论是仿真还是烧写程序,一般可以通过:
JTAG、SBW、BSL接口进行。
1、JTAG是利用边界扫描技术,在430内部有逻辑接口给JTAG使用,内部有若干个寄存器连接到了430内部数据地址总线上,所以可以访问到430的所有资源,包括全地址FLASH、RAM及各种寄存器。
可以用于对430的仿真和编程,主要连接线有TMS、TCK、TDI、TDO,430还需要另两条线路RST、TEST来启动JTAG命令序列。
2、SBW是SPY-BI-WIRE,可以简称为两线制JTAG,主要有SBWTCK(连接到JTAG接口的7脚TCK)与SBWTDIO(连接到JTAG接口的1脚TDO/TDI),该接口主要用于小于28脚的2系列单片机,因为28脚以内单片机的JTAG一般与IO口复用,为了给用于留有更多的IO资源,才推出SBW接口。
SBW同JTAG一样可以访问到430内部的所有资源。
注:
目前MSP430F5XX系列中也有SBW接口,原理同2系列的SBW。
3、BSL是TI在430出厂时预先固化到MCU内部的一段代码,该代码用户不可读写,这有点类似与DSP
的bootloader,但又与bootloader有明显的区别,BSL只能用于对MCU内部的FLASH访问,不能对其他的资源访问,所以只能用作编程器接口。
BSL通过UART协议与编程器连接通信。
编程器可以发送不同的通信命令来对MCU的存储器做不同的操作,可以把这种方式称为BSL接口。
BSL代码的启动有些特殊,一般430复位启动时PC指针指向FFFE复位向量,但可以通过特殊的启动方式可以使MCU在启动时让PC指向BSL内部固化的程序。
这种特殊的启动方式一般是由RST引脚与TEST(或TCK)引脚做一个稍复杂的启动逻辑后产生。
BSL启动后,就可以通过预先定义好的UART协议命令对MCU进行读写访问了。
4、一般的MCU都有代码加密功能,430是如何实现的呢?
外部对430内部的代码读写只能通过上述的三种方式,只要把这三种方式都堵上,430的程序不就安全了吗?
所以又引入了熔丝位,熔丝位只存在于JTAG、SBW接口逻辑内。
当熔丝烧断时(物理破坏,且不可恢复)JTAG与SBW的访问将被禁止,此时只有BSL可以访问。
而通过BSL对MCU的访问是需要32个字节的密码,该密码就是用户代码的中断向量表。
现在国内有些解密厂商宣传能够解密430,原理是通过切片剥离的方法把熔丝位连接上,再通过JTAG或SBW接口读出目标代码。
而BSL则无破解的报告。
仿真器的型号一般支持JTAG、SBW接口,按照其与主机的连接方式分为UIF(USB接口,支持JTAG、SBW),PIF(并口,只支持JTAG),EZ430(只支持SBW模式,目前还不支持F5XX系列)。
编程器型号有GANG430(RS232串行接口,串口、1拖8,支持JTAG、SBW,不支持BSL),PRGS430-IIIA多功能编程器(支持JTAG、SBW、BSL),这些编程器都可以做离线烧写,并且支持烧写熔丝,即脱离计算机来对目标板烧写,其中PRGS编程器还支持序列号烧写方式。
另还有专门的BSL编程器,只支持BSL接口,不支持烧写熔丝。
仿真器既然可以访问到430内部的所有资源,当然也可以用做编程器使用,除了使用IAR用源代码烧写的方式外,还可以通过专业的软件来编程,这类软件有MSPFET、FET-PRO430等。
TI公司在JTAG、SBW、BSL方面提供了API操作函数,可以利用该函数来设计我们的编程器和仿真
器。
目前仿真器的技术较复杂,而且是由IAR软件来负责升级。
编程器在出厂时事先已经编程了一段Monitor代码,利用这段代码可以实现在线升级,无论是GANG430编程器还是PRGS编程器均有此功能。
工具功能表:
名称PIF-并口仿真器UIF-USB接口仿真器GANG430编程器PRGS编程器BSL编程器
下载程序●●●●●
JTAG接口●●●●
SBW接口●●●
BSL接口
烧断熔丝●●
离线编程
●●
●
编程器发展及支持情况:
编程器名称GANG430PRGS编程器BSL编程器
与主机连接方式RS232串行口RS232串行口标准9芯RS232串行口
未来发展RS232,保留不改变USB接口USB接口
技术支持情况TI支持技术部支持技术部支持
二:
学习板、转接板、适配器学习板、转接板、
1、学习板为了初学者或在项目开发初期为了项目认证或可行性方案分析而设计的具有一定功能的工具,其一般包括一个单片机最小系统及按照内部模块划分的功能器件。
现公司有各种学习板,从F1系列到F5系列,并且可以根据用户或某种功能需要定制学习板。
学习板配套光盘中一般有实验指导书、学习板参考器件手册、PDF版本的原理图及部分工具软件资料。
2、转接板MSP430的管脚比较密集,而且大都是SMT工艺的,并没有DIP封装的,这样就给初学者的调试工作带来了麻烦,比如功耗测试、简单的代码测试等。
为了帮助用户尽快的设计自己的目标系统,而设计的具有直插封装的转接线路板,板上集成了430的最小系统,保留了所有的调试接口,并把所有的IO口连接到转接针上。
用户只要按照转接针上的定义就可以配套在自己的目标系统中。
转接板上的MCU是固定焊
接到线路板的,用户不需要自己焊接,除非有损坏情况发生。
3、适配器如果在转接板上的芯片发生损坏,则需要用户自己更换芯片,这无疑给用户带来困难。
建议这种用户可以选用适配器,适配器是带有IC夹头的转接板,而且可以通用(具体查看相应的支持手册)。
同样适配器板有一个最小系统,并且把所有的IO引出到了连接针上。
由于该适配器价格昂贵,一般用在批量生产时烧写芯片代码使用。
转接板及适配器一般提供参考代码、PDF版的原理图及部分工具软件。
以上只是对430工具的功能介绍,不涉及其内部工作机理。
MSP430单片机温度计的制作
1元器件选择
本系统的温度传感器可选用热敏电阻。
在10~30℃的测量范围内,该器件的阻值随温度变化比较大,电路简单,功耗低,安装尺寸小,同时其价格也很低,但其热敏电阻精度、重复性、可靠性相对稍差,因此,这种传感器对于检测在1℃以下,特别是分辨率要求更高的温度信号不太适用。
显示部分可以采用笔段式LCD液晶显示。
特别是黑白笔段式液晶显示器的功耗极低,美观适中,价格低廉,而且驱动芯片可选择性强。
为此,本设计选用了技术成熟、功耗较低、性能稳定、价格低廉的通用性LCD驱动器HT1621。
作为整个系统的核心部件,单片机的选择至关重要。
通过比较多家单片机芯片,最终选定了TI公司的MSP430系列控制器,该系列控制器功耗极低,性能强大,成本也较低。
2MSP430F单片机的主要特点
MSP430F系列是美国TI公司生产的一种超低功耗的Flash控制器,该器件有“绿色”控制器(GreenMcu)之称,其技术特征代表了单片机的发展方向。
MSP430的片内存储器该器件单元是能耗非常低的单元,消耗功率仅为其它闪速微控制器的五分之一。
MSP430F同其它控制器相比,既可缩小线路板空间,又可降低系统成本。
MSP430F系列器件集成了超低功率闪存、高性能模拟电路和一个16位精简指令集(RISC)CPU,且指令周期短,大部分指令可在一个指令周期内完成。
该器件的工作电流极小,并且超低功耗,关断状态下的电流仅为0.1μA,待机电流为0.8μA,常规模式下的(250μA/1MIPS@3V),端口漏电流不足50nA,并可零功耗掉电复位(BOR)。
另外,该芯片属低电器件,仅需1.8~3.6V电压供电,因而可有效降低系统功耗。
由于其具有超低功耗的数控振荡器技术,因而可以实现频率调节和无晶振运行。
其6μs的快速启动时间可以延长待机时间并使启动更加迅速,同时也降低了电池的功耗。
MSP430系列芯片的片内资源丰富,I/O端口功能强大且十分灵活,所有的I/O位均可单独配置,每一根口线分别对应输入、输出、方向和功能选择等多个寄存器里的一位。
因此,其温度模拟控制可以采用带隔离的低电压控制方式。
3超低功耗电子温度计硬件设计
图1所示是本超低功耗电子温度计的硬件原理框图。
下面给出其它单元电路的设计方案。
3.1温度采集转换电路
利用MSP430来测量电阻,就可以通过斜率技术而不使用A/D转换电路,处理起来简单易行。
对于这种技术,可以使用MSP430系列芯片上的比较器和时钟来完成斜率的A/D转换。
本系统的具体温度测量是应用电容充放电把被测电阻值转换成时间,再利用MSP430内部的捕获比较寄存器准确捕捉时间,从而测量出热敏电阻的阻值,以间接获得温度值。
其温度检测电路结构如图2所示。
图中,Rref是参考电阻,用于定标,Rsens是被测电阻。
系统工作时首先令MSP430接Rref的口置位,然后输出高电平Vcc并通过标准电阻对电容定时充电,定时时间到后,端口复位,使电容放电,放电过程一直持续到电容上的电压降到充电端口为“0”电平的上限为止,截止时刻由Timer_a内部的捕捉器通过捕捉入口CA0准确地捕捉。
这一段放电时间可标记为Tref。
然后,对P2.1施以同样的操作,以获得电容通过被测电阻放电的时间Tsens。
最后比较Tref和