繁体中文
高级搜索
 
首页 | 电子技术应用 | 行业最新动态 | 行业最新产品 | 软件资料下载 | 电路图纸欣赏 | 博客文章精选 | 电子精品论坛 | 电子技术贴吧

当前位置:首页 >> 博客文章精选 >> 单片机-----博客 >> 使用PIC单片机的TMR1作为实时时钟
使用PIC单片机的TMR1作为实时时钟
作者:   来源: 发表时间:2006-12-08  字号:  

Timer1 添加外部LP 振荡器,可以为用户提供RTC 功能。这是通过一个提供精确时基的廉价时钟晶振以及几行计算时间的应用程序代码实现的。当器件工作于休眠模式下并使用电池或超大容量电容作为电源时,可以省去额外的RTC 器件和备用电池。

应用代码程序RTCisr,给出了使用中断服务程序以1 秒的间隔递增计数器的简单方法。 TMR1 寄存器对的值不断加1 直至溢出,触发中断并调用中断服务程序,该程序会使秒计数器加1,而分钟和小时计数器则会在前面的计数器溢出时加1。由于这对寄存器为16 位宽,因此使用32.768 kHz 时钟,将其计数到溢出需要2 秒。要使溢出按所需的1 秒间隔进行,必须预先装载这对寄存器。最简单的方法是使用BSF 指令将TMR1H 的最高有效位置1。请注意决不要预先加载或改变TMR1L 寄存器,这样做可能会引起多个周期的累积错误。要使此方法精确,Timer1 必须工作在异步模式且必须允许Timer1 溢出中断(PIE1<0> = 1),如程序RTCinit所示。同时Timer1 振荡器也必须使能并始终保持运行。

详细的源程序段见: http://www.supermcu.com


!注意:如果您发现此文章出现影响您的阅读的状况,请从浏览器地址栏里复制本文的链接到留言本报告给站长解决!
  • 上一篇: 驱动我的步进电机
  • 下一篇: 为arm,51与优盘进行串口通信的东东

  • >> 联系我们请给我们留言·留言本
    本站所有提供的信息软件资料均来自网络,版权及著作权归原作者所有,如果无意中侵犯了您的相关权利或触及法律法规,请给我们留言, 我们将在24小时内删除。
      浙ICP备05071687号  电子技术精品网