您现在的位置: 主页 > MCU > 单片机技术应用 > msp430g2553单片机学习心得 -
本文所属标签:
为本文创立个标签吧:

msp430g2553单片机学习心得 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]四年前学习的TI的Msp430g2553这款单片机,最近在整理学习记录的时候把当时的学习心得重新写下来。学习单片机最早是学习的51系列的,看的也是广为推崇的郭天祥郭老师的《十天学习单片机》,个人觉得单片机学习还是最先

四年前学习的TI的Msp430g2553这款单片机,最近在整理学习记录的时候把当时的学习心得重新写下来。学习单片机最早是学习的51系列的,看的也是广为推崇的郭天祥郭老师的《十天学习单片机》,个人觉得单片机学习还是最先攻克51的。学习好51之后,对单片机操作有了基本的认识,再学习其他款单片机自然是能融会贯通。

本文引用地址: http://www.21ic.com/app/mcu/201808/781410.htm

TI的430系列主打是低功耗,它的技术文档和Dome程序都非常详细,尤其是技术文档真让人有种膜拜的感觉,在每个模块的时候还有个框图,对理解模块内设置非常有帮助,我当时还特意打印了。当时它的User's Guide还没有中文版,如果实在看不懂,可以借鉴F149系列的(这款有人翻译了中文版本)。


个人觉得在学习g2553这款单片机中,主要注意的点:

(1)注意低功耗的使用,选用不同的模式。

(2)IO的设置,由于IO口比较少,复用的比较严重,当时一直纠结IO口的REN与OUT,DIR的问题,下面这个表概括详细,总结I/O 口配置时PxDIRx、PxRENx和PxOUTx寄存器的用法

PxDIRx PxRENx PxOUTx I/O 口配置
0 0 x 输入
0 1 0 置低
0 1 1 置高
1 x x 输出

其他具体的由于当时的笔记找不到,就不能一一说明了。

下面是比较实用的G2553框架程序:


#include

//函数声明

voidInitSys();

intmain(void)

{

WDTCTL=WDTPW+WDTHOLD;//关闭看门狗

InitSys();//初始化

start:

//以下填充用户代码

LPM3;//进入低功耗模式n,n:0~4。若不希望进入低功耗模式,屏蔽本句

gotostart;

}

/*****************************************************************************

系统初始化

******************************************************************************/

voidInitSys()

{

unsignedintiq0;

//使用XT2振荡器

BCSCTL1&=~XT2OFF;//打开XT2振荡器

do

{

IFG1&=~OFIFG;//清除振荡器失效标志

for(iq0=0xFF;iq0>0;iq0--);//延时,等待XT2起振

}

while((IFG1&OFIFG)!=0);//判断XT2是否起振

BCSCTL2=SELM_2+SELS;//选择MCLK、SMCLK为XT2

//以下填充用户代码,对各种模块、中断、外围设备等进行初始化

_EINT();//打开全局中断控制,若不需要打开,可以屏蔽本句

}

/*****************************************************************************

端口2中断函数

******************************************************************************/

#pragmavector=PORT2_VECTOR

__interruptvoidPort2()

{

//以下为参考处理程序,不使用的端口应当删除其对于中断源的判断。

if((P2IFG&BIT0)==BIT0)

{

//处理P2IN.0中断

P2IFG&=~BIT0;//清除中断标志

//以下填充用户代码

}

elseif((P2IFG&BIT1)==BIT1)

{

//处理P2IN.1中断

P2IFG&=~BIT1;//清除中断标志

//以下填充用户代码

}

elseif((P2IFG&BIT2)==BIT2)

{

//处理P2IN.2中断

P2IFG&=~BIT2;//清除中断标志

//以下填充用户代码

}

elseif((P2IFG&BIT3)==BIT3)

{

//处理P2IN.3中断

P2IFG&=~BIT3;//清除中断标志

//以下填充用户代码

}

elseif((P2IFG&BIT4)==BIT4)

{

//处理P2IN.4中断

P2IFG&=~BIT4;//清除中断标志

//以下填充用户代码

}

elseif((P2IFG&BIT5)==BIT5)

{

//处理P2IN.5中断

P2IFG&=~BIT5;//清除中断标志

//以下填充用户代码

}

elseif((P2IFG&BIT6)==BIT6)

{

//处理P2IN.6



              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > msp430g2553单片机学习心得 -
 

"msp430g2553单片机学习心得 -"的相关文章

网站地图

围观()