MSP430G2553寄存器资料要点.docx

上传人:b****2 文档编号:1066653 上传时间:2023-04-30 格式:DOCX 页数:51 大小:39.90KB
下载 相关 举报
MSP430G2553寄存器资料要点.docx_第1页
第1页 / 共51页
MSP430G2553寄存器资料要点.docx_第2页
第2页 / 共51页
MSP430G2553寄存器资料要点.docx_第3页
第3页 / 共51页
MSP430G2553寄存器资料要点.docx_第4页
第4页 / 共51页
MSP430G2553寄存器资料要点.docx_第5页
第5页 / 共51页
MSP430G2553寄存器资料要点.docx_第6页
第6页 / 共51页
MSP430G2553寄存器资料要点.docx_第7页
第7页 / 共51页
MSP430G2553寄存器资料要点.docx_第8页
第8页 / 共51页
MSP430G2553寄存器资料要点.docx_第9页
第9页 / 共51页
MSP430G2553寄存器资料要点.docx_第10页
第10页 / 共51页
MSP430G2553寄存器资料要点.docx_第11页
第11页 / 共51页
MSP430G2553寄存器资料要点.docx_第12页
第12页 / 共51页
MSP430G2553寄存器资料要点.docx_第13页
第13页 / 共51页
MSP430G2553寄存器资料要点.docx_第14页
第14页 / 共51页
MSP430G2553寄存器资料要点.docx_第15页
第15页 / 共51页
MSP430G2553寄存器资料要点.docx_第16页
第16页 / 共51页
MSP430G2553寄存器资料要点.docx_第17页
第17页 / 共51页
MSP430G2553寄存器资料要点.docx_第18页
第18页 / 共51页
MSP430G2553寄存器资料要点.docx_第19页
第19页 / 共51页
MSP430G2553寄存器资料要点.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MSP430G2553寄存器资料要点.docx

《MSP430G2553寄存器资料要点.docx》由会员分享,可在线阅读,更多相关《MSP430G2553寄存器资料要点.docx(51页珍藏版)》请在冰点文库上搜索。

MSP430G2553寄存器资料要点.docx

MSP430G2553寄存器资料要点

MSP430G2553学习笔记

常用赋值运算符:

清除:

&=~,置位:

|=,测试:

&=,取反:

^=,

 

看门狗模块:

WDT(看门狗)

WDTCTL看门狗定时器控制寄存器

15--8

7

6

5

4

3

2

1

0

口令

HOLD

NMIES

NMI

TMSEL

CNTCL

SSEL

IS1

IS0

IS1,IS0选择看门狗定时器的定时输出,T是WDTCNT的输入时钟源周期

0Tx2(15)

1Tx2(13)

2Tx2(9)

3Tx2(6)

SSEL选择WDTCNT的时钟源

0SMCLK

1ACLK

IS0、IS1、SSEL可确定WDT定时时间,WDT只能定时8种和时钟源相关的时间

WDT可选的定时时间(晶体为32768HZ,SMCLK=1MHZ)

SSEL

IS1

IS0

定时时间/ms

0

1

1

0.056

Tsmclkx2(6)

0

1

0

0.5

Tsmclkx2(9)

1

1

1

1.9

Taclkx2(6)

0

0

1

8

Tsmclkx2(13)

1

1

0

16

Taclkx2(9)

0

0

0

32

Tsmclkx2(15)(PUC复位后的值)

1

0

1

250

Taclkx2(13)

1

0

0

1000

Taclkx2(15)

CNTCL当该位为1时,清除WDTCNT

TMSEL工作模式选择

0看门狗模式

1定时器模式

NMI选择RST/NMI引脚功能,在PUC后被复位

0RST/NMI引脚为复位端

1RST/NMI引脚为边沿触发的非屏蔽中断输入

NMIES选择中断的边沿触发方式

0上升沿触发NMI中断

1下降沿触发NMI中断

HOLD停止看门狗定时器工作,降低功耗

0WDT功能激活

1时钟禁止输入,计数停止

 

WDT(看门狗)配置语句

WDTCTL=WDTPW+WDTHOLD;//将WDTPW+WDTHOLD赋值给WDTCTL,关闭看门狗定时器控制寄存器(Stopwatchdogtimer)

IE1|=WDTIE;//使能WDT中断

