关闭

zigbee基础应用(四)定时器

167人阅读 评论(0) 收藏 举报


1.寄存器相关

举个栗子:
T1CTL = 0x0d;          //128分频,自动重装 0X0000-0XFFFF 
  T1STAT= 0x21;          //通道0, 中断有效  
2.程序案例
/**************************************/
/*描述:通过定时器T1查询方式控制LED1周
        期性闪烁
**************************************/


#include <ioCC2530.h>


#define uint unsigned int
#define uchar unsigned char


//定义控制LED灯的端口
#define LED1 P1_0 //定义LED1为P10口控制


//函数声明
void Delayms(uint xms); //延时函数
void InitLed(void); //初始化P1口
void InitT1();                  //初始化定时器T1


/****************************
//延时函数
*****************************/
void Delayms(uint xms)   //i=xms 即延时i毫秒
{
 uint i,j;
 for(i=xms;i>0;i--)
   for(j=587;j>0;j--);



/****************************
//初始化程序
*****************************/
void InitLed(void)
{
    P1DIR |= 0x03; //P1_0定义为输出
    LED1 = 1;       //LED1灯初始化熄灭
    
}
//定时器初始化
void InitT1() //系统不配置工作时钟时默认是2分频,即16MHz
{
  T1CTL = 0x0d;          //128分频,自动重装 0X0000-0XFFFF 
  T1STAT= 0x21;          //通道0, 中断有效   
}


/***************************
//主函数
***************************/
void main(void)
{
        //uchar count;
InitLed(); //调用初始化函数
        InitT1();
while(1)
{
          if(IRCON>0)//IRCON为1有中断未决
          { IRCON=0;
            //if(++count>=1)      //约1s周期性闪烁
            //{
              //count=0;
              LED1 = !LED1;        //LED1闪烁        
            //}
           } 
}
}
3.时间计算



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:78578次
    • 积分:1690
    • 等级:
    • 排名:千里之外
    • 原创:88篇
    • 转载:24篇
    • 译文:0篇
    • 评论:17条
    最新评论