原创 CC2430基础实验——T1的使用(转载)

2009-9-20 18:26 1910 5 5 分类: MCU/ 嵌入式
 


   T1的使用主要是用定时器1来改变小灯的状态,T1没溢出一次,两个小灯闪烁一次,并且在停止闪烁后成闪烁前的相反状态。


    这个实验共用到P1,P1DIR,P1SEL和T1CTL四个寄存器。其中前三个的作用前面的文章里应经介绍过了,这里就不再重复说明了。这里主要是介绍一下T1CTL这个寄存器,这个寄存器的名称为T1控制状态寄存器,主要的作用是进行一下T1的状态参数的设置,具体的见《基础实验》的第5页。最后还是要提醒大家注意工程的设置问题,感觉整个《基础实验》都不使用2430做的,所以没做一个实验就要改一下他的工程设置。


主要的程序如下:
//初始化程序
void Initial(void)
{
 //初始化P1
 P1DIR = 0x03;  //P10 P11为输出
 RLED = 1;
 YLED = 1;  //灭LED


 //用T1来做实验
 T1CTL = 0x3d; //通道0,中断有效,128分频;自动重装模式(0x0000->0xffff);
}


//主函数
void main()
{
 Initial();  //调用初始化函数
 RLED = 0; //点亮红色LED
 while(1)    //查询溢出
 {
                if(IRCON > 0)
                {
                  IRCON = 0;               //清溢出标志


                  TempFlag = !TempFlag;
                }
  if(TempFlag)
  {
   YLED = RLED;
   RLED = !RLED;
   Delay(6000);
  }
 }
}


 这里要说明的就是T1CTL的最后四位,3:2位是定时器1计数时钟分步选择


 00 不分频


 01 8分频


 10 32分频


 11 128分频


 1:0位是定时器模式选择


 00 暂停


 01 自动重装0x0000 - 0xFFFF


 10 比较计数0x0000 - T1CC0


 11 PWM方式0x0000 - T1CC0 - 0x0000

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条