WDTCTL=WDT_ADLY_1000;//WDT1s/4间隔计时器

WDTCTL=WDTPW+WDTHOLD+WDTNMI+WDTNMIES;

//

WDTCTL由高8位口令和低8位控制命令组成,要写入操作WDT的控制命令,出于安全原因必须先正确写入高字节看门狗口令。

口令为5AH,如果口令写错将导致系统复位。

读WDTCTL时不需要口令。

这个控制寄存器还可以用于设置NMI引脚功能。

WDT看门狗定时器(WatchDogTimer),这是16位增计数器,由MSP430所选定的时钟电路产生的固定周期时钟信号对计数器进行加法计数。

如果计数器事先被预置的初始状态不同,那么从开始计数到计数溢出为止所用的时间就不同。

WDTCNT不能直接通过软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。

WDTPWWDTPW=0x5A00,是WDTCTL的密码,只有赋予这个值才能修改WDTCTL这个寄存器

WDTHOLDWDTHOLD=0x0080,使WDTCTL的HOLD位置1

 

**************************************************************************************

时钟模块:

DCO(数字控制振荡器)

DCOCTLDCO(数字控制振荡器)控制寄存器

7

6

5

4

3

2

1

0

DCO.2

DCO.1

DCO.0

MOD.4

MOD.3

MOD.2

MOD.1

MOD.0

DCO.0-DCO.2定义8种频率之一,可以分段调节DCOCLK频率,相邻两种频率相差10%,而频率由注入直流发生器的电流定义

MOD.0-MOD.4定义在32个DCO周期中插入的Fdco+1周期个数,而在下的DCO周期中为Fdco周期,控制改换DCO和DCO+1选择的两种频率。

如果DCO常数为7,表示已经选择最高频率,此时不能利用MOD.0-MOD.4进行频率调整

DCO配置语句

DCOCTL=0;//选择最低DCOx和MODx设置

BCSCTL1=CALBC1_1MHZ;//为1MHZBCSCTL1校准数据

DCOCTL=CALDCO_1MHZ;//为1MHZDCOCTL校准数据,这两句同时使用就使DCO设置为1MHZ

CALBC1_1MHZ==0xFF;//校准常数抹去

__bis_SR_register(SCG1+SCG0);//不用DCO

Set_DCO(DELTA_1MHZ);//设置DCO和获得常量

BCSCTL1基本时钟系统控制寄存器1

DCOCTLDCO时钟频率控制寄存器

CALBC1_1MHZ这是为1MHZBCSCTL1校准数据时所采用的标签

CALDCO_1MHZ这是为1MHZDCOCTL校准数据时所采用的标签

DCO频率与相应标签

DCO频率

1MHZ

8MHZ

12MHZ

16MHZ

对应标签

CALBC1_1MHZ

CALBC1_8MHZ

CALBC1_12MHZ

CALBC1_16MHZ

CALDCO_1MHZ

CALDCO_8MHZ

CALDCO_12MHZ

CALDCO_16MHZ

MCLK(主系统时钟)和SMCLK(子系统时钟)

 

BCSCTL2基本时钟系统控制寄存器2

7

6

5

4

3

2

1

0

SELM.1

SELM.0

DIVM.1

DIVM.0

SELS

DIVS.1

DIVS.0

DCOR

SELM.1SELM.0选择MCLK时钟源

0时钟源为DCOCLK(默认)

1时钟源为DCOCLK

2时钟源为LFXT1CLK(对于MSP430F11/12X),时钟源为XT2CLK(对于MSP430F13/14/15/16X)

3时钟源为LFTXTICLK。

DIVM.1DIVM.0选择MCLK分频

01分频(默认)

12分频

24分频

38分频

SELS选择SMCLK时钟源

0时钟源为DCOCLK(默认)

1时钟源为LFXT1CLK(对于MSP430F11/12X),时钟源为XT2CLK(对

于MSP430F13/14/15/16X)。

DIVS.1DIVS.0选择SMCLK分频。

01分频

12分频

24分频

48分频

DCOR选择DCO电阻

0内部电阻

1外部电阻

PUC信号之后,DCOCLK被自动选择MCLK时钟信号,根据需要,MCLK的时钟源

可以另外设置为LFXT1或者XT2。

设置顺序如下:

[1]复位OscOff

[2]清除OFIFG

[3]延时等待至少50us

