MSP430框架程序.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MSP430框架程序

《 MSP430框架程序 》 2012.7.19 XXX 整理 教训: 1.程序的模块化设计很重要。每次写程序,最好遵循如下规矩: 关看门狗;WDTCTL=WDTPW+WDTHOLD; 开晶振:都把ACLK= XT1(32k),MCLK=SMCLK=XT2(8M);并且能用8M最好用8M,这样比较准确。 晶振的检测方法:XT2可以通过程序中的扫描标志位实现。或者设置P1.4(SMCLK),P2.0(ACLK),然后用示波器检查 主程序:使用自己写的模板。 2.如果在一个问题上卡住了,就不断细化深入下去,直到触到其本质,就看你能把这个问题细化到什么程度! 3.任何数字或信息都有他隐含的本质信息,都能直接或间接反映其本质。就看你能否抓住这个数字,想到他对本质的反映。 /********************************************************************* 程序名:MSP430框架程序 描 述:适用于MSP430F149,其他型号需要适当修改 规 范:变量小写,常量大写,函数名第一个字母大写 *********************************************************************/ //header file #include msp430x14x.h //函数声明 void Init_Sys(); int main(void){ WDTCTL = WDTPW +WDTHOLD; //Stop WDT Init_Sys(); //初始化 start: //用户程序 LPMn; //_BIS_SR(LPM3_bits + GIE); //进入低功耗模式n(n:0~4),不需要可以屏蔽 goto start; } /******************************************************************* 程序功能:系统初始化 ********************************************************************/ void Init_Sys(){ //将MCLK时钟从DCO切换到高频晶体振荡器 BCSCTL1 = ~XT2OFF; //XT2=HF XTAL do{ unsigned char i; IFG1 |= ~OFIFG; //Clear OSCFault flag for(i=0xff;i0;i--); //Time for flag to set } while((IFG1 OFIFG)); //OSCFault flag still set? BCSCTL2 |= SELM_2 + SELS; //MCLK=SMCLK=XT2(safe) //一下初始化各种模块、中断、外围设备 __EINT(); //OPEN GIE 不需要可以屏蔽 } /******************************************************************* 函数名称:端口Px(x:1 or 2)中断函数 *******************************************************************/ #pragma vector=PORT2_VECTOR __interrupt void Port2(){ //参考处理程序,不用的端口应当删除其对于中断源的判断 if((PxIFG BIT0) == BIT0){ //处理Px.0中断 P2IFG = ~BIT0; //清除中断标志 //Users program } else if((PxIFG BIT1) == BIT1){ //处理Px.1中断 P2IFG = ~BIT1; //清除中断标志 //Users program } else if((PxIFG BIT3) == BIT3){ //处理Px.3中断 P2IFG = ~BIT3; //清除中断标志 //Users program } else if((PxIFG BIT4) == BIT4){ //处理Px.4中断 P2IFG = ~BIT4; //清除中断标志

文档评论(0)

youshen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档