1.MSP430开发环境建立
1.安装IAR
dor
msp430
软件,软件带USB仿真器的驱动。
2.插入USB仿真器,驱动选择安装目录的/drivers/TIUSBFET
3.建立一个工程,选择"option"选项,设置
a、选择器件,在"General"项的"Target"标签选择目标器件
b、选择输出仿真,在"Linker"项里的"Output"标签,选择输出"Debug
information
for
C-SPY",以输出调试
信息用于仿真。
c、若选择"Other",Output下拉框选择"zax-m"即可以输出hex文件用以烧录,注意,此时仿真不了。
d、选择"Debugger"项的"Setup"标签,"Driver"下拉框选择"FET
Debugger"
e、选择"FET
Debugger"项的"Setup"标签,"Connection"下拉框选择"Texas
Instrument
USB-I"
4.仿真器的接口,从左到右分别为
"
GND,RST,TEST,VCC"
2.IO口
数字输入/输出端口有下列特性:
□
每个输入/输出位都可以独立编程。
□
允许任意组合输入、输出。
□
P1
和
P2
所有
8
个位都可以分别设置为中断。
□
可以独立操作输入和输出数据寄存器。
□
可以分别设置上拉或下拉电阻。
(以下x为1表示P1,为2表示P2,如此类推)
1.选择引脚功能
--
PxSEL,PxSEL2
PxSEL2
PxSEL
管脚功能
0
0
用作IO口
0
1
用作第一功能引脚
1
0
保留,参考具体型号的手册
1
1
用作第二功能引脚
设置引脚用作外设功能时,芯片不会自动设置该引脚输入输出方向,要根据该功能,用户自己设置方向寄存器
PxDIR。
2.选择引脚输入/输出方向
--
PxDIR
Bit
=
0:
输入
Bit
=
1:
输出
3.选择引脚是否使能上下拉电阻
--
PxREN
Bit
=
0:
不使能
Bit
=
1:
使能
4.输出寄存器
--
PxOUT
Bit
=
0:
输出低电平或者下拉
Bit
=
1:
输出高电平或者上拉
5.管脚状态寄存器
--
PxIN
Bit
=
0:
管脚当前为低
Bit
=
1:
管脚当前为高
3.Baseclock模块
一、4个时钟振荡源
1、LFXT1CLK:
外部晶振或时钟1
低频时钟源
低频模式:32768Hz
高频模式:(400KHz-16MHz)
2、XT2CLK:
外部晶振或时钟2
高频时钟源(400KHz-16MHz)
3、DCOCLK:
内部数字RC振荡器,复位值1.1MHz
4、VLOCLK:
内部低功耗振荡器
12KHz
注:MSP430x20xx:
LFXT1
不支持
HF
模式,
XT2
不支持,
ROSC
不支持.
二、3个系统时钟
1、ACLK:
辅助时钟
复位:
LFXT1CLK的LF模式,内部电容6pF
分频:
1/2/4/8
时钟源:LFXT1CLK/VLOCLK.
用途:
独立外设,一般用于低速外设
2、MCLK:
主时钟
复位:
DCOCLK,1.1MHz
分频:
1/2/4/8
时钟源:LFXT1CLK/VLOCLK/XT2CLK/DCOCLK
用途:
CPU,系统
3、SMCLK:
子系统时钟
复位:
DCOCLK,1.1MHz
分频:
1/2/4/8
时钟源:LFXT1CLK/VLOCLK/XT2CLK/DCOCLK
用途:
独立外设,一般用于高速外设
三、寄存器
1、DCOCTL:DCO控制寄存器(读写)
学习经验总结" />
DCOx:定义8种频率之一,可分段调节DCOCLK的频率,相邻两种频率相差10%。而频率又注入直流发生器
的电流定义。
MODx:
位调节器选择。这几位决定在
32
个
DCOCLK
周期内插入高1段频率
fDCO+1的次数。当
DCOX=7,已为最高段频率,此时不能用MODx作为频率调整。
2、BCSCTL1:基础时钟系统控制寄存器1
学习经验总结" />
XT2OFF:是否关闭XT2
0:打开XT2
,1:关闭XT2
XTS:
XT2模式选择
0:LF
mode
(低频模式)
,1:HF
mode
(高频模式)
divA:
ACLK的分频选择
0-3
对应
1/2/4/8
分频
RSELx:
选择DCO中16种标称的频率,实际对应16个内部电阻
0-15
对应的频率
从
低到高,当
DCOR=1
时,表示选用外接电阻,所以RSELx无效
3、BCSCTL2:基础时钟系统控制寄存器2
学习经验总结" />
SELMx:选择MCLK的时钟源
0:DCOCLK
1:DCOCLK
2:当
XT2
振荡器在片内时采用
XT2CLK。当
XT2
振荡器不在片内时采用
LFXT1CLK
或
VLOCLK
3:LFXT1CLK
或
VLOCLK
divMx:
MCLK的分频选择
0-3
对应
1/2/4/8
分频
SELS:
选择SMCLK的时钟源
0:DCOCLK
1:当
XT2
振荡器存在时选用
XT2CLK,当
XT2
振荡器不存在时采用
LFXT1CLK
或
VLOCLK
divSx:
SMCLK的分频选择
0-3
对应
1/2/4/8
分频
DCOR:
0:DCOCLK使用内部电阻、
1:DCOCLK使用外接电阻
4、BCSCTL3:基础时钟系统控制寄存器3
学习经验总结" />
XT2Sx:XT2范围选择
0:0.4-1MHz
晶体或振荡器
1:1-3MHz
晶体或振荡器
2:3-16MHz
晶体或振荡器
3:0.4-16MHz外部数字时钟源
LFXT1Sx:
低频时钟选择和
LFXT1
范围选择。当
XTS=0
时在
LFXT1
和
VLO之间选择。当
XTS=1
时选
择
LFXT1
的频率范围。
0:LFXT1上的
32768Hz
晶体
1:保留
2:VLOCLK(MSP430X21X1
器件上保留)
3:外部数字时钟信源
XCAPx:振荡器电容选择。这些位选择当
XTS=0
时用于
LFXT1
的有效电容。
0:1pF
1:6pF
2:10pF
3:12.5pF
XT2OF:XT2振荡器是否失效
0:有效,正在工作
1:无效,未正常工作
LFXT1OF:LFXT1振荡器是否失效
0:有效,正在工作
1:无效,未正常工作
5、IE1:中断使能寄存器
1
学习经验总结" />
OFIE:振荡器失效中断使能。该位使
OFIFG
中断使能。由于
IE1
的其它位
用于其它模块,因此采用
BIS.B
或
BIC.B
指令来设置或清零该位比
用
MOV.B
或
CLR.B
更合适。
6、IFG1:中断标志寄存器
1
学习经验总结" />
OFIFG:振荡器失效中断标志。由于
IFG1
的其它位用于其它模块,因此
采用
BIS.B
或
BIC.B
指令来设置或清零该位比用
MOV.B
或
CLR.B
更合适。
0:没有未被响应的中断
1:有未被响应的中断
四、DCO频率
学习经验总结" />
4种频率经校准精度为±1%