cc2530 T3定时器控制引脚P1_1的亮灭

/****************************************************************************
* 文 件 名: main.c
* 作    者: Andy
* 修    订: 2013-01-08
* 版    本: 1.0
* 描    述: 操作IO口控制3盏LED灯的全亮和全灭、闪烁、流水灯
****************************************************************************/
#include <ioCC2530.h>

typedef unsigned char uchar;
typedef unsigned int  uint;

#define LED2 P1_1


uchar KeyValue = 0;
uint count = 0;

void DelayMS(uint msec)
{ 
    uint i,j;
    
    for (i=0; i<msec; i++)
        for (j=0; j<535; j++);
}

void InitLed(void)
{
    P1DIR |= 0x02;      //P1.1定义为输出 这个地方一定要改
    LED2=1;
   
}



void InitTimer3(void)
{
  T3CTL |= 0x08;  //溢出标志
  T3IE = 1;     //定时器T3势能
  T3CTL |= 0xE0;  //128分频
  T3CTL &= ~0x03;  //定时器计数方式
  T3CTL |= 0x10;  //启动定时器
  EA = 1;
}
/****************************************************************************
* 程序入口函数
****************************************************************************/
void main(void)
{

    InitLed();               //设置LED灯相关IO口
    InitTimer3();
    
    while(1)                 //死循环
    {  
       if(KeyValue ==1)
       {
          LED2 = ~LED2;
          KeyValue = 0;
       }
    };
    
}


#pragma vector = T3_VECTOR
__interrupt void T3_ISR(void)
{
  IRCON = 0x00;
  
  if(count++ > 244)
  {
    count = 0;
    KeyValue = 1;
  }
 
}

 

posted @ 2016-07-04 09:43  我有一壶酒  阅读(955)  评论(0编辑  收藏  举报