[4]再次检查OFIFG,如果仍然置位,则重复[3]、[4]步骤,直到OFIFG=0为止。

BCSCTL3

XT2Sx

LFXT1Sx

XCAPx

XT2OF

LFXT1OF

XT2SxXT2范围选择,选择XT2的频率范围

00.4~1MHZ

11~3MHZ

23~16MHZ

30.4~16MHZ

LFXT1Sx低频时钟选择和LFXT1范围选择

XTS=0在LFXT1和VLO之间选择

XTS=1选择LFXT1的频率范围

0LFXT1上的32768hz晶体

1保留

2VLOCLK

3外部数字时钟源

XCAPx振荡器电容选择,XTS=0时,用于LFXT1的有效电容

01pf

16pf

210pf

312.5pf

XT2OFXT2振荡器失效

0不存在失效条件

1存在失效条件

LFXT1OFLFXT1振荡器失效

0不存在失效条件

1存在失效条件

 

MCLK(主系统时钟)和SMCLK(子系统时钟)配置语句

BCSCTL2|=SELM_0+DIVM_0;//选择DCOCLK为MCLK的时钟源并且对MCLK的时钟源进行1/1分频

BCSCTL2|=DIVS_0;//对SMCLK的时钟源进行1/1分频

BCSCTL2基本时钟系统控制寄存器2

SELM_0BCSCTL2的第6、7位,对MCLK的时钟源进行选择

DIVM_0BCSCTL2的第4、5位,对MCLK的时钟源进行分频

DIVS_0BCSCTL2的第1、2位,对SMCLK的时钟源进行分频

SELM_0:

MCLK选择DCOCLK(默认)

注:

SELM_0=0x00(SELM.1,SELM.0)

SELM_1:

MCLK选择DCOCLK

注:

SELM_1=0x01(SELM.1,SELM.0)

SELM_2:

MCLK选择XT2CLK/LFXTCLK

注:

SELM_2=0x02(SELM.1,SELM.0)

SELM_3:

MCLK选择LFXTCLK

注:

SELM_3=0x03(SELM.1,SELM.0)

DIVM_0:

对MCLK1/1分频

注:

DIVM_0=0x00(DIVM.1,DIVM.0)

DIVM_1:

对MCLK1/2分频

注:

DIVM_1=0x01(DIVM.1,DIVM.0)

DIVM_2:

对MCLK1/4分频

注:

DIVM_2=0x02(DIVM.1,DIVM.0)

DIVM_3:

对MCLK1/8分频

注:

DIVM_3=0x03(DIVM.1,DIVM.0)

SELS_0:

SMCLK选择DCOCLK(默认)

注:

LFXT1CLK(对于MSP430F11/12X),

XT2CLK(对于MSP430F13/14/15/16X)

SELS_1:

SMCLK选择LFXT1CLK/XT2CLK

DIVS_0:

对SMCLK1/1分频

注:

DIVS_0=0x00(DIVS.1,DIVS.0)

DIVS_1:

对SMCLK1/2分频

注:

DIVS_1=0x01(DIVS.1,DIVS.0)

DIVS_2:

对SMCLK1/4分频

注:

DIVS_2=0x02(DIVS.1,DIVS.0)

DIVS_3:

对SMCLK1/8分频

注:

DIVS_3=0x03(DIVS.1,DIVS.0)

注:

时钟源LFXTCLK针对MSP430F11/12X,时钟源XT2CLK针对MSP430F13/14/15/16X

ACLK(辅助时钟)

BCSCTL1基本时钟系统控制寄存器1

7

6

5

4

3

2

1

0

XT2OFF

TXS

DIVA.1

DIVA.0

XT5V

Rsel.2

Resl.1

Resl.0

XT2OFF控制XT2振荡器的开启与关闭。

0XT2振荡器开启。

1XT2振荡器关闭(默认为XT2关闭)

XTS控制LFXT1工作模式,选择需结合实际晶体振荡器连接情况

0LFXT1工作在低频模式(默认)

1LFXT1工作在高频模式(必须连接有高频相应的高频时钟源)

DIVA.0DIVA.1控制ACLK分频

0不分频(默认)

12分频

24分频

38分频

XT5V此位设置为0。

Resl1.0,Resl1.1,Resl1.2三位控制某个内部电阻以决定标称频率。

Resl=0,选择最低的标称频率。

