CC2530 定时器T1

定时器 1 是一个独立的 16 位定时器,支持典型的定时 / 计数功能,比如输入捕获,输出比较和 PWM 功能 。
定时器有五个独立的捕获 / 比较通道。每个通道定时器使用一个 I/O 引脚。定时器用于范围广泛的控制和测量 应
用,可用的五个通道的正计数 / 倒计数模式将允许诸如电机控制应用的实现。
定时器 1 的功能如下:
• 五个捕获 / 比较通道
• 上升沿、下降沿或任何边沿的输入捕获
• 设置、清除或切换输出比较
• 自由运行、模或正计数 / 倒计数操作
• 可被 1 , 8 , 32 或 128 整除的时钟分频器
• 在每个捕获 / 比较和最终计数上生成中断请求
• DMA 触发功能

/*************************************************
*项目名称:Zigbee——学习
*文件名称:key_led.c
*功能描述:key1中断方式加定时器方式闪烁led灯
*开发平台:网蜂Zigbee基础版
*硬件连接:
*          LED1   P1_0   低电平亮
*          KEY1   P0_4   下拉有效
*
*建立时间:2013.5.11
*责任人:  ***
*版本号:  无
**************************************************/


#include <ioCC2530.h>

//定义数据类型
#define uchar unsigned char
#define uint unsigned int

//定义控制口
#define LED1 P1_0  //LED1的控制口
#define LED2 P1_1  //LED2的控制口

//声明函数区
void delayms(uint);  //延时函数
void InitLed();   //P1口初始化
void InitT1();

//函数定义区

/**************************
*函数名称:delayms(uint ms)
*函数功能:延时函数
*入口参数:无
*出口参数:无
*返回值  :无
**************************/
void delayms(uint ms)
{
  uint i = 0;
  uint j = 0;
  
  for(i = 0; i < ms; ++i)
    for(j = 0; j < 586; ++j);
}

/**************************
*函数名称:InitLed()
*函数功能:LED初始化
*入口参数:无
*出口参数:无
*返回值  :无
**************************/
void InitLed()
{
  P1SEL &= ~0x01;//定义P1_0为普通IO口
  P1DIR |= 0x01;//定义P1_0为输出
  LED1 = 1;//初始化LED1熄灭
  //LED2 = 0;//初始化LED2熄灭
}

/**************************
*函数名称:InitT1()
*函数功能:初始化T1函数
*入口参数:无
*出口参数:无
*返回值  :无
**************************/
void InitT1()//系统时钟不配置默认为2分频,即16MHz
{
  T1CTL = 0x0d;//128分频,自动重装0x0000-0xffff
  T1STAT = 0x21;//通道0,中断有效
}

/**************************
*函数名称:main()
*函数功能:主函数
*入口参数:无
*出口参数:无
*返回值  :无
**************************/
void main()
{
  uchar count;
  InitLed();
  InitT1();
  while(1)
  {
    if(IRCON > 0)//查询方式
    {
      IRCON = 0;
      //溢出时T=1/(16M/128)*65536=0.5s,  
      //所以总时间Ta=T*count=0.5*2=1S。
      if(++count >= 1)//count 为 0 1
      {
        count = 0;
        LED1 = !LED1;
      }
    }
  }
}



 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值