Lektor
22.04.2005, 23:17
brauche mal wieder eure Hilfe. Nachdem ich es nun geschafft habe eine LED zum leuchten zu bringen, habe ich mich nun daran versucht mit dem Timer zu arbeiten.
Will nun das 0Bit von TIFR abfragen, damit ich den Überschlag zählen kann. Allerdings kommt AVR Studio immer mit der Fehlermeldung Invalid Register, wenn ich SBRS, CPSE, MOV. Egal was, immer die gleiche Fehlermeldung. Irgentwie muß ich doch dieses eine Bit abfragen können, kopieren können, oder sonstwas.
start:
ldi mp,0x00; Aufwärtszähler auf 0 setzen TCNT0
out tcnt0,mp;
ldi mp,0x05; 00000101 in TCCR0 (prescaler 1024)
out tccr0,mp
uebertrag:
SBRS TIFR,0 ;Skip if Bit in Register is Set
rjmp uebertrag
....
rjmp start
Würde den Code dann so weiterschreiben, dass ich die 1 aus TOV0 in ein anderes Register kopieren und jede weitere 1 hinzuaddieren, bis ich einen bestimmten Übertragswert erreicht habe (ZEIT).
Gibt es Tips? Was mache ich verkehrt?
Will nun das 0Bit von TIFR abfragen, damit ich den Überschlag zählen kann. Allerdings kommt AVR Studio immer mit der Fehlermeldung Invalid Register, wenn ich SBRS, CPSE, MOV. Egal was, immer die gleiche Fehlermeldung. Irgentwie muß ich doch dieses eine Bit abfragen können, kopieren können, oder sonstwas.
start:
ldi mp,0x00; Aufwärtszähler auf 0 setzen TCNT0
out tcnt0,mp;
ldi mp,0x05; 00000101 in TCCR0 (prescaler 1024)
out tccr0,mp
uebertrag:
SBRS TIFR,0 ;Skip if Bit in Register is Set
rjmp uebertrag
....
rjmp start
Würde den Code dann so weiterschreiben, dass ich die 1 aus TOV0 in ein anderes Register kopieren und jede weitere 1 hinzuaddieren, bis ich einen bestimmten Übertragswert erreicht habe (ZEIT).
Gibt es Tips? Was mache ich verkehrt?