;mise à l'heure pour DS1307 ou DS3231 MM 22/04/20
;avec sortie 1 Hz
;Renseignez les données hh et mm (entre étoiles)
;Chargez le programme
;Appuyez sur le poussoir
;ET SUIVEZ LES INSTRUCTIONS
#picaxe 14M2
#no_data
#terminal 4800
symbol hh = b1
symbol mm = b2
symbol varb = b3
symbol dch = b4
symbol minut=b5
symbol heur=b6
symbol pous =pinC.3
pause 1000
#macro transbcdtodec(varb) ;transformation de bcd vers dec
dch=varb/16*10
varb=varb//16
varb=varb+dch
#endmacro
#macro transdectobcd(varb) ;transformation de dec vers bcd
dch=varb//10
varb=varb/10*16 'mises au format BCD
varb=varb+dch 'pour enregistrement
#endmacro
;serout B.0,T2400_4,(254,1,254,1)
pullup %100000000000 ;activation pullup sur C.3 ;14M2
hi2csetup i2cmaster, %11010000, i2cslow, i2cbyte
;************************************************
hh = 17 ;heure de la mise à l'heure
mm = 23 ;minutes de la mise à l'heure
;***************************************************
sertxd (13,10)
do loop while pous=1
pause 100
sertxd ("attente ",#hh,"h",#mm,13,10)
sertxd ("appuyez a h-5 secondes",13,10)
do loop while pous=0
pause 100
;serout B.0,T2400_4,(254,1,254,128,"attente ",#hh,"h",#mm,"mn")
do loop while pous=1
sertxd ("lachez a h=0 secondes",13,10)
pause 100
do loop while pous=0
pause 100
transdectobcd(hh)
transdectobcd(mm)
hi2cout 0,(0,mm,hh,0,0,0,0,%00010000)
sertxd ("heure OK",13,10)
;serout B.0,T2400_4,(254,192,"heure OK",13,10)
do
hi2cin 1,(minut,heur)
transbcdtodec(heur)
transbcdtodec(minut)
;serout B.0,T2400_4,(254,148,"heure lue: ",#heur,"h",#minut,"mn")
sertxd("heure lue: ",#heur,"h",#minut,"mn",13,10)
pause 100
loop