Blinkschaltung mit Atmel

#426142
Lesenswert?

Welcher Atmel, AT89C51ED2 ?

LED0 hat kein MC, er hat nur Portpins, an die man LEDs anschließen 
könnte.

Dann hat er noch Timer, mit denen man CPU-Takte zählen lassen kann.

Oder man zählt in Schleifen mit den 8 Registern.

Wie weit man zählen muß für 500ms, hängt vom Quarz ab.


Peter
Gast #426143
Lesenswert?

Du kannst dir bei gegebener Taktfrequenz die anzahl an Befehlen während 
500ms ausrechnen und ebensoviele NOP Befehle einfügen ;-), oder du 
zählst zB in einer schleife ein register hoch und überprüfst wann es 
einen bestimmten wert erreicht hat (dazu musst du aber wissen wie lange 
ein Schleifendurchlauf dauert - geht zB mit Simulator oder du schaust 
dir an welcher Befehl wie viele Taktzyklen braucht), oder Möglichkeit #3 
du liest dich in die verwendung von Timer/Counter ein.

lg Stefan

PS: So weit meine erfahrungen - bin aber eher ein Anfänger
Gast #426145
Lesenswert?

Eine Möglichkeit waere es es eine Variable zu erhoehen / verkleinern , 
diese abzufragen und dann bedingt zu springen.

Falls dein AVR mit einem 1MHz Takt arbeitet koenntest du auch 500k mal 
"nop" in deinen Code tippen.

Gruß,
Dirk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren