MSP430课件,入门适用_第1页
MSP430课件,入门适用_第2页
MSP430课件,入门适用_第3页
MSP430课件,入门适用_第4页
MSP430课件,入门适用_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MSP430系列超低功耗16位单片机原理与应用概述MSP430系列单片机特点MSP430系列单片机与51单片机的区别MSP430系列单片机命名规则MSP430F149单片机的结构MSP430单片机CPU的主要特征和结构MSP430单片机存储器结构和地址空间MSP430系列单片机特点超低功耗

强大的处理能力高性能模拟技术及丰富的片上外围模块

系统工作稳定方便高效的开发环境

MSP430系列和51系列区别

1、89C51单片机是8位单片机,其指令是采用复杂指令集,共具有111条指令。而MSP430单片机是16位的单片机采用了精简指令集。2、MSP430系列单片机在低功耗方面比51单片机优越。3、MSP430系列单片机在功能模块的扩展方面比51单片机有优势。4、MSP430系列单片机引进了Flash型程序存储器和JTAG技术,使开发工具变得简便,而且价格也相对低廉,并且可以实现在线编程。MSP430系列单片机命名规则MSP430结构

16位CPU通过总线连接到存储器和外围模块。

直接嵌入仿真处理,具有JTAG接口。

超低功耗设计,灵活而可控的运行时钟及工作模式。

16位数据宽度,数据处理更为有效。

MSP430系列单片机包含以下主要功能部件:

CPU:MSP430系列单片机的CPU和通用微处理器基本相同,只是在设计上采用了面向控制的结构和指令系统。MSP430的内核CPU结构是按照精简指令集和高透明的宗旨而设计的,使用的指令有硬件执行的内核指令和基于现有硬件结构的仿真指令。这样可以提高指令执行速度和效率,增强了MSP430的实时处理能力。

存储器:存储程序、数据以及外围模块的运行控制信息。有程序存储器和数据存储器。对程序存储器访问总是以字形式取得代码,而对数据可以用字或字节方式访问。其中MSP430各系列单片机的程序存储器有ROM、OTP、EPROM和FLASH型。

外围模块:经过MAB、MDB、中断服务及请求线与CPU相连。MSP430不同系列产品所包含外围模块的种类及数目可能不同。它们分别是以下一些外围模块的组合:时钟模块、看门狗、定时器A、定时器B、比较器A、串口0、1、硬件乘法器、液晶驱动器、模数转换、数模转换、端口、基本定时器、DMA控制器等。

MSP430X14X系列

引脚图MSP430CPU的主要特征

n

精简指令集高度正交化n

寄存器资源丰富n

寄存器操作为单周期n

16位地址总线n

常数发生器n

直接的存储器到存储器访问在结构上MSP430系列单片机集成了一部计算机的各个基本组成部分。虽然其工作原理与普通微机并无差异,但MSP430系列单片机在结构上更加突出了体积小、功能强、面向控制的特点,具有很高的性能价格比。

MSP430系列单片机由CPU、存储器和外围模块组成,这些部件通过内部地址总线、数据总线和控制总线相连构成单片微机系统。

MSP430的内核CPU结构是按照精简指令集的宗旨来设计的。具有丰富的寄存器资源、强大的处理控制能力和灵活的操作方式。

MSP430的存储器结构采用了统一编址方式,可以使得对外围模块寄存器的操作象普通的RAM单元一样方便、灵活。MSP430存储器的信息类型丰富,并具有很强的系统外围模块扩展能力。

MSP430的CPU结构16位的算术逻辑单元一个指令控制单元16个16位寄存器。包括4个特殊功能寄存器和通用寄存器。4个特殊功能寄存器:程序计数器(PC)、堆栈指针(SP)、状态寄存器和常数发生器。状态寄存器:保留VSCG1SCG0OscOffCPUOffGIENZC状态寄存器的标志位C:进位标志位。有进位为1,否则为0.Z:零标志位。运算结果为0时该位为1,否则为0.N:负标志位。结果为负该位为1,否则为0.GIE:中断控制位。1—允许中断,0—禁止中断。CPUOff:CPU控制位。1—CPU关闭模式,0—CPU工作模式。OscOff:晶体控制位。1—晶体振荡器停止状态。0—晶体振荡器工作状态。SCG0、SCG1:两个控制位结合使用,控制系统时钟的四种状态。V:溢出标志位。运算结果超出范围,该位为1,否则该位为0.MSP430存储器结构和地址空间

MSP430单片机片内外围模块时钟模块低功耗结构MSP430各种端口定时器MSP430液晶驱动模块硬件乘法器FLASH存储器模块比较器ADMA控制器MSP430系列通用串行通信模块的异步模式MSP430模数转换模块MSP430数模转换模块时钟模块

时钟输入源:LFXT1CLK低频时钟源

XT2CLK高频时钟源DCOCL数字控制RC振荡器

时钟输出信号ACLK辅助时钟MCLK主系统时钟SMCLK子系统时钟慢速外设CPU和系统快速外设根据实际连接情况,确定ACLK、SMCLK和MCLK时钟源。

ACLK:LFTX1(32768)MCLK:DCOCLK或者LFTX1

SMCLK:DCOCLK或者LFTX1

ACLK:0MCLK:DCOCLKSMCLK:DCOCLKACLK:LFTX1(高频模式)MCLK:DCOCLK或者LFTX1(高频模式)

SMCLK:DCOCLK或者LFTX1(高频模式)

ACLK只能来源于LFXT1。MSP430X11X1内部只有LFXT1和DCO,没有XT2。LFXT1只有工作于高频模式才需要外接电容。

各种低功耗工作模式的控制位

活动(AM):所有控制位为0,CPU激活,所有时钟激活。LPM0:CPU、MCLK停止,SMCLK、ACLK活动。LPM1:CPU、MCLK、DCO停止,SMCLK、ACLK活动.LMP2:CPU、MCLK、SMCLK、DCO保留,ACLK活动LMP3:CPU、MCLK、SMCLK、DCO停止,ACLK活动LMP4:CPU所有时钟停止。振荡器控制逻辑LFXT1振荡器控制逻辑XT2振荡器控制逻辑DCO振荡器控制逻辑DCO频率的调节

时钟模块寄存器

DCOCTLrw-0rw-1rw-1rw-0rw-0rw-0rw-0rw-0BCSCTL1rw-1rw-0rw-0rw-0rw-0rw-1rw-0rw-0BCSCTL2rw-0rw-0rw-0rw-0rw-0rw-0rw-0rw-0DCO7DCO6DCO5MOD4MOD3MOD2MOD1MOD0XT2OFFXTSDIVA5DIVA4XT5VRSEL2RSEL1RSEL0SELM7SELM6DIVM5DIVM4SELSDIVS2DIVS1DCORMSP430工作模式状态为了充分利用CPU低功耗性能,可以让CPU工作于突发状态。在通常情况下,根据需要使用软件将CPU设定到某一种低功耗工作模式下,在需要时使用中断将CPU从休眠状态中唤醒,完成工作之后又可以进入相应的休眠状态。

基础时钟模块工作方式和相关寄存器设置

例1设MCLK=XT2,SMCLK=DCOCLK,将MCLK由P5.4输出。(MSP430X14X中引脚P5.4和MCLK复用)。实现上述功能的程序如下:#include<msp430x14x.h>voidmain(void){unsignedinti;WDTCTL=WDTPW+WDTHOLD;//停止看门狗

P5DIR|=0x10;//P5.4输出P5SEL|=0x10;//P5.4用作MCLK输出

BCSCTL1&=~XT2OFF;//XT2有效do{IFG1&=~OFIFG;//清除振荡器失效标志for(i=0xFF;i>0;i--);//稳定时间}

while((IFG1&OFIFG)!=0);//如果振荡器失效标志存在

BCSCTL2|=SELM1;//MCLK=XT2for(;;);}复位模块

系统复位后器件的初始状态(1)

RST/

NMI

引脚被配置成复位模式。

(2)

I/O引脚被窃换成输入模式

(3)

其他的模块和寄存器被初始化成默认状态(4)

状态寄存器复位

