MSP430G2553寄存器资料要点.docx
- 文档编号:12535477
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:51
- 大小:39.90KB
MSP430G2553寄存器资料要点.docx
《MSP430G2553寄存器资料要点.docx》由会员分享,可在线阅读,更多相关《MSP430G2553寄存器资料要点.docx(51页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MSP430G2553 寄存器 资料 要点