大连创客空间

 找回密码
 立即注册吧!

QQ登录

只需一步,快速开始

一键登录:

搜索
查看: 12659|回复: 100
收起左侧

【大赛原创经验贴】用定时器A的中断实现LED灯闪烁

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

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

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

x


  1. #include<MSP430x24x.h>
  2. void main (void)
  3. {
  4.         WDTCTL= WDTPW + WDTHOLD;                       //设置看门狗控制寄存器,关看门狗
  5.         TACTL = TASSEL_2 + TACLR;                              // 设置定时器A控制寄存器,
  6.         // TASSEL2=0x1000,Timer A clock source select: 2 - SMCLK
  7.         // TACLR=0x0004,清除定时器A计数器
  8.         CCTL0 = CCIE;                                                     //设置捕获/比较控制寄存器,CCIE=0x0010,使能捕获比较中断
  9.         CCR0 =16384;                                                     //设置捕获/比较寄存器,初始值为16384,对于32768Hz的频率,相当于0.5s
  10.         P1DIR |=BIT0;                                                     //P1为输出
  11.         TACTL |= MC0;                                                    //设置定时器A控制寄存器,MC0=0x0010,使计数模式为增计数
  12.         _EINT();                                                               //使能中断,这是一个C编译器支持的内部过程。
  13.         while(1);                                                               //无限次while循环
  14. }
  15. #pragma vector=TIMERA0_VECTOR
  16. __interrupt void  Timer_A (void)                //定时器A的CC0中断处理程序
  17.                                                                  //TIMERA0_VECTOR=6*2,等于基地址0xFFE0+12=0xFFEC
  18. {
  19.     P1OUT ^= BIT0;                                   //将P1引脚取反,就是使发光二极管闪烁
  20. }
复制代码
回复

使用道具 举报

 楼主| 发表于 2012-7-6 08:26:50 | 显示全部楼层
自己先来抢个沙发。
回复 支持 反对

使用道具 举报

发表于 2012-7-6 08:40:02 | 显示全部楼层
本帖最后由 honghu 于 2015-4-5 09:21 编辑 <br /><br />自己先来抢个沙发。[/quote]
怎么代码不全呢?

回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-6 08:44:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-7-6 09:16:24 | 显示全部楼层
xinzhengcheng53 发表于 2012-7-6 08:44
什么意思?

是没有回复的原因 现在可以看到了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-6 09:55:11 | 显示全部楼层
honghu 发表于 2012-7-6 09:16
是没有回复的原因 现在可以看到了

:):)
回复 支持 反对

使用道具 举报

发表于 2012-7-6 12:23:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-7-6 14:18:17 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-7-6 15:46:33 | 显示全部楼层
不知道怎么回事
回复 支持 反对

使用道具 举报

发表于 2012-7-6 19:45:12 | 显示全部楼层
写的不错哟!
回复 支持 反对

使用道具 举报

发表于 2012-7-6 20:35:02 | 显示全部楼层
死胖子
回复 支持 反对

使用道具 举报

发表于 2012-7-6 20:36:31 | 显示全部楼层
这贴也会是精华?版主干什么吃的去了
回复 支持 反对

使用道具 举报

发表于 2012-7-6 21:00:56 | 显示全部楼层
honghu 发表于 2012-7-6 08:40
怎么代码不全呢?

管理员快把这帖子全局置顶吧,这么好的帖子。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-6 21:03:36 | 显示全部楼层
发烧友 发表于 2012-7-6 19:45
写的不错哟!

谢谢赞赏,,我会继续努力。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-6 21:06:05 | 显示全部楼层
chuanye 发表于 2012-7-6 15:46
不知道怎么回事

怎么?有问题吗?
回复 支持 反对

使用道具 举报

发表于 2012-7-6 21:52:45 | 显示全部楼层
想问怎么在中断程序中关中断使能呢??
回复 支持 反对

使用道具 举报

发表于 2012-7-7 08:09:06 | 显示全部楼层
ding````
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-7 08:34:02 | 显示全部楼层
430菜鸟 发表于 2012-7-6 21:52
想问怎么在中断程序中关中断使能呢??

msp430的指令中,DINT和EINT分别指关和开所有中断,也就是包涵P1IE、P2IE、WDTIE、TAIE、TBIE、ADC12IE、串口中断允许的所有中断允许位为“0”和为“1”。
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2012-7-7 08:48:06 | 显示全部楼层
小军军
回复 支持 反对

使用道具 举报

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

本版积分规则

单片机开发者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-3-1 00:48 , Processed in 0.247431 second(s), 29 queries .

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

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

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