Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册
  • 博客访问: 2363151
  • 博文数量: 407
  • 博客积分: 10458
  • 博客等级: 上将
  • 技术积分: 4237
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-24 14:59
文章分类

全部博文(407)

文章存档

2017年(5)

2016年(11)

2015年(34)

2014年(22)

2013年(30)

2012年(19)

2011年(7)

2010年(12)

2009年(16)

2008年(251)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题
nrf24le1单片机定时器 2015-05-05 13:44:04

分类: 其他平台

nrf24le1时钟频率为16MHZ,假设每次定时时间间隔是10ms
需要设置定时器的初值,用它来设置THx, TLx寄存器,计算公式如下图,其他单片机可以以此类推
计算。


Keil uVision代码:
xdata unsigned int counter = 0;
void TimerInit(void)
{
        TMOD = 0x01; // 方式1,16位计数器 
        EA = 1;  //中断总开关(属IE:中断允许寄存器)
        ET0 = 1;  //允许定时器中断0中断(属IE:中断允许寄存器)
        // 52203  CBEB   10ms  
        TH0 = 0xCB;  //16位计数寄存器T0高8位       
        TL0 = 0xEB;  //16位计数寄存器T0低8          
        TR0 = 1;  //定时器0启动 (属TCON:Timer Control Register)
}

void TimerCounter_0 (void) interrupt 1 {
    //用户函数内容
    TH0 = 0xCB;       
     TL0 = 0xEB;
    counter++;
    if(counter ==100){          //10毫秒重复100次就是1秒
   
    counter = 0;           //重置
    }
}
作者:帅得不敢出门  程序员群:31843264
阅读(2231) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册