Witam,
Miałem zamiar zrobić zegar na Attiny2313, wiedziałem, że najgorzej będzie z wyświetlaniem. Pomęczyłem się trochę i udało się, tylko teraz stoję przed większym problemem (przynajmniej dla mnie). Gdy zdefiniuję Timer0 lub Timer1, wtedy na wyświetlaczach pojawia się odwrócone AA:AA. Dlaczego tak się dzieje? Co zrobić aby działało? Zamieszczam listing:
Miałem zamiar zrobić zegar na Attiny2313, wiedziałem, że najgorzej będzie z wyświetlaniem. Pomęczyłem się trochę i udało się, tylko teraz stoję przed większym problemem (przynajmniej dla mnie). Gdy zdefiniuję Timer0 lub Timer1, wtedy na wyświetlaczach pojawia się odwrócone AA:AA. Dlaczego tak się dzieje? Co zrobić aby działało? Zamieszczam listing:
$regfile = "ATtiny2313.DAT"
$crystal = 1600000
Declare Sub Wyswietlacze
Config Portb = &B01111111
Config Portd = &B0111110
Portb = 1
Portd = 1
Dim Seku As Byte
Dim Minu As Byte
Dim Godz As Byte
Dim Numer As Word
Do
Numer = Godz / 10
Portd.5 = 0
Gosub Wyswietlacze
Waitms 1
Portd.5 = 1
Numer = Godz Mod 10
Portd.3 = 0
Gosub Wyswietlacze
Waitms 1
Portd.3 = 1
Numer = Minu / 10
Portd.2 = 0
Gosub Wyswietlacze
Waitms 1
Portd.2 = 1
Numer = Minu Mod 10
Portd.4 = 0
Gosub Wyswietlacze
Waitms 1
Portd.4 = 1
If Seku = 60 Then
Incr Minu
Seku = 0
End If
If Minu = 60 Then
Incr Godz
Minu = 0
End If
If Godz = 24 Then
Godz = 0
End If
Loop
End
Sub Wyswietlacze:
Portb = Lookup(numer , Liczby )
End Sub
Liczby:
Data &B0001000 , &B1101101 , &B0010100 , &B1000100 , &B1100001,
Data &B1000010 , &B0000010 , &B1101100 , &B0000000 , &B1000000