Hi,

wie genau ist der Timer1 des ATMEGA16?
Ich habe mit Hilfe von rnAVR und zum Teil geklauten Code eine Uhr geschrieben. Diese Uhr lief die 1. Stunde vor und jetzt nach (je ca 20 Sek). Ist das normal oder mein Code so schlecht (bin Anfänger)?

Code:
Cls
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porta.4 , Rs = Porta.5
Config Lcd = 16 * 2


Dim Sekunde As Byte
Dim Minute As Byte
Dim Stunde As Byte


Config Timer1 = Timer , Prescale = 256
On Timer1 Timer_irq
Const Timervorgabe = 3036

Enable Timer1
Enable Interrupts


Stunde = 16                                                 'Uhr stellen
Minute = 27


Do
'Hier könnte Ihr Hauptprogramm stehen
Loop



'Dies ist der Programmteil, der in dem von ihnen gewählten
'Intervall aufgerufen wird
Timer_irq:
  'Timer1 = Timervorgabe

  Sekunde = Sekunde + 1
If Sekunde = 60 Then
Sekunde = 0
Minute = Minute + 1
If Minute = 60 Then
Minute = 0
Stunde = Stunde + 1
If Stunde = 24 Then Stunde = 0
End If
End If
Cls
Lcd Stunde ; ":" ; Minute ; ":" ; Sekunde
Return
P.S.: Ich benutze ein 16MHz Quartz