下载此文档

MSP430G2553学习笔记(数据手册).docx


文档分类:IT计算机 | 页数:约51页 举报非法文档有奖
1/51
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/51 下载此文档
文档列表 文档介绍
该【MSP430G2553学习笔记(数据手册) 】是由【淘气小宇】上传分享,文档一共【51】页,该文档可以免费在线阅读,需要了解更多关于【MSP430G2553学习笔记(数据手册) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。MSP430G2553学****笔录(数据手册)
MSP430G2553性能参数(DIP—20)
工作电压范围:~3。6V。
种低功耗模式。
16位的RISC结构,62。5ns指令周期.
超低功耗:
运行模式—230μA;
待机模式—;
关闭模式—;
可以在不到1μs的时间里超快速地从待机模式唤醒.
基本时钟模块配置:
拥有四种校准频率并高达

16MHz

的内部频率

;
内部超低功耗

LF

振荡器;
32。768KHz

晶体;
外面数字时钟源。
两个

16

位Timer_A,

分别拥有三个捕捉

/比较寄存器。
用于模拟信号比较功能也许斜率模数(

A/D)

变换的片载比较器。
带内部基准、采样与保持以及自动扫描功能的

10位

200—ksps

模数(A/D)变换器。
16KB

闪存,512B

的RAM


16个

I/O

口。
注意:MSP430G2553无P3口!
MSP430G2553的时钟
基本时钟系统的寄存器
DCOCTL—DCO控制寄存器
DCOx
DCO频率选择控制1
MODx
DCO频率校正选择,平时令MODx=0
注意:在MSP430G2553上电复位后,默认RSEL=7,DCO=3,经过数据手册查得DCO频率大概在
~
1。5MHz之间。
BCSCTL1—基本时钟控制寄存器1
XT2OFF
不用管,由于MSP430G2553内部没有XT2供应的HF时钟
XTS
不用管,默认复位后的0值即可
DIVAx
设置ACLK的分频数
00/1
01/2
/4
/8
RSELx
DCO频率选择控制2
BCSCTL2-基本时钟控制寄存器2
SELMx
MCLK的选择控制位
00DCOCLK
01DCOCLK
LFXT1CLK也许VLOCLK
LFXT1CLK也许VLOCLK
DIVMx
设置MCLK的分频数
00/1
01/2
/4
11/8
SELS
SMCLK的选择控制位
DCOCLK
LFXT1CLK也许VLOCLK
DIVSx
设置SMCLK的分频数
00/1
01/2
/4
11/8
DCOR
DCO直流发生电阻选择,此位一般设0
内部电阻
外面电阻
BCSCTL3—基本时钟控制寄存器3
XT2Sx
不用管
LFXT1Sx
00LFXT1选为32。768KHz晶振
保留
10VLOCLK
外面数字时钟源
XCAPx
LFXT1晶振谐振电容选择
001pF
016pF
1010pF
1112。5pF