(5)

看门狗定时器以看门狗模式激活

(6)

PC装入0FFFE处的地址值,CPU从这一地址开始执行软件初始化必须包括以下几个部分:

(1)

初始化SP,通常是RAM的顶部

(2)

初始化看门狗定时器

(3)

配置外围模块

中断有三种中断:

(1)

系统复位

(2)

不可屏蔽/可屏蔽NMI中断

(3)

可屏蔽中断不可屏蔽/可屏蔽NMI中断可以由以下三种中断源产生:

(1)

当配置为NMI模式时,

RST/

NMI

引脚上的上升沿/下降沿。(2)

FLASH空间的错误访问。(3)

发生振荡器失效

NMI中断处理的例子系统响应中断的过程

硬件自动中断服务

执行中断处理子程序

执行RETI指令(中断返回)

PC入栈

SR入栈

中断向量赋给PCGIT、CPUOFF、OSCOFF和SCG1清除IFG标志位清除(单源中断标志)

SR出栈(恢复原来的标志)

PC出栈

例:系统初始化完毕之后工作于低功耗模式0,中断事件触发到活动模式,中断处理结束后进入到低功耗模式3。;主程序…..;初始化操作开始……;……;初始化完毕BIS#GIE+CPUOFF,SR;主程序中设置低功耗模式0;…...;程序在这里停止;;中断子程序……;中断处理开始…………;中断处理结束BIS#GIE+CPUOFF+SCG1+SCG0,0(SP);设置SR为低功耗模式3RETI;中断返回;系统进入低功耗模式3。……

低功耗0转变为低功耗3低功耗原则

一般的低功耗原则:

设计外设时的常规原则:

最大化LPM3的时间,用32KHz晶振作为ACLK时钟,DCO用于CPU激活后的突发短暂运行

用接口模块代替软件驱动功能。

用中断控制程序运行

用可计算的分支代替标志位测试产生的分支

用快速查表代替冗长的软件计算

在冗长的软件计算中使用单周期的CPU寄存器

避免频繁的子程序和函数调用

尽可能直接用电池供电

将不用的FETI输入端连接到VSS

JTAG端口TMS、TCK和TDI不要连接到VSS

CMOS输入端不能有浮空节点,将所有输入端接适当的电平

不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机

MSP430的端口类型丰富

功能丰富

寄存器丰富

P1,P2,P3,P4,P5,P6,S和COM

I/O中断能力其他片内外设功能驱动液晶P1与P2各有7个寄存器P3、P4、P5、P6有四个寄存器P1口的7个寄存器P1DIR寄存器,控制P1各管脚的方向P1IE寄存器,控制P1各管脚的中断使能P1IES寄存器,P1口的中断触发沿选择寄存器P1IFG寄存器,P1口的中断标志寄存器P1IN寄存器,P1口的输入寄存器P1OUT寄存器,P1口的输出寄存器P1SEL寄存器,P1口的功能选择寄存器P1DIR寄存器P1DIR.7P1DIR.6P1DIR.5P1DIR.4P1DIR.3P1DIR.2P1DIR.1P1DIR.0P2口的7个寄存器P2DIR寄存器:控制P2口各个管脚的方向。P2IE寄存器,控制P2各管脚的中断使能P2IES寄存器,P2口的中断触发沿选择寄存器P2IFG寄存器,P2口的中断标志寄存器P2IN寄存器,P2口的输入寄存器P2OUT寄存器,P2口的输出寄存器P2SEL寄存器,P2口的功能选择寄存器基础时钟模块和I/O设置的实例

