$regfile = "m8515.dat"
Config Portc = Output
Config Porta = Output
Config Portd.0 = Input
Portd.0 = 1
Dim Sekundy As Byte , Sekundy_bcd As Byte
Dim Minuty As Byte , Minuty_bcd As Byte
Dim Godziny As Byte , Godziny_bcd As Byte
Config Sda = Portd.7 ' konfiguracja pinów do PCF8583
Config Scl = Portd.6
Do
If Pind.0 = 0 Then
Gosub G0
Gosub G1
Gosub G2
Gosub G3
Gosub G4
Gosub G5
Gosub G6
Gosub G7
Gosub G8
Gosub G9
Gosub Gdwukropek
End If
Gosub Gettime
Loop
'------------- Góra - zero ----------
G0:
Portc = 62
Waitus 400
Portc = 81
Waitus 400
Portc = 73
Waitus 400
Portc = 69
Waitus 400
Portc = 62
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - jeden ----------
G1:
Portc = 66
Waitus 400
Portc = 127
Waitus 400
Portc = 64
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - dwa ----------
G2:
Portc = 66
Waitus 400
Portc = 97
Waitus 400
Portc = 81
Waitus 400
Portc = 73
Waitus 400
Portc = 70
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - trzy ----------
G3:
Portc = 33
Waitus 400
Portc = 65
Waitus 400
Portc = 69
Waitus 400
Portc = 75
Waitus 400
Portc = 49
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - cztery ----------
G4:
Portc = 24
Waitus 400
Portc = 20
Waitus 400
Portc = 18
Waitus 400
Portc = 127
Waitus 400
Portc = 16
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - pięć ----------
G5:
Portc = 39
Waitus 400
Portc = 69
Waitus 400
Portc = 69
Waitus 400
Portc = 69
Waitus 400
Portc = 57
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - sześć ----------
G6:
Portc = 60
Waitus 400
Portc = 74
Waitus 400
Portc = 73
Waitus 400
Portc = 73
Waitus 400
Portc = 48
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - siedem ----------
G7:
Portc = 1
Waitus 400
Portc = 113
Waitus 400
Portc = 9
Waitus 400
Portc = 5
Waitus 400
Portc = 3
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - osiem ----------
G8:
Portc = 54
Waitus 400
Portc = 73
Waitus 400
Portc = 73
Waitus 400
Portc = 73
Waitus 400
Portc = 54
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - dziewięć ----------
G9:
Portc = 6
Waitus 400
Portc = 73
Waitus 400
Portc = 73
Waitus 400
Portc = 41
Waitus 400
Portc = 30
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Góra - dziewięć ----------
Gdwukropek:
Portc = 54
Waitus 400
Portc = 54
Waitus 400
Portc = 0
Waitus 400
Return
'------------- Pobieranie czasu z PCF8583 ----------
Gettime:
I2cstart
I2cwbyte &HA0
I2cwbyte 2
I2cstart
I2cwbyte &HA1
I2crbyte Sekundy_bcd , Ack
I2crbyte Minuty_bcd , Ack
I2crbyte Godziny_bcd , Nack
I2cstop
Sekundy = Makedec(sekundy_bcd)
Minuty = Makedec(minuty_bcd)
Godziny = Makedec(godziny_bcd)
Return
'------------------------------------------------Mam taki problem, że przy pobieraniu za pomocą i2c obraz strasznie skacze, nie jest stabilny. Ma ktoś jakiś pomysł, jak rozwiązać ten problem? i2c jest podłączone do Portd.7 i Portd.6. Może do jakiś innych to podłączyć?