msp430入门程序.docVIP

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

刚学完51,还没来得及消化的自己,转身开始进军msp430。在起初的几天里,感觉msp的一切都是那么的苦涩难懂,与51有截然不同的感觉。在文字之中挣扎了两天,受到的打击不小。然后,拈来几个简单的程序,想开始学会自己点灯闪烁,就像学51的编程起点一样。于是,慢慢的看着程序啃代码,弄清每一条语句。此间,有些书上的知识与代码开始串在一起。才发现,最初几天的功夫,没有白费。 点灯闪烁固然简单,会做也说明不了自己达到了一定的高度,但作为一名初学者,能熟练“玩转”各种不同的定时,说明自己对msp430已然不再陌生。对于从51转身msp430的新手来说,个人认为,msp430定时器这一块,是它的特点,也是基础的部分,甚至可以说,是任何新手,在开始时,无法逃避的一个重点! 接下来是自己根据mspf149写的几个定时程序,在实验板上亲测均能通过。 (注:proteus仿真可能无法到达其效果,因为其中使用的是msp430f249,请注意其头文件与149的区别) 一、/* 定时:LFXT1CLK作为ALCK的时钟源,频率:32768HZ */ #include msp430x14x.h void main(void) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 //TIMER_A相关设置 CCTL0 = CCIE; //使能CCR0中断 CCR0 = 2047; //设定周期0.5S TACTL = TASSEL_1 + ID_3 + MC_1; //定时器A的时钟源选择ACLK,增计数模式 P2DIR = 0x04; //设置P2口方向为输出 _EINT(); //使能全局中断 } #pragma vector = TIMERA0_VECTOR __interrupt void Timer_A (void) { P2OUT ^= 0xff; } 二、/* 掌握XT2、DCO两种时钟源情况下SMCLK的定时 */ #include msp430x14x.h void main() { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; //基础时钟方面的设置 BCSCTL1=~XT2OFF; //启动XT2 BCSCTL2=SELS+DIVS1+DIVS0; //XT2CLK作为SMCLK的时钟,八分频 //TIMER_A各种寄存器设置 TACTL=TACLR+TASSEL1+ID1+ID0; //清除TAR,时钟源SMCLK,八分频 TACTL|=MC0; //增计数模式 CCTL0=CCIE; CCR0=62500; /*特别注意:当XT2没有开启或没有选择XT2作为SMCLK的时钟, SMCLK的默认时钟源为DCO:800KHZ,若定时0.5s,CCR0=50000; */ P2DIR|=BIT7; _EINT(); while(1); } //interrupt[TIMERA0_VECTOR]void Timer_A(void) #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A(void) { P2OUT^=BIT7; } 三、关于看门狗的两种表达起定时效果 #include msp430x14x.h void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL =WDT_ADLY_1000;//即:WDTCTL=WDTPW+WDTTMSEL+WDTSSEL+WDTCNTCL; IE1|=WDTIE; P2DIR|=BIT0; _EINT(); while(1); } #pragma vector=WDT_VECTOR __interrupt void WDT() { P2OUT^=BIT0; }

文档评论(0)

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

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

1亿VIP精品文档

相关文档