EasyManua.ls Logo

Philips LPC2101 - Alarm Register Group; Leap Year Calculation

Philips LPC2101
279 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
© Koninklijke Philips Electronics N.V. 2006. All rights reserved.
User manual Rev. 01 — 12 January 2006 219
Philips Semiconductors
UM10161
Volume 1 Chapter 17: RTC
[1] These values are simply incremented at the appropriate intervals and reset at the defined overflow point.
They are not calculated and must be correctly initialized in order to be meaningful.
17.4.13 Leap year calculation
The RTC does a simple bit comparison to see if the two lowest order bits of the year
counter are zero. If true, then the RTC considers that year a leap year. The RTC considers
all years evenly divisible by 4 as leap years. This algorithm is accurate from the year 1901
through the year 2099, but fails for the year 2100, which is not a leap year. The only effect
of leap year on the RTC is to alter the length of the month of February for the month, day
of month, and year counters.
17.4.14 Alarm register group
The alarm registers are shown in Ta bl e 1 96. The values in these registers are compared
with the time counters. If all the unmasked (See Section 17.4.7 “
Alarm Mask Register
(AMR - 0xE002 4010)” on page 217) alarm registers match their corresponding time
counters then an interrupt is generated. The interrupt is cleared when a one is written to
bit one of the Interrupt Location Register (ILR[1]).
Table 194: Time counter relationships and values
Counter Size Enabled by Minimum value Maximum value
Second 6 Clk1 (see Figure 57
)0 59
Minute 6 Second 0 59
Hour 5 Minute 0 23
Day of Month 5 Hour 1 28, 29, 30 or 31
Day of Week 3 Hour 0 6
Day of Year 9 Hour 1 365 or 366 (for leap year)
Month 4 Day of Month 1 12
Year 12 Month or day of Year 0 4095
Table 195: Time counter registers
Name Size Description Access Address
SEC 6 Seconds value in the range of 0 to 59 R/W 0xE002 4020
MIN 6 Minutes value in the range of 0 to 59 R/W 0xE002 4024
HOUR 5 Hours value in the range of 0 to 23 R/W 0xE002 4028
DOM 5 Day of month value in the range of 1 to 28, 29, 30,
or 31 (depending on the month and whether it is a
leap year).
[1]
R/W 0xE002 402C
DOW 3 Day of week value in the range of 0 to 6
[1]
R/W 0xE002 4030
DOY 9 Day of year value in the range of 1 to 365 (366 for
leap years)
[1]
R/W 0xE002 4034
MONTH 4 Month value in the range of 1 to 12 R/W 0xE002 4038
YEAR 12 Year value in the range of 0 to 4095 R/W 0xE002 403C

Table of Contents

Related product manuals