基本信息
文件名称:NXP 系列:LPC1768 (适用于复杂娱乐设备)_(21).LPC1768RTC和日历功能.docx
文件大小:25.98 KB
总页数:29 页
更新时间:2025-06-15
总字数:约1.24万字
文档摘要

PAGE1

PAGE1

LPC1768RTC和日历功能

1.概述

LPC1768是一款基于ARMCortex-M3内核的高性能微控制器,广泛应用于各种嵌入式系统中。RTC(实时时钟)是LPC1768中一个非常重要的外设,用于提供精确的时间和日期信息。RTC可以在系统低功耗模式下继续运行,从而在长时间内保持时间的准确性。本文将详细介绍LPC1768的RTC和日历功能的原理、配置方法以及应用实例。

2.RTC模块的功能和特性

2.1功能概述

LPC1768的RTC模块提供以下主要功能:

实时时钟:提供秒、分钟、小时、日、月、年的时间信息。

日历功能:提供日期信息,支持闰年计算。

报警功能:可以设置时间或日期的报警,触发中断。

周期性中断:可以设置周期性中断,用于定时任务。

低功耗模式:在低功耗模式下继续运行,保持时间的准确性。

2.2特性

电源管理:RTC模块可以在系统进入低功耗模式时继续运行,确保时间的连续性。

精确度:RTC模块通过外部32.768kHz晶振提供高精度的时间基准。

多种时钟源:可以使用外部晶振、内部RC振荡器或外部时钟信号作为时钟源。

中断和报警:支持通过中断和报警功能实现定时任务和事件提醒。

硬件闰年计算:自动处理闰年,简化日历管理。

3.RTC模块的寄存器

3.1主要寄存器

LPC1768的RTC模块包含多个寄存器,用于配置和控制RTC功能。以下是主要寄存器的介绍:

RTC_CLOK:时钟源选择寄存器。

RTC_CLDO:时钟输出控制寄存器。

RTC_SEC:秒寄存器。

RTC_MIN:分钟寄存器。

RTC_HOUR:小时寄存器。

RTC_DOM:日寄存器。

RTC_DOW:星期寄存器。

RTC_DOY:年中日寄存器。

RTC_MONTH:月寄存器。

RTC_YEAR:年寄存器。

RTC_CTRL:控制寄存器。

RTC_STAT:状态寄存器。

RTC_PREINT:预分频寄存器。

RTC_PREFRAC:预分频分数寄存器。

RTC_WDALR:星期报警寄存器。

RTC_CALR:日历报警寄存器。

RTC_SECC:秒计数寄存器。

RTC_MINC:分钟计数寄存器。

RTC_HOUC:小时计数寄存器。

RTC_DOSC:日计数寄存器。

RTC_DOWC:星期计数寄存器。

RTC_DOYC:年中日计数寄存器。

RTC_MOUC:月计数寄存器。

RTC_YEAC:年计数寄存器。

3.2寄存器详解

3.2.1RTC_CLOK

位字段:

SRCSEL:时钟源选择位,0表示使用内部1Hz时钟,1表示使用外部32.768kHz晶振。

CLKEN:时钟使能位,0表示禁用,1表示启用。

3.2.2RTC_CLDO

位字段:

CLKOUTSEL:时钟输出选择位,0表示输出1Hz时钟,1表示输出32.768kHz时钟。

CLKOUTEN:时钟输出使能位,0表示禁用,1表示启用。

3.2.3RTC_SEC

位字段:

SECONDS:当前秒数(0-59)。

3.2.4RTC_MIN

位字段:

MINUTES:当前分钟数(0-59)。

3.2.5RTC_HOUR

位字段:

HOURS:当前小时数(0-23)。

3.2.6RTC_DOM

位字段:

DAYOFMONTH:当前日数(1-31)。

3.2.7RTC_DOW

位字段:

DAYOFWEEK:当前星期数(0-6,0表示星期日)。

3.2.8RTC_DOY

位字段:

DAYOFYEAR:当前年中日数(1-366)。

3.2.9RTC_MONTH

位字段:

MONTH:当前月数(1-12)。

LEAPYEAR:闰年标志位,0表示非闰年,1表示闰年。

3.2.10RTC_YEAR

位字段:

YEAR:当前年数(0-99)。

3.2.11RTC_CTRL

位字段:

ENABLE:RTC使能位,0表示禁用,1表示启用。

INTEN:中断使能位,0表示禁用,1表示启用。

CLKEN:时钟使能位,0表示禁用,1表示启用。

CLKSEL:时钟源选择位,0表示使用1Hz时钟,1表示使用32.768kHz时钟。

3.2.12RTC_STAT

位字段:

CALALARM:日历报警状态位,0表示未触发,1表示触发。

WDALARM:星期报警状态位,0表示未触发,1表示触发。

SECINT:秒中断状态位,0表示未触发,1表示触发。

MININT:分钟中断状态位,0表示未触发,1表示触发。

HOURINT:小时中断状态位,0表示未触发,1表示触发。

DOMINT:日中断状态位,0表示未触发,1表示触发。