; AVR_RTC݌v 

͒ʏ\[h(Mode=0)
B	|hh:mm:ss CCYY wk|	hh:mm:ss24ԐRTC,CCYY͐N,wk͗j\
A	|---9.9C MM-DD  |	---9.9CRTCx(ItZbg\Fq),MM-DD\


ʏ\BAging\[h(Mode=1)
B	|hh:mm:ss ---9   |	hh:mm:ss24ԐRTC,---9AgingOffsetl\
A	|---9.9C XXXX   |	XXXXPPSSQẄʑJE^16iŕ\B

 ̂܂Bƒʏ\[hɖ߂

B	|hh:mm:ss ---9   |	B܂ANbNƐAWXg
A	|---9.9C XXXX   |	0-29bȂb0ɖ߂C30-59bȂ番1i߂ĕb0ɂB
AWXgɕb2bȏiłAgingOffsetl+1(xɒ)
tɕb2bȏxĂAging-1(iݕɒ)


ʏ\A(2bȏ)œtݒ胂[h(Mode=2)ɑJ
	  v  v  v  v v  v
B	|hh:mm:ss CCYY wk|	J[\\(V܂^̎ʒu̓J[\ړ)
A	|---9.9C MM-DD >|
	           ^  ^ ^
 ANbNɃJ[\ړCBŊYڂ̃CNg
	YڕύXɃJ[\ړ邱ƂŕύXlɍXV
	>ɃJ[\BŔ[hɑJځCA܂BNbNŖ߂


tݒ'>'J[\BNbNŔ[h(Mode=3)ɑJ
	               vv
B	|hh:mm:ss ---9 +-|	1sڂ+-AgingOffsetl̕ύX
A	|+--9.9C XXXX  <|	2sڂ+-ŕ\xItZbgxl̕ύX
	 ^^             ^
 ANbNɃJ[\ړCBŊYڂ̃CNg
	YڕύXɃJ[\ړ邱ƂŕύXlɍXV
	<ɃJ[\Bœtݒ胂[hɑJځCA܂BNbNŖ߂

AgingOffset-128`127͈̔͂ł(̕ɑ傫ƃNbNႭȂxƂȂ)
\xItZbgx-8.0`7.5͈̔͂0.5Pʂł̒(ftHgl-1.0)


XXXXŎPPSSQẄʑJE^l(\16i)ɂ
̉Hł,INT0RTC1Hz`g͂悤ɂȂĂCv̗͂オ
͂_@ƂčsĂB
܂\͂ƂINT1ɕWgɋ߂PPS(pulse per second)͂҂Ă,
ɐm1Hz̗オ͂s,
OqINT0荞ݏt̓JE^(JEgg500kHz=2us16rbgt[JE^)lƁC
INT1荞ݏt̓JE^l̍悤ɂȂĂB

RTC1Hz`gPPS̎ɍꍇɁC̈ʑJE^l͏XɈړ邱ƂɂȂB
̕ω̌X́CRTC̕Z(g)ꍇɂ́CXɑ傫ȒlƂȂC
tɎ(gႢ)ꍇɂ́CXɏȒlƂȂB
ӂׂ_ƂẮCv̎dg݂ʑJE^ĺCZԂŌꍇ͏㉺ɕω邪C
xȏ̒ԂŌꍇɂ́COq̌XŎƂƂȂB
ڈƂĂ1Ԉȏ̃Xp݂ΌX炩ɂȂƎvB

ł́ČXcłꍇɂǂ̒x̕΍ł邩́CJE^500kHz̕\̂ŁC
΍ 2(us)xʑX/덷̑Jڎ(s)ppm ŎZołB
̗ƂẮC1Ԃňʑ悻 0x100xω悤ȏꍇɂ́C
-> 2 x 256 / 3600 = 0.143ppm ŁC10.4bx̌덷ƂȂB



RTCAVR̐ڑ

2313            DS3231   3232     3234
-------------------------------------------
19:PB7/SCK/SCL  16:SCL  18/20:SCL 18/20:SCK
18:PB6/MISO      -       -        19:DOUT
17:PB5/MOSI/SDA 15:SDA  17:SDA    17:DIN
16:PB4           -       -        1:CS#
15:PB3  14:DB7
14:PB2  13:DB6
13:PB1  12:DB5
12:PB0  11:DB4
11:PD6  6:E
9:PD5   4:RS
8:PD4 (GIO-E#)
7:PD3
 -              1:32KHZ 3:32KHZ   3:32KHZ
6:PD2/INT0/XCK  3:INT#  5:INT#    5:INT#
1:RESET#        4:RST#  6:RST#    6:RST#
2:RxD
3:TxD

5:PA0
4:PA1


; ******************************************************** ;
updateFLG: 10main.S ̑Ŝ𐧌䂷鐧tOQ(ėpI/OWX^gpĂ)
rbg\ = b7:INT1,b6:INT0,b5:IGN,b4:SCRN,b2:TIM0,b1:SCI,b0:BTN
#define	updateFLG	GPIOR0

#define	updateINT1	7
#define	updateINT0	6
#define	updateIGN	5
#define	updateSCRN	4
#define	updateTIM0	2
#define	updateSCI	1
#define	updateBTN	0

O/ӊ݌m(10main.S ̊Õ[`ŃZbg)
updateINT1: INT1荞݂ŃZbg/ INT1detectŃNA
updateINT0: INT0荞݂ŃZbg/ INT0detectŃNA
updateSCI:  RXC荞݂ŃZbg/ inc_datɎM, SCIincŃNA (SCI̓fobOpŖgp)
updateTIM0: TIM0256񊄂荞(25.6msԌo)ƂɃZbg ({^̓^C~Op)
updateBTN:  {^̏ԕωꍇɃZbgtO(݂͂̃tOZbgƘAupdateSCRNZbg)

XVem
updateIGN:  eXVɂRTCɂ鎞Ȃǂ̕\֎~ӖtO
updateSCRN: \eXVtO, {^̉ȂǂɂeύX̂ߕ\XVKv邱ƂӖtO

; ******************************************************** ;
BTNLED.S  multiplexing 4bit I/O gpē̓{^/o͕\LED𐧌䂷
#define	LEDOUT  	GPIOR1
#define	BTNSTAT 	GPIOR2

LEDOUTɂ LED̓_s (ZbgꂽrbgLED_)
rbg\ = b3:LED4,b2:LED3,b1:LED2,b0:LED1

BTNSTATɂ {^͂̏Ԃ\
(ʃjuO񂩂ω̂{^͂̃rbgZbgB
 ʃju{^̏ԂŃ{^ꂽrbgZbg)
rbg\ = b7..b4:BTN4..BTN1̕ω, b3..b0:BTN4..BTN1̉

_BTNLED[`R[邱ƂŏLIOWX^̒lo͂{^Ԃǂݎ肷
20`30msƂɌJԂR[邱ƂŁCA^C𑹂Ȃ킸\ɂȂB

