Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[Attiny2313] [Bascom] Zegar LED

mskojon 28 Aug 2008 15:19 3006 5
  • #1
    mskojon
    Level 31  
    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:
    $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
  • #3
    mskojon
    Level 31  
    Eeeee.... to znaczy? Konfig portu D jest chyba dobry (PD0 do PD6). Dodam, że nie zastosowałem generatora zewnętrznego, a gdy nie zdefiniuję timera, wtedy wszystko (oprócz zegarka oczywiście) działa dobrze.