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

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

//定时器使用12个时钟周期时钟

unsigned char T1RH = 0;  //T1重载值的高字节
unsigned char T1RL = 0;  //T1重载值的低字节
/*******************************************************************************
* 函数功能 : T1配置函数
* 函数说明 : 
*******************************************************************************/
void ConfigTimer1(unsigned int ms)
{
    unsigned long tmp;  //临时变量
    AUXR=0x00;//定时器为12T
    tmp = FOSC / 12;      //定时器计数频率
    tmp = (tmp * ms) / 1000;  //计算所需的计数值
    tmp = 65536 - tmp;        //计算定时器重载值
    T1RH = (unsigned char)(tmp>>8);  //定时器重载值拆分为高低字节
    T1RL = (unsigned char)tmp;
    TMOD &= 0x0F;   //清零T1的控制位
    TMOD |= 0x00;   //配置T1为模式0  模式0为16位自动重装,1为16位不重装,02为8位自动重装定时器
    TH1 = T1RH;     //加载T1重载值(自动重装模式只需计算TH0)
    TL1 = T1RL;
    ET1 = 1;        //使能T1中断
    TR1 = 1;        //启动T1
}

//定时器使用1个时钟周期时钟

unsigned char T1RH = 0;  //T1重载值的高字节
unsigned char T1RL = 0;  //T1重载值的低字节
/*******************************************************************************
* 函数功能 : T1配置函数
* 函数说明 : 
*******************************************************************************/
void ConfigTimer1(unsigned int ms)
{
    unsigned long tmp;  //临时变量
    
    tmp = FOSC ;      //定时器计数频率
    tmp = (tmp * ms) / 1000;  //计算所需的计数值
    tmp = 65536 - tmp;        //计算定时器重载值
  
    T1RH = (unsigned char)(tmp>>8);  //定时器重载值拆分为高低字节
    T1RL = (unsigned char)tmp;
    TMOD &= 0x0F;   //清零T1的控制位
    TMOD |= 0x00;   //配置T1为模式0  模式0为16位自动重装,1为16位不重装,02为8位自动重装定时器
    TH1 = T1RH;     //加载T1重载值(自动重装模式只需计算TH0)
    TL1 = T1RL;
    ET1 = 1;        //使能T1中断
    TR1 = 1;        //启动T1
}

  • 1
    点赞
  • 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、付费专栏及课程。

余额充值