#include<msp430x14x.h>#include“Boardconfig.h”Voidmain(void){Boardconfig(0xb8);BCSCTL1|=DIVA_2;//ACLK四分频WDTCTL=WDT_ADLY_1000;//看门狗切换到定时模式IE1|=WDTIE;//打开看门狗中断P1DIR=0xFF;//将P1设为输出P1OUT=0;P2DIR=0xFF;//将P2设为输出P2OUT=0;P3DIR=0xFF;P3OUT=0x30;//将P3的第4位第5位输出1P4DIR=0xFF;P4OUT=0;P5DIR=0xFF;P5OUT=0;P6DIR=0xFF;P3OUT=0x80;//将P6.7输出1基础时钟模块和I/O设置的实例While(1){Vinti;_BIS_SR(LPM3_bits+GIE);P3OUT&=~BIT5;for(i=18000;i>0;i--);P3OUT|=BIT5;}}#pragmavector=WDT_VECTOR_interruptvoidwatchdog_timer(void){_BIC_SR_IRQ(LMP3_bits)}#include<msp430x14x.h>#include“Boardconfig.h”端口数据输出特性

低电平输出特性

高电平输出特性

USART模块结构

串行异步通信特点

异步模式,包括线路空闲/地址位通信协议

两个独立移位寄存器:输入移位寄存器和输出移位寄存器

传输7位或8位数据,可采用奇校验或偶校验或者无校验

从最低位开始的数据发送和接收

可编程实现分频因子为整数或小数的波特率

独立的发送和接收中断

通过有效的起始位检测将MSP430从低功耗唤醒

状态标志检测错误或者地址位

异步多机通信模式

线路空闲多机模式

地址位多机模式串行操作自动错误检测

FE标志帧错误:当一个接收字符的停止位为0并被装入接收缓存,接收的为一个错误的帧,那么帧错标志被设置成1,即使在多停止位模式时也只检测第一个停止位。同样,丢失停止位意味着从起始位开始的同步特性被丧失,也是一个错误帧。在同步的4线模式时,因总线冲突使有效主机停止,并在STE引脚信号出现下降沿时使FE位设置为1

PE奇偶校验错误:当接收字符中1的个数与它的校验位不相符,并被装入接收缓存时,发生校验错,设置PE为1

OE溢出错误标志:当一个字符写入接收缓存URXBUF时,前一个字符还没有被读出,这时前一个字符因被覆盖而丢失,发生溢出(同步与异步情况相同)

BRK打断检测标志:当发生一次打断同时URXEIE置位时,该位被设置为1,表示接收过程被打断过。RXD线路从丢失的第一个停止位开始连续出现至少10位低电平被识别为打断

波特率的产生

SPI典型结构

MSP430的同步通信模块特点

支持3线或4线SPI操作

支持主机模式与从机模式

接收和发送有单独的移位寄存器

接收和发送有独立的缓冲器

接收和发送有独立的中断能力

时钟的极性和相位可编程

主模式的时钟频率可编程

7位或8位字符长度

SPI的主机模式和从机模式

USART为主机模式USART为从机模式同步通信举例同步串行数据通信

数据传输循环

