查看: 2222|回复: 2
打印 上一主题 下一主题

CC2530基础实验 定时器中断

[复制链接]
跳转到指定楼层
沙发
发表于 2015-2-8 17:29:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用定时器 4 来改变小灯的状态,T4 2000 次中断小灯闪烁一轮,闪烁的时间长度为 1000 次 中断所耗时间。
相关寄存器
void Init_T4_AND_LED(void)
{
P1DIR = 0X03;
led1 = 1;
led2 = 1;

TIMER34_INIT(4);                                    //初始化 T4
TIMER34_ENABLE_OVERFLOW_INT(4,1);   //开 T4 中断
TIMER34_SET_CLOCK_DIVIDE(4,128);
TIMER34_SET_MODE(4,0);                                  //自动重装 00->0xff
TIMER34_START(4,1);                                        //启动
}
函数功能:将 I/0  P10,P11 设置为输出去控制 LED,将 T4 设置为自动重装模式,定时器时钟
16 分频,并启动 T4。

回复

使用道具 举报

板凳
 楼主| 发表于 2015-2-8 17:30:26 | 只看该作者
中断服务程序:
  interrupt void T4_ISR(void)

{
IRCON = 0x00;        //可不清中断标志,硬件自动完成
if(counter<1000)counter++;  //1000 次中断 LED 闪烁一轮

else

{
counter = 0;        //计数清零
GlintFlag = !GlintFlag;        //GlintFalg = 1,LED 闪烁

}

}
回复 支持 反对

使用道具 举报

地板
发表于 2015-2-9 11:19:10 | 只看该作者
{:soso_e142:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

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