Napialem taki programik:
Kod: Zaznacz cały
$sim
Config Sda = P3.4
Config Scl = P3.7
Dim Month As Byte
Input "Podaj miesiac:" , Month
Input "Podaj dzien misiaca:" , Day
Input "Podaj godzine:" , H
Input "Podaj minute:" , M
Month = Makebcd(month)
Day = Makebcd(day)
H = Makebcd(h)
M = Makebcd(m)
S = 0
I2cstart
I2cwbyte 162
I2cwbyte 0
I2cwbyte 8
I2cstop
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cwbyte S
I2cwbyte M
I2cwbyte H
I2cwbyte Day
I2cwbyte Month
I2cstop
Do
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cstart
I2cwbyte 163
I2crbyte Day , Ack
I2crbyte Month , Nack
I2crbyte S , Ack
I2crbyte M , Ack
I2crbyte H , Ack
I2cstop
H = Makedec(h) : M = Makedec(m) : S = Makedec(s)
Day = Makedec(day) : Month = Makedec(month)
Print "Dzien:" ; Day ; "MIesiac:" ; Month
Print "Godzina:" ; H ; "Minuta:" ; M ; "Sekunda:" ; S
Loop
Sprawdzilem ze procesor rozpoznaje zegar pod adresem 162.
Problem w tym ze z zegara nie mozna oocyztac poprawnie daty i godziny. Zamiast godziny wyswietlas sie 165:165:165
Czy ktos mial podobny problem i wie jak to rozwiazac?
Pozdrawiam Radamus