Forum: Mikrocontroller und Digitale Elektronik Programmierung eines Atmel Tiny 12


von Budd (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.

Ich bräuchte eure Hilfe. Ich muss einen Atmel Tiny 12 programmieren.
Und ich weiß leider überhaupt nicht, wie ich das anstellen soll.
Ich habe hier im Anhang den Schaltplan angefügt, damit ihr erstmal wisst 
warum es geht.
Also es handelt sich hierbei um ein LED Beleuchtungsmodul.
Der ATTiny12 ist mit einer Konstantstromquelle verschalten.
Mein Problem ist es jetzt den Tiny12 zu programmieren.
So dass die LED's alle auf einmal blinken (das geht über diesen Output 
Enable).
Mir wurde gesagt, dass in dem Tiny12 so eine Art Speicher oder so ist.
Es soll halt so sein, dass irgendwie in dem Speicher immer eine "1" 
vorhanden ist und dann wenn es blitzen soll, dass alles über den output 
enable gesteuert wird. Weil mit Hilfe des output enable (laut 
Datenblatt) alle LED's auf einmal angesteuert werden können.
Und ich weiß halt nicht, wie man das Proglammieren soll. Irgendwie über 
eine Schleife oder so??.

Hoffe ihr könnt mir weiterhelfen.

Vielen Dank schonmal im vorraus.

Mfg Budd

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Der Tiny ist kein Speicher, sondern ein vollwertiger, kleiner 
Mikrocontroller (1-Chip-Computer). Gehe auf www.atmel.com, lade Dir das 
Datenblatt herunter und lies es, Du wirst einen AHA-Effekt verspüren ;-)

von florian (Gast)


Lesenswert?

Hallo,

das ist ganz einfach, aber das kann einiges an Arbeit werden, wenn Du 
sowas noch nie gemachst hast. Hast Du eine Entwicklungsumgebung und ein 
Programmiergerät von "denen" bekommen? Und wann soll das Teil blinken?
Meine Glaskugel verräts mir einfach nicht.
Gruß
Florian

von Budd (Gast)


Lesenswert?

Ich habe gar nichts von denen bekommen.
Es soll halt im µs/ms takt blinken.
Also das Register oder Latch oder was auch immer das ist, soll die ganze 
Zeit auf eins bleiben.
Es soll dann alles auf einmal blinken. Ich denke, dass das über den 
Output enable funktioniert, da im Datenblatt steht, das er alles auf 
einmal an und aus machen kann.
Laut Schaltplan, sind es 4 LED's in Reihe und nachmal 4 Reihen parallel 
dazu.
Es soll halt quasi ähnlich einem Stroboskop Blitzer werden.
Nur das die LED's im µs/ms - Takt blitzen sollen.
Mir wurde auch gesagt, dass die Programmierung in Assembler einfacher 
ist, aber davon habe ich überhaupt keine Ahnung.
Es wäre hilfireich, wenn ihr mir eine Hilfestellung geben könntet oder 
ein Beispielprogramm oder irgendetwas was mit mir weiter helfen könnte.

Ich danke euch schonmal im vorraus.

Mfg Budd

von Frank (Gast)


Lesenswert?

Lies dir zum Anfang mal das hiesige Tutorial durch und dann das 
Datenblatt zu deinem Tiny. Ich glaub hier wird dir Keiner helfen können 
mit so vagen Angaben. Hast du eigentlich einen blassen Dunst was du 
bauen willst oder nur zu viele LEDs rumliegen die endlich mal verbaut 
werden müssen? Wenn so wenig Verständnis für eine Schaltung vorhanden 
ist frag ich mich immer wie man da auf diese Schaltung gekommen ist. 
Einfach ergoogelt und die Erstbeste genommen? Irgendein Forum wirds 
schon richten...

bye

Frank

von Budd (Gast)


Lesenswert?

Also der Schaltplan ist von mir selbst erstellt worden (EAGLE).
Die Angaben hab ich mir aus den Datenblättern zusammengesucht und 
dadurch ist diese Schaltung entstanden.
Das einzige ist, dass ich nicht weiß wie das Programm für den Blitzer 
aussehen soll.
Assembler ist wahrscheinlich die Beste Lösung.
Es soll wie ein Discoblitzer im µs/ms - Bereich blitzen.

An Frank (Gast): Vielen Dank für die hilfreiche Aussage. Ich dachte das 
ist ein Hilfsforum und kein Dissboard.

Ich wäre für jede Hilfe dankbar.

Mfg Budd

von Karl heinz B. (kbucheg)


Lesenswert?

> An Frank (Gast): Vielen Dank für die hilfreiche Aussage. Ich dachte das
> ist ein Hilfsforum und kein Dissboard.

Nichts desto trotz hat er recht. Geht zum Tutorial und fang
dort mal zum Lesen an. Das ist zwar für einen ATMega8
geschrieben (der größere Bruder vom Tiny) aber das meiste
gilt auch für den Tiny.
Was deine Schaltung im Endeffekt machen soll ist erst mal
ziemlich uninteressant. Der Tiny ist ein Computer, der
tut nachher was du ihm sagst. Jetzt aber geht es darum, dass
du Hilfsmittel brauchst um das Programm erstmal in den
Tiny zu bekommen. Vom Erstellen des Programmes reden wir
mal gar nicht.

Das Tutorial findest du auf dieser Site, ganz links oben
unter AVR. Du brauchst das erste der beiden Tutorials, das
Assembler Tutorial.


von Karl heinz B. (kbucheg)


Lesenswert?

PS.
Wenn du im Tutorial zum ersten Program vorgestossen bist.
Das Includefile für einen Tiny12 heist tn12def.inc

anstelle von
.include "4433def.inc"
oder
.include "m8def.inc"

heist es also bei dir

.include "tn12def.inc"

von Jörg B. (manos)


Lesenswert?

Budd wrote:
> Es soll halt im µs/ms takt blinken.

Da würd ich aber noch mal nachfragen... das menschliche Auge hört 
irgendwo so zwischen 50 und 100 Hz auf ein Blinken (flackern) zu 
erkennen (Interval wäre dann 20 bzw 10 ms). Alles was schneller ist ist 
dann nur noch Dauerleuchten (wenn auch vielleicht nicht volle 
Helligkeit).

Blitzen in µs-Bereich halte ich daher für unnötig. Interessant könnte in 
diesem Zusammenhang auch noch das Thema PWM sein, da Du anscheinend eine 
kurze on-Zeit und eine längere Pause haben willst.

Vielleicht würde für Deine Zwecke auch ein NE555 schon reichen statt dem 
Tiny12.

Je nach dem wo die Versorgungsspannung herkommt kannst Du auf die Spule 
L1 in VCC verzichten.

von Jörg B. (manos)


Lesenswert?

Nachtrag:

Dein MAX6981 zieht die Ausgänge gegen Masse... die LED's dürfen also 
nicht mit GND verbunden werden sondern mit einer entsprechend hohen 
+-Spannung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.