


Poza tym, że mi się ferie zaczęły


Mianowicie, chciałbym zrobić zegar w trybie 24-godzinnym. I co trzeba zrobić żeby:
A) ustawić ten RTC w tryb 24-godzinny?
B)ustawić na nim za pomocą np. 2 przycisków godziny i minuty?
C)zmieścić to na 2313?
Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięModeratorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Pisać w ASMzmieścić to na 2313
o gustach się nie dyskutuje
Czytać zegarkowego PDF-a , wyszperać w necie co to jest zapisie liczb w kodzie BCD i ... wyciągnąć wnioskiBo widzicie, jest coś takiego...
Mam ten RTC, zczytuję z niego H , M i S i po załączeniu mam godzinę 00:00:00(i konwertuję)
Ustawiłem w programie, aby po naciskaniu przycisku Hour albo Minutes zmienna z godziną albo minutą powiększała się o 1. Dodałem zabezpieczenie w postaci IF'a jeżeli dana wartość przekroczy 60 minut albo 24 godziny. I mam takie wyniki: 10:56:09 ; 10:62:48 ; 10:70:10
I co tu robić?
...
Kod: Zaznacz cały
Config Sda = Portb.1
Config Scl = Portb.0
Dim M As Byte
Dim S As Byte
Dim H As Byte
H = 21
M = 59
S = 0
Do
H = Makebcd(h)
M = Makebcd(m)
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cwbyte M
I2cwbyte H
I2cstop
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cstop
I2cstart
I2cwbyte 163
I2crbyte S , Ack
I2crbyte M , Ack
I2crbyte H , Nack
I2cstop
S = Makedec(s)
M = Makedec(m)
H = Makedec(h)
Cls
Lcd H ; " " ; M ; " " ; S
Wait 1
Loop
End
Kod: Zaznacz cały
Config Sda = Portb.1
Config Scl = Portb.0
Dim M As Byte
Dim S As Byte
Dim H As Byte
H = 7
M = 18
S = 0
H = Makebcd(h)
M = Makebcd(m)
S = Makebcd(s)
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cwbyte S
I2cwbyte M
I2cwbyte H
I2cstop
Do
Wait 1
I2cstart
I2cwbyte 162
I2cwbyte 2
I2cstop
I2cstart
I2cwbyte 163
I2crbyte S , Ack
I2crbyte M , Ack
I2crbyte H , Nack
I2cstop
Cls
Upperline
Lcd Bcd(h) ; " " ; Bcd(m) ; " " ; Bcd(s)
Loop
End
Użytkownicy przeglądający to forum: Bing [Bot] i 13 gości