原创 使用PIC单片机的TMR1作为实时时钟

2006-10-24 09:44 5471 11 13 分类: MCU/ 嵌入式

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


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


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

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户161931 2008-12-17 10:41

 你好!http://www.supermcu.com里面找不到代码啊!能发到我的邮箱吗!谢谢!410262163@qq.com

用户161931 2008-12-17 10:40

 你好!http://www.supermcu.com里面找不到代码啊!能发到我的邮箱吗!谢谢!410262163@qq.com

相关推荐阅读
用户60667 2010-10-25 22:22
基于SP1010-LPC213X-ARM实验板的SPWM实验
    实验工程应用的逆变器常采用SPWM技术来实现,以前常用硬件来产生三角波和正弦波进行比较来产生SPWM信号,但常常不稳定,而用嵌入式ARM来产生SPWM信号就非常容易,几乎不用增加任何附加硬件产...
用户60667 2010-10-25 10:39
SP1010-LPC213X-ARM实验开发板
SP1010-LPC213X-ARM实验开发板是一款基于NXP公司的LPC21XX的ARM7内核的嵌入式开发平台,板载丰富的实验资源,提供的从简单到复杂的综合实验源程序达60多个。同时板上集成的了与语...
用户60667 2010-10-19 18:31
基于SP1010-LPC213X-ARM实验板的可调正弦幅度实验
来 源:西谱电子(www.supermcu.com)/*      实验目的:掌握LPC213X的D/A转换器的使用和编程,掌握正弦波产生的原理      实验内容:利用LPC213X的D/A模块实现...
用户60667 2010-10-14 18:03
基于SP1010-LPC213X-ARM实验板的键按键加减计数实验
发布时间:2010-10-14 来 源:西谱电子(www.supermcu.com)/*      实验目的:掌握LPC213X对两个按键识别的编程方法      实验内容:通过连接在LPC2132引...
用户60667 2010-10-14 11:46
基于SP1010-LPC213X-ARM实验板的单键按键加计数实验
来 源:西谱电子(www.supermcu.com)/*      实验目的:掌握IOnPIN寄存器在按键识别的作用及使用方法      实验内容:通过连接在P0.16引脚上的按键K1,实现每按一下K...
用户60667 2008-11-19 07:08
我的书"PIC单片机实用C语言程序设计与典型实例"已出版
直接登录我们的网站: www.supermcu.com 或直接登录中国互动出版网:http://www.china-pub.com/41131或直接登录中国电力出版社网上书店:http://www.c...
EE直播间
更多
我要评论
2
11
关闭 站长推荐上一条 /3 下一条