Witam
Mam oto taki problem jak ww w temacie. Napisałem program na odmierzanie czasu przerwanie co 1 sekundę i ogólnie po wgraniu programu wszystko działa czas leci i jest wszystko OK. Lecz po chwili a dokładnie 9-14 sekundach wyłącza mi się lcd. Nie wiem w czym jest problem:( A o to program
Mam oto taki problem jak ww w temacie. Napisałem program na odmierzanie czasu przerwanie co 1 sekundę i ogólnie po wgraniu programu wszystko działa czas leci i jest wszystko OK. Lecz po chwili a dokładnie 9-14 sekundach wyłącza mi się lcd. Nie wiem w czym jest problem:( A o to program
$regfile = "m8def.dat"
$crystal = 8000000
'$sim
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.7 , Rs = Portd.6
Config Lcd = 16 * 2
Config Portb = &B11110000
Portb = &B11110000
Config Timer0 = Timer , Prescale = 8
Stop Timer0
On Timer0 Przerwanie
Dim Licz As Word
Enable Interrupts 'Zgoda na wszystkie odblokowania.
Enable Timer0 'Odblokuj Timer0.
Stop Timer0
Dim Sekundy As Byte , Minuty As Byte , Godziny As Byte
Dim Sekundy_d As Byte , Minuty_d As Byte , Godziny_d As Byte
Dim Flaga_1 As Bit
Sekundy_d = 0
Sekundy = 0
Minuty_d = 0
Minuty = 0
Godziny_d = 1
Godziny = 2
Cls
Cls
Cursor Off
Start Timer0
Do
Locate 1 , 1
Lcd Godziny_d ; Godziny ; ":" ; Minuty_d ; Minuty ; ":" ; Sekundy_d ; Sekundy
Loop
End
Przerwanie:
Start Timer0
Load Timer = 250
Incr Licz
If Licz = 4000 Then
Licz = 0
Cls
Incr Sekundy
Gosub Zegar
End If
Return
Zegar:
If Sekundy = 10 Then
Sekundy = 0
Incr Sekundy_d
If Sekundy_d = 6 Then
Sekundy_d = 0
Incr Minuty
If Minuty = 10 Then
Minuty = 0
Incr Minuty_d
If Minuty_d = 6 Then
Minuty_d = 0
Incr Godziny
If Godziny = 10 Then
Godziny = 0
Incr Godziny_d
If Godziny_d = 2 And Godziny = 4 Then
Godziny_d = 0
Godziny = 0
End If
End If
End If
End If
End If
End If
Return