大连创客空间

 找回密码
 立即注册吧!

QQ登录

只需一步,快速开始

一键登录:

搜索
查看: 17217|回复: 147
收起左侧

【大赛原创经验贴】MSP430入门级程序:定时闪烁

  [复制链接]
发表于 2012-7-7 08:23:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多交流,硬件的世界向你敞开大门!

您需要 登录 才可以下载或查看,没有帐号?立即注册吧!

x
本帖最后由 Friday 于 2012-7-7 08:25 编辑

刚学完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;
}


回复

使用道具 举报

发表于 2012-7-7 08:25:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-7-7 08:26:44 | 显示全部楼层
谈了自己的感受,发的不是水帖,鼓励下
回复 支持 反对

使用道具 举报

发表于 2012-7-7 09:26:40 | 显示全部楼层
动手得来的经验,永远比伸手要来的有意义。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-7 10:01:12 | 显示全部楼层

恩恩,学习就是这样,尤其学习单片机系列,光看光说都没有用,只有写程序才能有所消化,理解,更能从实现一些功能的体验中获得乐趣。推动自己更好的学习!
回复 支持 反对

使用道具 举报

发表于 2012-7-7 10:09:17 | 显示全部楼层
Friday 发表于 2012-7-7 10:01
恩恩,学习就是这样,尤其学习单片机系列,光看光说都没有用,只有写程序才能有所消化,理解,更能从实现 ...

欢迎将你的收获继续和大家分享

也非常希望你能得到430的书籍
回复 支持 反对

使用道具 举报

发表于 2012-7-7 10:28:33 | 显示全部楼层
xiangxinli 发表于 2012-7-7 10:09
欢迎将你的收获继续和大家分享

也非常希望你能得到430的书籍

这当然的咯,书是拿定了,哈哈。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-7 10:29:55 | 显示全部楼层
大明遗臣 发表于 2012-7-7 08:26
谈了自己的感受,发的不是水帖,鼓励下

谢谢鼓励!第一次发帖,以后记得捧场
回复 支持 反对

使用道具 举报

发表于 2012-7-7 11:43:16 | 显示全部楼层
嗯  好样的...
回复 支持 反对

使用道具 举报

发表于 2012-7-7 11:44:25 | 显示全部楼层
问下有全国大学生电子设计竞赛常用电路模块设计 的完整版不   我希望得到  谢谢.....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-7 12:03:32 | 显示全部楼层
xiangxinli 发表于 2012-7-7 10:09
欢迎将你的收获继续和大家分享

也非常希望你能得到430的书籍

  呵呵,刚入门,基本内容大致了解了,还有待掌握与应用,以后有程序,心得之类的一定分享。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-7 12:04:47 | 显示全部楼层
624732502 发表于 2012-7-7 11:44
问下有全国大学生电子设计竞赛常用电路模块设计 的完整版不   我希望得到  谢谢..... ...

谢谢鼓励!至于你要的资料,我这里没有,你需要其他地方找找
回复 支持 反对

使用道具 举报

发表于 2012-7-7 12:18:35 | 显示全部楼层
嗯嗯   好的我都下载了你的定时器认识     还不错对我很有帮助    以后多多分享....
回复 支持 反对

使用道具 举报

发表于 2012-7-7 13:12:33 | 显示全部楼层
看来大家的反响很好

说明你的整理帮助了他们,这个帖子是有价值的。
回复 支持 反对

使用道具 举报

发表于 2012-7-7 13:21:49 | 显示全部楼层
顶一个
回复 支持 反对

使用道具 举报

发表于 2012-7-7 17:04:36 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-7 23:47:37 | 显示全部楼层
呵呵,最后还是掉下来了。
回复 支持 反对

使用道具 举报

发表于 2012-7-8 09:16:57 | 显示全部楼层
感谢分享哈
回复 支持 反对

使用道具 举报

发表于 2012-7-8 14:03:52 | 显示全部楼层
看看。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2012-7-8 16:01:08 | 显示全部楼层
瞧瞧先
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册吧!

本版积分规则

单片机开发者1群:235808606;会员QQ 6群:254085994; 1群:12835691(满); 2群:121061287(满); 3群:237320668(满);4群:249652919(满);5群:253578883(满);大赛1群:187926790(满),2群:231577758(满),3群:249652919(满)。 TI杯4群:58129202(满)。
载入中

QQ|手机版|小黑屋|Archiver|大连创客空间 ( 辽ICP备15004617号-2  

GMT+8, 2017-1-24 04:56 , Processed in 0.276090 second(s), 29 queries .

地址:辽宁省大连市高新园区火炬路7号17层 QQ:2401085253

Copyright © 2010-2015 创客空间(大连)科技有限公司 All Rights Reserved.

快速回复 返回顶部 返回列表