UxCTL寄存器8位寄存器,包含通信协议、通信模式和校验位的选择。PENAPEVSPBCHARLISTENSYNCMMSWRSTPENA:校验使能位。0—不允许校验;1—允许校验PEV:奇偶校验位。0—进行奇校验;1—进行偶校验SPB:停止位。0—发送时只有一个停止位;1—发送时有两个停止位CHAR:字符长度位。0—发送数据为7位;1—发送数据为8位LISTEN:监听使能位。选择反馈模式。0—没有反馈;1—有反馈SYNC:同步异步模式选择。0—异步通信模式;1—同步通信模式MM:多机模式选择。0—空闲多机协议;1—地址位多机协议SWRST:软件复位使能位。0—串行通信模块被允许;1—串行通信模块被禁止UxTCTL寄存器8位寄存器,控制USART模块的发送操作。CKPH:同步模式下控制UCLK时钟的相位。0—正常时钟;1—延迟半个周期CKPL:时钟极性选择。SSEL0、SSEL1:时钟源的选择。00—外部时钟UCLK;01—ACLK;10—SMCLK;11—SMCLKURXSE:异步通信时的接收触发沿。0—没有接收到数据;1—接收到数据,请求接收中断服务。TXWAKE:发送器唤醒。0—下一个字节是数据;1—下个字节是地址。STC:STE管脚选择位。0—管脚使能,选择SPI的4线模式;1—管脚禁止,选择SPI的3线模式。TXEPT:发送器空标志。0—发送缓冲区有数据;1—发送缓冲区空。CKPHCKPLSSEL1SSEL0URXSETXWAKESTCTXEPTUxRCTL寄存器8位寄存器,控制USART模块的接收操作。FE:帧出错标志。0—表示没有出错。1—有错误。同步模式下表示总线上有冲突PE:校验出错标志。0—校验正确;1—校验出错。OE:溢出标志位。0—溢出没有发生。0—没有溢出。1—有溢出。BRK:打断检测位。0—没有被打断;1—被打断。URXEIE:接收出错中断允许位。0—不允许该中断;1—允许该中断。URXWIE:接收唤醒中断允许位。0—接收到每个字符;1—允许该中断。RXWAKE:接收唤醒标志。0—接收到的字符是数据;1—接收到的字符是地址。RXERR:接收出错标志。0—没有接收错误;1—有接收错误。FEPEOEBRKURXEIEUTXWIERXWAKERXERRUxBR0、UxBR1和UxMCTL寄存器这几个寄存器用来确定波特率。UxBR0、UxBR1用来确定波特率的整数部分;UxBR0为低字节,UxBR1为高字节,结合起来是一个16位的字。UxMCTL寄存器用来确定波特率的小数部分。波特率的计算公式:波特率=BRCLK/(UBR+(M7+M6+…+M0)/8)=时钟频率/分频因子UxRXBUF和UxTXBUF寄存器UxRXBUF接收数据的寄存器。当有数据的时候,从寄存器中读出数据UxTXBUF发送数据的寄存器当有数据需要发送的时候,将数据写入到该寄存器。RS-232C标准RS-232的接线:常用9针串口。串口通信接线方法通常采用三线制,2“RXD“,3”TXD“,5”逻辑地”。原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接:2-3,3-2,5-5。电气特性:逻辑1(MARK)=-5V~-15V;逻辑0(SPACE)=+5~+15V。

RS232(DB9)RS-232C标准的不足由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

(2)传输速率较低,在异步传输时,波特率为20Kbps。(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。RS-485标准电气特性:逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。数据最高传输速率为10Mbps。接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。最大的通信距离约为4000英尺可达3000米,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。MAX232EEPROM电路AT24C16引脚图管脚名称功能

A0A1A2:器件地址选择SDA:串行数据/地址SCL:串行时钟WP:写保护Vcc:+1.8V~6.0V工作电压Vss:地DS18B20电路图DS18B20的主要特征:供电电压3.0V—5.5V全数字温度转换及输出先进的单总线数据通信最高12位分辨率,精度可达0.5摄氏度12位分辨率的最大工作周期为750毫秒检测温度范围为-55℃-125℃内置EEPROM,限温报警功能。64位光刻ROM,内置产品序列号,方便多机连接多样封装形式,适应不同硬件系统可选择寄生工作方式DS18B20工作原理及应用DS18B20的温度检测与数字数据输出全集成在一个芯片上,抗干扰能力强。一个工作周期分为两个部分,即温度检测和数据处理。内部存储资源:ROM:只读存储器,用于存放DS18B20的ID编码,前8位是单线系列编码,一般是19H,后面48位是芯片唯一的序列号,最后8位是以上56位的CRC码,数据在出厂时的设置不由用户更改,共64位ROM。RAM:数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位,第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM的镜像(用于温度报警值的存储),在上电复位时其值被刷新。第5个字节是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。存储空间对DS18B20的操作流程:1、复位。首先必须对DS18B20进行复位,由控制器给DS18B20单总线至少480微秒的低电平信号,当DS18B20接收到复位信号后会在15-60微秒后回发一个芯片的存在脉冲。

2、存在脉冲:在复位电平结束后,控制器应该将数据单总线拉高,以便于在15-60微秒后接收存在脉冲,存在脉冲为一个60-240微秒的低电平信号。3、控制器发送ROM指令:双发打完招呼之后可以进行交流了,ROM指令共有5条,每个工作周期只能发一条,8位长度,功能是对片内的64位光刻ROM进行操作。4、控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着就是发送存储器操作指令。5、执行或数据读写:一个存储器操作指令结束后将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。DS28

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论