×
嵌入式 > 嵌入式开发 > 详情

松翰单片机 RTC 应用注意

发布时间:2020-08-31 发布时间:
|
有部分 SN 单片机型号的芯片,内部带有 RTC 功能(实时时钟),它为双时钟芯片的一大特色!也为需要使用 RTC 的项目提供了方便.
我曾经使用过 SN8P2501A/B,SN8P2308,SN8P2612/13(早期版本),sn8p2614等芯片的 RTC 功能,效果都不错.
应用 RTC 需要注意的问题:
(1).代码选项必须选择:IHRC_RTC.同时,硬件上在芯片接外部晶体的位置接上 32768HZ 的时钟晶体,精度尽量使用好一些的.推荐 ±5ppm 的.不要使用便宜货或者玩具里使用的晶体品种.
(2).实时时钟大多占用定时器 T0 的资源,必须置位 T0M 的 T0TB 位(T0M.0=1).无需对 T0C 赋值.记得一定要启动定时器:置位 T0M.7(T0ENB=1).
在 SN2501B 数据手册里提示:
注:
1. 在RTC 模式下,进入中断之后必须经过1/2 RTC(32768HZ),即16us 的延时后才能对T0IRQ 清零;
2. 在RTC 模式下,T0 间隔时间固定为0.5s,T0C 计数范围也固定为256 。
(3).可以使用中断或者轮训来处理实时时钟的信息.及时对 T0C 计数器的溢出标志 T0IRQ(也是中断标志)清零.-----这个清零有点古怪,必须经过 16us 后才可以清零 T0IRQ !否则实时时钟会出错!

例如内部 16MHZ RC 振荡器/4 ).
BTS1 FT0IRQ
JMP Z_CT0IRQ;退出
MOV_ R,#64;64*0.25=16us;延时16uS
DECMS R
JMP $-1
BCLR FT0IRQ
FT0IRQ: ;退出
;.....................................................
如果判断 FT0IRQ 后有其它指令需要执行,例如置位一些 0.5S 到达的标志,则可以减少 16uS 的延时数值.
(4).RTC 具有唤醒功能,对掉电保护特别有用,可以进入绿色模式前,确保 RTC 是有效的(T0ENB=1).每隔 0.5S 系统自动唤醒一次.


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
发明专利在疫情影响下的逆势增长