Board logo

标题: LPC2387的定时器使用示范 [打印本页]

作者: look_w    时间: 2017-10-24 16:04     标题: LPC2387的定时器使用示范

最近写了个LPC2387的定时器相关应用,把思路&代码写出来供参考。    需求:LPC2387实现0.5秒为周期的定时器
    思路:以定时器2(Timer2)为例,利用定时器的计时功能即可,MR0寄存器设置0.5秒对应的计数,计数到后产生中断并充值MR0寄存器。

    问题:解决0.5秒对应多少计数
     定时器2对外设时钟(Peripheral Clock)进行计数,要实现0.5秒的定时周期,即MR0的计数值为外设时钟频率 (Fpclk)   的1/2。
     外设时钟频率 = CPU频率/外设分频 系数      
              Fpclk = CCLK/PCLK_DIV
     而CPU频率(CCLK)由晶振频率(Fin)和PLL配置以及CPU分频系数(CCLK_DIV)决定
               CCLK = Fin * M *2 / (N* CCLK_DIV)                             *M和N是PLL寄存器的MSEL和NSEL值,参加Datasheet
     由上可知 外设频率
           Fpclk = Fin * M *2 / (N* CCLK_DIV* PCLK_DIV)
   笔者LPC2387板子的相关参数如下:
           晶振为14.7456MHZ, M=16, N=1, CCLK_DIV=8, PCLK_DIV=4, 可知Fpclk = 14745600 HZ,定时器的MR0应填入Fin/2 = 7372800

    部分实现代码,仅供参考







欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0