CC2530 timer pwm

先看一下相关的定时器的寄存器:


#include <ioCC2530.h>

typedef unsigned char uchar;
typedef unsigned int  uint;




/****************************************************************************
* 名    称: InitLed()
* 功    能: 设置LED灯相应的IO口
* 入口参数: 无
* 出口参数: 无
****************************************************************************/
void InitP01(void)
{
    P1DIR |= 0x01;           //P1.0定义为输出
    P1_0= 1;                   
}

/****************************************************************************

功    能: 定时器初始化,TICKSPD 是16 MHz系统不配置时默认是2分频,即16MHz

****************************************************************************/
void InitT1()
{
    CLKCONCMD &= ~0x40;      //设置系统时钟源为32MHZ晶振
    while(CLKCONSTA & 0x40); //等待晶振稳定为32M
    CLKCONCMD &= ~0x07;      //设置系统主时钟频率为32MHZ   
    CLKCONCMD |= 0x38;       //时钟速度32 MHz 定时器标记输出设置[5:3]250kHz

    PERCFG |= 0x40;          //定时器1 的IO位置   1:备用位置2 
    P2SEL &= ~0x10;          //定时器1优先
    P2DIR |= 0xC0;           //第1优先级:定时器1通道2-3

    P1DIR |= 0xff;           //端口1为输出    
    P1SEL |= 0x01;           //timer1 通道2映射口P1_0
    
    T1CC2H = 0x00;           //20%占空比为200us
    T1CC2L = 0x32;           
    T1CC0H = 0x00;           //1ms的周期时钟,频率为976.516HZ
    T1CC0L = 0xff; 
    T1CCTL2 = 0x1c;          // 模式选择 通道2比较模式
    T1CTL = 0x02;            //250KHz8分频
}

/****************************************************************************
* 程序入口函数
****************************************************************************/
void main(void)
{
    InitP01();		         //调用初始化函数
    InitT1();                //定时器初始化及pwm配置
    while(1)
    {
    }
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值