PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Soft Clock problem



Mr-400-Volt
02.08.2008, 22:14
Hallo, ich habe ein Problem mit der Software Clock. Ich habe bei meinem M16
zwischen Tosc1/2 einen Uhrenquarz angeschloßen, ond den nachfolgenden Code geschrieben. Aber nix tut sich. Kann mir bitte jemand helfen ?
Danke !!!



$regfile = "m16def.dat"
$crystal = 7372800


Enable Interrupts



Config Date = Mdy , Separator = /
Config Clock = Soft

Date$ = "08/02/08"
Time$ = "22:06:00"

Cls

Do

Home
Lcd Date$ ; " " ; Time$

Loop

End

StevieL
03.08.2008, 09:58
Hallo,

schon mal ein Waitms in der Schleife versucht? Stimmt die Quarzfrequenz/Fusebits? Ansonsten würde mir nur noch einfallen, das config clock vor das config date zu setzen. Der Code an sich sollte funktionieren.

Mr-400-Volt
03.08.2008, 10:10
Die Fuses habe ich nicht verstellt, als Quarz habe ich einen Externen mit 7372800 Hz genommen. Der Uhrenquarz hängt an TOSC1/2. Geht das so nicht ?

Dirk
03.08.2008, 20:49
Hallo Mr-400-Volt,

das Beispiel müßte prinzipiell funktionieren.

Ich würde aber unbedingt $hwstack, $swstack und $framesize definieren!

Evtl. braucht auch dein LCD noch Initialisierungen.

Gruß Dirk

StevieL
04.08.2008, 05:46
Hallo,

die Fuses sind nicht verstellt worden? Ich habe noch nicht mit dem ATMega16 gearbeiten aber der ATMega8 läuft im Auslieferungszustand mit 1 MHz internem Takt. Der externe Quarz wird ignoriert. Setz mal $Crystal auf den entsprechenden Wert und lass erst mal etwas anderes auf dem Display anzeigen, dann weist du wenigstens, ob das Display richtig angesteuert wird.

Mr-400-Volt
04.08.2008, 08:44
Also, die Fuses sind auf Extcrystal High gesetzt. Das Display arbeitet einwandfrei.......................

StevieL
04.08.2008, 16:58
Hallo,

und mit "Bremse"?



Do
waitms 500
Home
Lcd Date$ ; " " ; Time$

Loop

StevieL
04.08.2008, 17:19
Oder pack doch die LCD-Ausgabe in den Sectic:



Config Clock = Soft , Gosub = Sectic
'....

Sectic:
Locate 1 , 1
Lcd Date$; " "; Time$
return

Der wird immer aufgerufen, wenn sich die Sekunde ändert. Andererseits brauchst du das Datum ja nicht jede Sekunde neu auf das Display zu schreiben. Das ändert sich ja nur einmal am Tag.