Resl=7,选择最高的标称频率。

ACLK(辅助时钟)配置语句

BCSCTL1|=DIVA_0;//对ACLK进行1/1分频

DIVA_0BCSCTL1的第4、5位,对ACLK的时钟源进行分频

DIVA_0:

对ACLK1/1分频

注:

DIVA_0=0x00(DIVA.1,DIVA.0)

DIVA_1:

对ACLK1/2分频

注:

DIVA_1=0x01(DIVA.1,DIVA.0)

DIVA_2:

对ACLK1/4分频

注:

DIVA_2=0x02(DIVA.1,DIVA.0)

DIVA_3:

对ACLK1/8分频

注:

DIVA_3=0x03(DIVA.1,DIVA.0)

*******************************************************************************************

BCSCTL3|=LFXT1S_2; //LFXT1=VLO,低频晶振选择内部的超低功耗,超低频率晶振。

 

IFG1&=~OFIFG; //清除晶振错误标志位(ClearOSCFaultflag)

_EINT();//总中断允许,打开总中断,相当于51的EA=1;

_DINT();//关闭总中断,相当于51的EA=0;

LPM0;//开启低功耗模式0,进入低功耗模式,等待中断唤醒

temp=~temp;//取反

P1OUT=temp;//P1口赋值

TACTL=0;//StopTimer

*******************************************************************************************

IO端口模块:

IO口

所有P口都可作为通用IO口使用,所有P口都可进行字节操作和位操作

PxDIR输入/输出方向寄存器(0:

输入模式1:

输出模式)

7

6

5

4

3

2

1

0

P7DIR

P6DIR

P5DIR

P4DIRP3DIR

P2DIR

P1DIRP0DIR

在PUC后全都为复位,作为输入时,只能读;作为输出时,可读可写

PxIN输入寄存器

7

6

5

4

3

2

1

0

PxIN

PxIN

PxIN

PxINPxIN

PxIN

PxINPxIN

输入寄存器是只读寄存器,用户不能对其写入,只能通过读取该寄存器的内容知道IO口的输入信号,此时引脚方向必须为输入。

PxOUT输出寄存器

7

6

5

4

3

2

1

0

P7OUT

P6OUT

P5OUT

P4OUTP3OUT

P2OUT

P1OUTP1OUT

这是IO端口的输出缓冲器,在读取时输出缓存的内容与脚引方向定义无关,改变方向寄存器的内容,输出缓存的内容不受影响。

PxIFG中断标专寄存器(0:

没有中断请求1:

有中断请求)

7

6

5

4

3

2

1

0

P7IFG

P6IFG

P5IFG

P4IFGP3IFG

P2IFG

P1IFGP0IFG

该寄存器有8个标志位,对应相应的引脚是否有待处理的中断请求;这8个中断标志共用一个中断向量,中断标志不会自动复位,必须软件复位;外部中断事件的时间必须>=1.5倍的MCLK的时间,以保证中断请求被接受。

PxIES中断触发沿选择寄存器(0:

上升沿中断1:

下降沿中断)

7

6

5

4

3

2

1

0

P7IES

P6IES

P5IES

P4IESP3IES

P2IES

P1IESP0IES

PxIE中断使能寄存器(0:

禁止中断1:

允许中断)

7

6

5

4

3

2

1

0

P7IE

P6IE

P5IE

P4IE

P3IE

P2IE

P1IE

P0IE

PxSEL功能选择寄存器(0:

选择引脚为I/O端口1:

选择引脚为外围模块功能)

7

6

5

4

3

2

1

0

P7SEL

P6SEL

P5SEL

P4SEL

P3SEL

P2SEL

P1SEL

P0SEL

PxREN上拉/下拉电阻使能寄存器(0:

禁止1:

启用)

7

6

5

4

3

2

1

0

P7REN

P6REN

P5REN

P4REN

P3REN

P2REN

P1REN

P0REN

IO口配置语句

按字节操作:

P1DIR=0xff;//将P1口作为输出口

PIOUT=0x20;//P1口输出0x20

P1DIR=0x00;//将P1口作为输入口

data=P1IN;//读取P1口外部输入值

P1OUT|=0x02;//P1.1=1

P1OUT&=~0x02;//P1.1=0

P1DIR|=0x13;//P1.0,1和P1.4输出

