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

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

8位单片机在嵌入式设计领域已经成为半个多世纪以来的主流选择。尽管嵌入式系统市场日益复杂,8位单片机依然不断发展,积极应对新的挑战和系统需求。如今,Microchip推出的8位PIC®和AVR®单片机系列,配备了先进的独立...

关键字: 单片机 嵌入式 CPU

在嵌入式系统开发中,程序烧录是连接软件设计与硬件实现的关键环节。当前主流的单片机烧录技术已形成ICP(在电路编程)、ISP(在系统编程)、IAP(在应用编程)三大技术体系,分别对应开发调试、量产烧录、远程升级等不同场景。...

关键字: 单片机 ISP ICP IAP 嵌入式系统开发

在嵌入式系统开发中,看门狗(Watchdog Timer, WDT)是保障系统可靠性的核心组件,其初始化时机的选择直接影响系统抗干扰能力和稳定性。本文从硬件架构、软件流程、安全规范三个维度,系统分析看门狗初始化的最佳实践...

关键字: 单片机 看门狗 嵌入式系统

本文中,小编将对单片机予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 单片机 开发板 Keil

随着单片机系统越来越广泛地应用于消费类电子、医疗、工业自动化、智能化仪器仪表、航空航天等各领域,单片机系统面临着电磁干扰(EMI)日益严重的威胁。电磁兼容性(EMC)包含系统的发射和敏感度两方面的问题。

关键字: 单片机 电磁兼容

以下内容中,小编将对单片机的相关内容进行着重介绍和阐述,希望本文能帮您增进对单片机的了解,和小编一起来看看吧。

关键字: 单片机 复位电路

在这篇文章中,小编将为大家带来单片机的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 单片机 异常复位

今天,小编将在这篇文章中为大家带来单片机的有关报道,通过阅读这篇文章,大家可以对它具备清晰的认识,主要内容如下。

关键字: 单片机 仿真器

单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 中断 boot

一直以来,单片机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来单片机的相关介绍,详细内容请看下文。

关键字: 单片机 数字信号 模拟信号
关闭