武林教你学PIC32(十)实时时钟RTC
2017-02-17 来源:eefocus
PIC32MX 器件上提供的实时时钟和日历(Real-Time Clock and Calendar,RTCC)
硬件模块及其操作。下面列出了该模块的部分主要特性:
• 时间:时、分和秒
• 24 小时格式 (军用时间)
• 可分辨半秒的时长
• 提供日历:星期、日、月和年
• 闹钟间隔可配置为 0.5 秒、1 秒、10 秒、1 分钟、10 分钟、1 小时、1 天、1 周、1 月或 1 年
• 闹钟使用递减计数器进行重复
• 可无限重复的闹钟:响铃 (chime)
• 年份范围:2000 至 2099
• 闰年修正
• BCD 格式以减少固件开销
• 为长时间电池工作进行了优化
• 小数秒同步
• 用户可使用自动调节功能校准时钟晶振频率
• 校准范围:每月 0.66 秒误差
• 最多校准 260 ppm 的晶振误差
• 要求:外部 32.768 kHz 时钟晶振(板上没有晶振需要自己焊上去,而且电容也要改大点,下面说)
• RTCC 引脚上的闹钟脉冲或秒时钟输出
该模块提供实时时钟和日历功能。RTCC 是为需要长时间维持精确时间的应用设计的,无需或只
需最少的 CPU 干预。该模块为低功耗使用进行了优化,以便在跟踪时间的同时延长电池的使用寿命。RTCC 模块具有 100 年的时钟和日历,能自动检测闰年。时钟范围从 2000 年 1 月 1 日 00:00:00(午夜)到 2099 年 12 月 31 日 23:59:59。小时数以 24 小时 (军用时间)格式提供。该时钟提供一秒的时间粒度,用户可看到半秒的时间间隔。
如图我使用陶瓷电容20pF焊在C14的两端,20加入原来的12也就是30pF才可以起振动
我们实现功能是串口每秒打印当前时间,并且LED1闪烁。
用到以下几个库函数:
RtccInit(); 时钟初始化
RtccSetTimeDate(tm.l, dt.l);设置时间
RtccGetTime();获取时间