Witam!
napisalem w bascomie programik ktory ma dzialac jako zegarek, kod wyglada jak poniżej. I pojawił się problem: ciagle pojawiające się krzaczki na wyświetlaczu;/. Dzieje się to w przypadkowych momentach wykonywania ponizszego programu. Czasami uda sie nastawic i date i czas, a przewaznie krzaczki sie pojawiaja zaraz po ustawieniu daty ;/. Miał ktoś podobny problem? moze ktos mi z tym pomoc?? thx
napisalem w bascomie programik ktory ma dzialac jako zegarek, kod wyglada jak poniżej. I pojawił się problem: ciagle pojawiające się krzaczki na wyświetlaczu;/. Dzieje się to w przypadkowych momentach wykonywania ponizszego programu. Czasami uda sie nastawic i date i czas, a przewaznie krzaczki sie pojawiaja zaraz po ustawieniu daty ;/. Miał ktoś podobny problem? moze ktos mi z tym pomoc?? thx
$regfile = "m8535.dat"
$crystal = 8000000
Config Porta = &B00001111 'wyprowadzenia PA4=up i PA5=down i PA7=ok to wejścia, reszta portu to wyjścia
Porta = &B11111111
Config Portb = &B11111111 'cały port jako wyjścia a wyjscia
Portb = &B11111111
Config Lcd = 16 * 2 'inicjalizacja wyswietlacza
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
Cursor Off
Cls
Config Clock = Soft
Config Date = Dmy , Separator = /
Disable Interrupts
Gosub Ustaw_date
Gosub Ustaw_czas
Enable Interrupts
Cls
Do
Home Upper
Lcd Time$
Home Lower
Lcd Date$
Loop
'=======PODPROGRAMY======
Ustaw_date:
Home Upper
Lcd "Wprowadz date"
_year = 0
_month = 0
_day = 0
Do
If Pina.4 = 0 Then 'dzien up
Waitms 50
Do
Loop Until Pina.4 = 1
Incr _day
Gosub Wysw_date
End If
If Pina.5 = 0 Then 'dzien down
Waitms 50
Do
Loop Until Pina.5 = 1
Decr _day
Gosub Wysw_date
End If
Loop Until Pina.7 = 0 'OK
Wait 2
Do
If Pina.4 = 0 Then 'miesiac up
Waitms 50
Do
Loop Until Pina.4 = 1
Incr _month
Gosub Wysw_date
End If
If Pina.5 = 0 Then 'miesiac down
Waitms 50
Do
Loop Until Pina.5 = 1
Decr _month
Gosub Wysw_date
End If
Loop Until Pina.7 = 0
Wait 2
Do
If Pina.4 = 0 Then 'rok up
Waitms 50
Do
Loop Until Pina.4 = 1
Incr _year
Gosub Wysw_date
End If
If Pina.5 = 0 Then 'rok down
Waitms 50
Do
Loop Until Pina.5 = 1
Decr _year
Gosub Wysw_date
End If
Loop Until Pina.7 = 0 'ok
Wait 2
Return
Ustaw_czas:
Cls
Cls
Home Upper
Lcd "Wprowadz czas"
_hour = 0
_min = 0
Do
If Pina.4 = 0 Then 'godziny up
Waitms 50
Do
Loop Until Pina.4 = 1
Incr _hour
Gosub Wysw_czas
End If
If Pina.5 = 0 Then 'godziny down
Waitms 50
Do
Loop Until Pina.5 = 1
Decr _hour
Gosub Wysw_czas
End If
Loop Until Pina.7 = 0 'OK
Wait 2
Do
If Pina.4 = 0 Then 'minuty up
Waitms 50
Do
Loop Until Pina.4 = 1
Incr _min
Gosub Wysw_czas
End If
If Pina.5 = 0 Then 'minuty down
Waitms 50
Do
Loop Until Pina.5 = 1
Decr _min
Gosub Wysw_czas
End If
Loop Until Pina.7 = 0 'ok
Return
Wysw_czas:
Cls
Waitms 10
Home Upper
Lcd "gg:mm:ss"
Home Lower
Lcd Time$
Return
Wysw_date:
Cls
Waitms 10
Home Upper
Lcd "dd/mm/yy"
Home Lower
Lcd Date$
Return
End