P1SEL|=0x11;//P1.0,4ACLK、SMCLK输出

P1OUT^=0X01;//P1.0取反

P1IE|=0x80;//P1.7中断允许

P1IES|=0x00;//P1.7上升沿触发

按位操作:

P1OUT|=BIT0;//P1.0输出1

P1OUT&=~BIT0;//P1.0输出0

P1DIR=BIT0;//将P1.0作为输出口

P1DIR&=~BIT0;//将P1.0口作为输入

data=P1IN&BIT0;//读取P1.0口外部输入值

P1IE|=BIT0;//打开P1.0外部中断,BIT0的值为0x01,即把P1IE的第一位置1

P1IE&=~BIT0;//关闭P1.0外部中断

P1DIR&=~BIT7;//P1.7为输入

P1SEL=BIT1+BIT2;//设置IO口,P1.2为发送TXD,P1.1为接收RXD

P1SEL2=BIT1+BIT2;//设置IO口,P1.2为发送TXD,P1.1为接收RXD

P1IFG=0;//P1.7中断标志清除,对于多源中断必须先清中断标志再打开中断

P1IFG&=~BIT7;//P1.7中断标志清除

其他语句:

while

(1)//TestP1.4

{

if((0x08&P1IN))P1OUT|=0x01;//ifP1.3set,setP1.0

elseP1OUT&=~0x01;//elsereset

}

端口P3、P4、P5、P6是没有中断功能的,其它功能与P1、P2相同,在此不再作详尽说明。

端口COM、S实现与LCD片的驱动接口,COM端是LCD片的公共端,S端为LCD片的段码端。

LCD片输出端也可以用软件配置为数字输出端口,详情使用请查看其手册。

**************************************************************************************

USART串行异步模式:

USART0异步方式中断控制位

特殊功能寄存器

接收中断控制位

发送中断控制位

IFG1

接收中断标志URXIFG0

接收中断标志UTXIFG0

IE1

接收中断使能URXIE0

接收中断使能UTXIE0

ME1

接收允许URXE0

接收允许UTXE0

USART1异步方式中断控制位

特殊功能寄存器

接收中断控制位

发送中断控制位

IFG2

接收中断标志URXIFG1

接收中断标志UTXIFG1

IE2

接收中断使能URXIE1

接收中断使能UTXIE1

ME2

接收允许URXE1

接收允许UTXE1

MSP430器件中有的型号有两个通信模块USART0和USART1,因此他们有两套寄存器.

USART0的寄存器

寄存器

缩写

读写类型

地址

初始状态

控制寄存器

UCA0CTL

读/写

070H

PUC后001H

发送控制寄存器

UCA0IRTCTL

读/写

71H

PUC后001H

接收控制寄存器

UCA0IRRCTL

读/写

72H

PUC后000H

波特率调整控制寄存器

UCA0MCTL

读/写

73H

不变

波特率控制寄存器0

UCA0BR0

读/写

74H

不变

波特率控制寄存器1

UCA0BR1

读/写

75H

不变

接收缓冲器

UCA0RXBUF

76H

不变

发送缓冲器

UCA0TXBUF

读/写

77H

不变

SFR模块使能寄存器1

ME1

读/写

004H

PUC后000H

FR模块使能寄存器1

IE1

读/写

000H

PUC后000H

FR模块使能寄存器1

IFG1

读/写

002H

PUC后082H

USART1的寄存器

寄存器

缩写

读写类型

地址

初始状态

控制寄存器

UCA1CTL

读/写

078H

PUC后001H

发送控制寄存器

UCA1IRTCTL

读/写

79H

PUC后001H

接收控制寄存器

UCA1IRRCTL

读/写

7AH

PUC后000H

波特率调整控制寄存器

UCA1MCTL

读/写

7BH

不变

波特率控制寄存器0

UCA1BR0

读/写

7CH

不变

波特率控制寄存器1

UCA1BR1

读/写

7DH

不变

接收缓冲器

UCA1RXBUF

7EH

不变

发送缓冲器

UCA1TXBUF

读/写

7FH

不变

SFR模块使能寄存器1

ME2

读/写

005H

PUC后000H

FR模块使能寄存器1

IE2

读/写

001H

PUC后000H

FR模块使能寄存器1

IFG2

读/写

003H

PUC后020H

UCAxCTLx控制寄存器

7

6

5

4

3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2