/**********************************************************
**
*BasicClockModule
************************************************************/
#define__MSP430_HAS_BC2__/*DefinitiontoshowthatModuleis
available*/
SFR_8BIT(DCOCTL);
/*DCOClockFrequencyControl
*/
SFR_8BIT(BCSCTL1)
;
/*BasicClockSystemControl1
*/
SFR_8BIT
(BCSCTL2);
/*BasicClockSystemControl2
*/
SFR_8BIT(BCSCTL3);
/*BasicClockSystemControl3
*/
#define
MOD0
(0x01
)
/*ModulationBit0
*/
#define
MOD1
(0x02)
/*ModulationBit1
*/
#define
MOD2
(0x04
)
/*ModulationBit2*/
#define
MOD3
(0x08)
/*ModulationBit3
*/
#define
MOD4
(0x10)
/*ModulationBit4*/
#define
DCO0
(0x20
)
/*DCOSelectBit0
*/
#define
DCO1
(0x40)
/*DCOSelectBit1
*/
#define
DCO2
(0x80
)
/*DCOSelectBit2*/
#defineRSEL0(0x01)/*RangeSelectBit0*/
#define
RSEL1
(0x02
)
/*RangeSelectBit1*/
#define
RSEL2
(0x04)
/*RangeSelectBit2
*/
#define
RSEL3
(0x08
)
/*RangeSelectBit3*/
#define
DIVA0
(0x10)
/*ACLKDivider0*/
#define
DIVA1
(0x20
)
/*ACLKDivider1
*/
#define
XTS
(0x40)
/*LFXTCLK
0:Low
Freq
。/
1:
High
Freq

*/
#define
XT2OFF
(0x80
)
/*EnableXT2CLK
*/
#define
DIVA_0
(0x00)
/*ACLKDivider0:/1*/
#define
DIVA_1
(0x10)
/*ACLKDivider1
:/2
*/
#define
DIVA_2
(0x20)
/*ACLKDivider2:/4
*/
#define
DIVA_3
(0x30)
/*ACLKDivider3:/8*/
#define
DIVS0
(0x02)
/*SMCLKDivider0*/
#define
DIVS1
(0x04)
/*SMCLKDivider1*/
#define
SELS
(0x08)
/*SMCLKSourceSelect0
:DCOCLK/1
:
XT2CLK/LFXTCLK*/
#define
DIVM0
(0x10
)
/*MCLKDivider0
*/
#define
DIVM1
(0x20)
/*MCLKDivider1*/
#define
SELM0
(0x40)
/*MCLKSourceSelect0*/
#define
SELM1
(0x80)
/*MCLKSourceSelect1*/
#define
DIVS_0
(0x00
)
/*SMCLKDivider0:/1*/
#define
DIVS_1
(0x02
)
/*SMCLKDivider1
:/2*/
#define
DIVS_2
(0x04)
/*SMCLKDivider2
:/4*/
#define
DIVS_3
(0x06
)
/*SMCLKDivider3
:/8
*/
#define
DIVM_0
(0x00
)
/*MCLKDivider0:/1*/
#define
DIVM_1
(0x10)
/*MCLKDivider1:/2
*/
#define
DIVM_2
(0x20)
/*MCLKDivider2
:/4*/
#define
DIVM_3
(0x30)
/*MCLKDivider3:/8
*/
#define
SELM_0
(0x00
)
/*MCLKSourceSelect0:DCOCLK*/
#define
SELM_1
(0x40
)
/*MCLKSourceSelect1
:DCOCLK*/
#define
SELM_2
(0x80)
/*MCLKSource
Select
2:XT2CLK/LFXTCLK
*/
#define
SELM_3
(0xC0)
/*MCLKSourceSelect3:LFXTCLK
*/
#define
LFXT1OF
(0x01)
/*Low/high
Frequency
Oscillator
Fault
Flag*/
#define
XT2OF
(0x02)
/*Highfrequency
oscillator
2
fault
flag
*/
#define
XCAP0
(0x04
)
/*XIN/XOUTCap0
*/
#define
XCAP1
(0x08)
/*XIN/XOUTCap1*/
#define
LFXT1S0
(0x10)
/*Mode0forLFXT1
(XTS=0)
*/
#define
LFXT1S1
(0x20)
/*Mode1forLFXT1(XTS=0)
*/
#define
XT2S0
(0x40)
/*Mode0forXT2
*/
#define
XT2S1
(0x80
)
/*Mode1forXT2
*/
#define
XCAP_0
(0x00
)
/*XIN/XOUTCap:0pF
*/
#define
XCAP_1
(0x04
)
/*XIN/XOUTCap
:6pF
*/
#define
XCAP_2
(0x08)
/*XIN/XOUTCap
:10pF*/
#define
XCAP_3
(0x0C
)
/*XIN/XOUTCap
:12。5pF
*/
#define
LFXT1S_0
(0x00
)
/*Mode0forLFXT1:Normaloperation
*/
#define
LFXT1S_1
(0x10
)
/*Mode1forLFXT1:Reserved
*/
#define
LFXT1S_2
(0x20)
/*Mode2forLFXT1:VLO*/
#define
LFXT1S_3
(0x30)
/*Mode3forLFXT1
:Digitalinput
signal
*/
#define
XT2S_0
(0x00
)
/*Mode0forXT2
:0。4-1MHz*/
#define
XT2S_1
(0x40
)
/*Mode1forXT2:1-4MHz
*/
#define
XT2S_2
(0x80)
/*Mode2forXT2:2-16MHz*/
#define
XT2S_3
(0xC0)
/*Mode3forXT2
:Digital
inputsignal
*/
基本时钟系统例程(DCO)
MSP430G2553在上电此后默认CPU执行程序的时钟MCLK来自于DCO时钟。TI供应的LaunchPad
上,P1。,下面写一个程序让它们交替闪烁;此后我们来改变DCO
的频率,进而使软延时时间变化,可以看到LED闪烁间隔有变化.
#include""
voidmain(void)
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR|=BIT0+BIT6;
while(1)
{
P1OUT^=BIT0+BIT6;
__delay_cycles(100000);
}
}
这段程序采用430上电后默认的DCO频率,假设是1MHz的话,则延时100000个DCO供应的MCLK

下面一段程序,将DCOx设置为1,RSELx设置为1,~0。
14MHz之间,因此明显MCLK要慢得多了,因此LED闪烁时间延长。
#include
voidmain
{

""
(void)
WDTCTL=WDTPW+WDTHOLD;
DCOCTL|=DCO0;
DCOCTL&=~(DCO1+DCO2);
BCSCTL1|=RSEL0;
BCSCTL1&=~(RSEL1+RSEL2+RSEL3)
P1DIR|=BIT0+BIT6;
while(1)

;
{
P1OUT^=BIT0+BIT6;
__delay_cycles(100000

);
}
}

MSP430G2553学习笔记(数据手册) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数51
  • 收藏数0 收藏
  • 顶次数0
  • 上传人淘气小宇
  • 文件大小1.34 MB
  • 时间2022-11-28