最近学习MSP430,把自己的一些经验分享下,这是我在网上发现的一篇很不错的文章,归纳得很好,简洁明了。
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 个位都可以分别设置为中断。
□ 可以独立操作输入和输出数据寄存器。
□ 可以分别设置上拉或下拉电阻。
在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
(以下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: 管脚当前为高
你说的“第二功能”应该是指外围模块功能吧,用模块就选“第二功能”,不用模块就选“第一功能”。 可通过设置PxSEL寄存器进行选择,某位写“0”为I/O;写“1”为“第二功能”。 用到比较器(片内外围模块)时要设置为第二功能。 当然你如果是用片外的比较器,将其输出的高低电平(1或0)送给MSP430,那就选“第一功能”。
http://zhidao.baidu.com/question/172451580.html?an=0&si=3
3.Base clock 模块
一、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控制寄存器(读写)
学习经验总结】" alt="[转载]【msp430 学习经验总结】" width=33 height=33>
DCOx:定义8种频率之一,可分段调节DCOCLK的频率,相邻两种频率相差10%。而频率又注入直流发生器
的电流定义。
MODx: 位调节器选择。这几位决定在 32 个 DCOCLK 周期内插入高1段频率 fDCO+1的次数。当
DCOX=7,已为最高段频率,此时不能用MODx作为频率调整。
2、BCSCTL1:基础时钟系统控制寄存器1
学习经验总结】" alt="[转载]【msp430 学习经验总结】" width=33 height=33>
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
学习经验总结】" alt="[转载]【msp430 学习经验总结】" width=33 height=33>
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的时钟源