STC8G单片机定时器2配置函数

使用配置函数配置定时器可以很方便程序编写


//定时器使用12个时钟周期时钟
unsigned char T2RH = 0;  //T1重载值的高字节
unsigned char T2RL = 0;  //T1重载值的低字节
/*******************************************************************************
* 函数功能 : T2配置函数
* 函数说明 : 
*******************************************************************************/
void ConfigTimer2(unsigned int ms)
{
    unsigned long tmp;  //临时变量
     AUXR=0x00;//定时器为12T
    tmp = FOSC / 12;      //定时器计数频率
    tmp = (tmp * ms) / 1000;  //计算所需的计数值
    tmp = 65536 - tmp;        //计算定时器重载值
    T2RH = (unsigned char)(tmp>>8);  //定时器重载值拆分为高低字节
    T2RL = (unsigned char)tmp;

    T2L = T2RL;                                
    T2H = T2RH;
	
    AUXR |= 0x10;                                //启动定时器
    IE2 |= ET2;                                  //使能定时器中断
}


//定时器使用1个时钟周期时钟
unsigned char T2RH = 0;  //T1重载值的高字节
unsigned char T2RL = 0;  //T1重载值的低字节
/*******************************************************************************
* 函数功能 : T2配置函数
* 函数说明 : 
*******************************************************************************/
void ConfigTimer2(unsigned int ms)
{
    unsigned long tmp;  //临时变量
 
    tmp = FOSC;      //定时器计数频率
    tmp = (tmp * ms) / 1000;  //计算所需的计数值
    tmp = 65536 - tmp;        //计算定时器重载值
    T2RH = (unsigned char)(tmp>>8);  //定时器重载值拆分为高低字节
    T2RL = (unsigned char)tmp;

    T2L = T2RL;                                
    T2H = T2RH;
	
    AUXR |= 0x10;                                //启动定时器
    IE2 |= ET2;                                  //使能定时器中断
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白q_5793545

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值