www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATtiny12 will nicht


Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe einen ATtiny 12 und möchte mit ihm einen Melodiegenerator für
die Haustür erstellen. Leider will er überhaupt nicht. Ich kann nur
einen Ausgang mit Portb.0=1 permanent ein- oder ausschalten. Schon beim
Blinken einer LED streikt er. Ich denke aber es liegt an der
Definitionsdatei. In meinem Bascom- Ordner befinden sich einige, aber
nicht "ATtiny12.dat". Bisher verwende ich "at12def.dat". Das ist
aber bestimmt die falsche.  Die richtige selbst zu erstellen dürfte
sehr aufwendig sein (hab mal reingeschaut). Weiss jemand wo man solche
Dateien herbekommt?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmier das Ding in Assembler.
Ist nicht schwer und Du lernst ne Menge.

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kenn zwar nur Assembler, aber at12def.dat hört sich passend an. Schau
doch einfach mal rein in diese Datei, ob da Tiny12 drinsteht.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Unterstützt BASCOM eigentlich AVRs, die kein SRAM haben?

Auf welcher Basis soll denn der Melodiegenerator arbeiten?

...

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also in der Datei "At12def.dat" steht ATtiny drin. Da steht auch was
von SRAM aber im Datenblatt ist nichts vonwegen SRAM zu finden. Da hab
ich wohl was übersehen. Klärt mich bitte mal auf warum es nicht ohne
geht.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum sollten wir dich über etwas (BASCOM) aufklären, was wir selbst
meiden? - Das wird uns doch nur wieder als "Glaubenskrieg"
angerechnet.

Aber auf welcher Basis soll denn nun der Melodiegenerator arbeiten???

Ich meine, wie willst du ihn realisieren? (Ablaufplan)
Wie soll der Ton erzeugt werden?
Wie soll die Tonhöhe und Tondauer erreicht werden?
Wie sollen die dazu erforderlichen Daten codiert werden?

Das alles sind erstmal Überlegungen, die unabhängig von der Wahl der
Programmiersprache sind. Ohne die, lässt sich das Projekt mit keiner
Programmiersprache realisieren. Wenn du die Fragen beantwortet hast,
kann man ja mal versuchen, das Projekt in Assembler anzugehen. BASCOM
ist da ungeeignet, es ist zu abstrakt, also zu weit von der Hardware
entfernt, man sieht also nicht, was man tut.

...

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versteh nicht so ganz die bemerkung von Hannes. Was hat das hier mit
Glaubenskrieg zun tun? Sicher hat jeder so seine Vorliebe für bestimmte
Dinge (Programme). Ich bin seit 4 Monaten noch tief im Tal der
Ahnungslosen, habe aber durch das Buch "AVR-Mikrocontroller-Lehrbuch"
von Roland Walter schon einige erfolgreiche Programme (das ging fast
schon zu gut) erstellt. Vorrm Assembler habe ich da verständlicherweise
noch etwas Furcht. Was meine überlegungen zum Melodiegenerator betrifft,
hab ich mir das folgendermassen vorgestellt:
- es sollen nur 7 bis ca 15 Töne sein (insgesamt etwa 20s)
- den Ton erzeugt der Timer0
- da gibt es die Möglichkeit mit Voreinstellung, also ich gebe ihm vor,
ab welchem Wert er anfängt zu zählen
- beim Überlauf- Interrupt negiert er den Ausgang zum Lautsprecher
- im Listing gebe ich ihm diesen Wert (entspricht der Frequenz) und
eine Wartezeit (Waitms 800) was der Tonlänge entspricht
- auf diese Weise müsste eine Melodie zu erzeugen sein
- vielleicht könnte man auch verschiedene Melodien jeweils in ein
Unterprogramm schreiben damit man ab und zu eine andere abspielen
kann.

Ich versteh aber nicht warum der ATtiny 12 nichtmal die LED blinken
lässt, obwohl dasselbe Programm bei einem ATmega8 funktioniert. Hängt
das vielleicht mit dem fehlenden SRAM zusammen?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du bist mit deinem BASCOM zu weit von der Realität entfernt. Wenn du
etwas "verstehen" willst, dann befasse dich  (bei den RAM-losen
Tinys) mit Assembler und dem Datenblatt des Controllers.

> Ich versteh aber nicht warum der ATtiny 12 nichtmal die LED blinken
> lässt, obwohl dasselbe Programm bei einem ATmega8 funktioniert.

Dann schau dir den ASM-Code an, den BASCOM erzeugt. Falls du jetzt
feststellst, dass dir BASCOM den ASM-Code vorenthält, dann hast du den
ersten Grund gefunden, warum ich BASCOM nicht mag, ja sogar bewusst
meide (könnte man sogar "boykottieren" nennen)...

Dein Grundkonzept ist machbar, du solltest aber versuchen, es in ASM zu
realisieren. Der Tiny15 wäre etwas besser geeignet weil er 2 Timer hat.
Somit könnte einer die Frequenz erzeugen, der andere die Tondauer
steuern. Die Daten (Tonhöhe und Tondauer) können sehr bequem in einer
Tabelle im Flash abgelegt werden. In ASM wird das Programm sehr einfach
und übersichtlich.

...

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes: Jetzt bist du aber ein "Zeuge Assemblers", der die
"Bascoms" bekämpft. Lass doch jedem sein Spielzeug. Wenn Bascom
hilft, überhaupt erstmal einzusteigen, ist es doch wunderbar. Ich hab
hier schon öfters gelesen, dass Leute mit Bascom gut zurecht gekommen
sind. Selber kann ich das nicht einschätzen, weil ich noch nie in
Bascom programmiert habe. Ich bin also auch ein "Zeuge Assemblers"
:-)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Winfried:

Ja, ich mache immer wieder den Fehler, mich auf eine solche Diskussion
einzulassen. Hast eigentlich recht, sollen sie doch mit ihrem BASCOM
und ihren "wait XYZ"-Programmen selig werden, ist eigentlich schade
um die Zeit...

Also: Macht was ihr wollt, aber macht was...

Ich bin dann raus hier...
...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn ich mir ein BASCOM programm anschaue dann denk ich immer was das
für n Kinderspielzeug is. Das is eifach zu weit entfernt und viel zu
vereinfacht.

Um die Grundlegenden sachen in assembler zu erlernen gibt es hier das
tut und der rest steht eigentlich im datenblatt da du register direkt
so beschreibst wie im datenblatt gut erklährt.

Wenn du meinst BASCOM währe besser(debugging und funktionalität)dann
überzeuge uns.

Falls du dich für ASM entscheidest stehe ich dir gerne zu rat.

Autor: Lars.Hermi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt habt Ihr mich fast soweit mit Euerem ASM. Ich hab nur leider
absolut keine Programmiererfahrung, hab mal vor der Wende einen Basic
und einen Turbo- Pascal Lehrgang gemacht. Vom Assembler habe ich nur
ein Bild dass alles aus abstrakten Maschinenbefehlen besteht und
deshalb immer vermieden auch mal nur reinzuschauen. Ausserdem hab ich
was das Datenblatt anbetrifft erhebliche Schwierigkeiten mit der
englischen Sprache und deutsche Datenblätter sind ja eher selten. Das
Bascom ist ganz einfach das erste was ich vor die Nase bekommen hab und
es hat bis jetzt meistens funktioniert (bis auf die verflixte LCD
Anzeige- siehe Forum "LCD mit ATmega8"). Ich konnte auch meistens die
Vorgänge, Registerbefehle u.s.w. nachvollziehen. Falls ich irgendwann
halbwegs den Durchblick bekomme werde ich sicherlich selbst merken
welche Programmiermethode besser oder schlechter ist.
Nur schade das HanneS sich deswegen auf den Schlips getreten fühlt.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach Dir um Hannes keine Sorgen. Der verkraftet das.

Ich hab mit BASCOM auch nichst am Hut. Ich kann Dir daher nicht
sagen ob der Compiler mit den SRAM-losen Tiny's klar kommt
oder nicht. Im Zweifel wuerde ich aber sagen: Er tut es nicht.
BASCOM macht eine Menge Dinge unter der Decke und ich kann mir
nicht vorstellen, dass die Entwickler dafuer eine 2-te Laufzeit-
umgebung implementiert haben. Ein Tiny12 hat zb eine Return-Stack-
Groesse von grade mal 3. Verschachtelte Unterprogramme muessen
dort also schon sehr genau geplant werden.

Arbeite Dich doch mal durch das Assembler Tutorial auf dieser Site.
Du wirst sehen: das ganze ist gar nicht so abstrakt. Eigentlich
ist Assembler sogar ziemlich einfach.
Datenblattlesen: klar, wenn Du gut Englisch kannst ist das kein
Problem. Aber auch hier wieder: Wenn Du nur wenig Englisch kannst,
kann man die Dinger trotzdem lesen. Datenblaetter sind naemlich meist
sehr einfach geschrieben, im Gegesatz zu einem Roman. Ich hab mein
Englisch auch erst durch Datenblatt-lesen (vielen Dank an die
Schreiber der IBM-360 und JCL Manuals) gelernt. Heute kann ich
problemlos in die USA fahren und mich mit den Leuten unterhalten.

Autor: Lars.Hermi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal noch ne Frage. Wo bekommt man mal eine Übersicht aller Prozessoren
von Atmel her mit den Daten zB. wieviel SRAM, EEPROM, FLASH u.s.w.
diese haben?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zb. bei Atmel :-)

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mojje...
Ich fühle mich nicht auf den Schlips getreten, es ist nur schade um die
Zeit. Es überzeugt sich schlecht, wenn Jemand (aus welchen Gründen auch
immer) Vorurteile nicht los wird.

> Mach Dir um Hannes keine Sorgen. Der verkraftet das.

Das ist da richtig. Ich vergesse auch öfters mal 'n Smilie zu
setzen...

Hochsprachen sind eindeutig die bessere Programmier-Methode. Sie nehmen
dem Programmierer Vieles ab, z.B. die Verwaltung der Variablen und
anderer Ressourcen. Bei komplexeren Programmen meinen
Hochsprachenbenutzer, dass der Quelltext auch nach Jahren noch gut
lesbar (verständlich) ist, da man strukturiert programmiert. Da einem
die Hochsprachen viel Arbeit abnehmen, ist man sich damit vieler Dinge
nicht mehr bewusst, es wird viel verschleiert.
Arbeitet man unter einem Betriebssystem (wie beim PC), dann sind
Hochsprachen unabdingbar.

Beim AVR ist nun das Problem, dass die Ressourcen recht begrenzt sind
und dass die Hardwareausstattung der einzelnen Typen sehr
unterschiedlich sind. Das macht auch die Portierbarkeit von Programmen
(Hauptgrund, eine Hochsprache zu verwenden) sehr schwierig. Das ginge
also nur bei Verzicht auf die speziellen Hardware-Features. Wenn man
aber schon z.B. (exakte) Timer "mitkauft", dann möchte man sie auch
benutzen und die Zeit nicht mit (lächerlichen) Wait-Warteschleifen
vernichten.

Du meinst, ASM wäre abstrakt. Ich sehe das anders, ASM ist nämlich sehr
konkret, jedem (leicht erlernbarem) Kürzel ist nämlich exakt ein
Maschinensprachebefehl zugeordnet, von dem man ganz konkret weiß, was
er tut und wie lange das dauert. Auch kann man in ASM durch geeignete
Kommentare die Lesbarkeit des Codes sichern. Zwei Beispiele für Tiny12
in ASM findest du hier:
http://www.mikrocontroller.net/forum/read-1-271826...
http://www.mikrocontroller.net/forum/read-1-271826...
Ist der gleiche Thread, der gleiche Zweck, aber unterschiedliche
Umsetzung. Die anderen Beispiele finde ich nicht mehr, da die
Forum-Suchfunktion deaktiviert ist, sorry...

Falls dir nach ASM ist, dann verschaffe dir Klarheit über die
Architektur des AVRs, beginne mit den verschiedenen Speichertypen und
Adressbereichen, denn die solltest du schonmal auseinanderhalten
können, das erspart jede Menge Missverständnisse. Eine ausgedruckte
Liste der ASM-Befehle (Datenblatt des AVRs, "Instruction Set
Summary", ziemlich am Ende des DB) macht sich auch ganz gut, kann man
schön drin herumschmieren (Textmarker, Bleistift, geht auf Bildschirm
immer so schlecht)... Der Simulator des AVR-Studios kann auch sehr zum
ASM-Verständnis beitragen.

Das mit dem fehlenden Englisch ist ein Problem, ich hatte auch keinen
Englisch-Unterricht. An die Datenblätter ging ich mit dem Wörterbuch
heran, inzwischen brauche ich das immer seltener. Mit 'm Ami könnte
ich mich aber nicht unterhalten, dazu reicht es nicht.

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie gesagt ich stehe beim einstieg in asm gerne in ICQ zur verfügung um
das alles zu erklähren und das wir dein programm zusammen schreiben

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum ICQ? - Warum nicht öffentlich?

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
natürlich auch öfentlich aber wenn er ein programm eranrbeiten will dann
muss er halt nicht 20 mal ne frage posten.

Also mir ist es egal aber es wird mit ICQ sicherlich schneller gehen.
Wenn du mkein ICQ hast dann machen wirs öffentlich WENN DU ÜBERHAUPT
WILLST

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt lacht ihr Euch bestimmt gleich tot, aber was bedeutet ICQ???????
Noch ne Frage, was brauche ich alles ? Zur Zeit Habe ich als Software
das besagte Bascom und ein paar Hilfsprogramme. Mir wurde aber gesagt,
dass man in Bascom AVR auch assembler programmieren kann. Weiterhin
habe ich einen Passiven Programmieradapter (selbst gebaut) und eine
Experimentierplatine (von www.rowalt.de) etwas abgeändert, damit sie
auch für andere Typen als den Atmega8 verwendbar ist. Ich muss also
sämtliche Verbindungen auf der Platine erst mit Schaltdraht stecken.

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so, wenn Ihr mir helfen wollt nehme ich das natürlich gerne an. Von
mir aus auch Öffentlich- ein Geheimnis soll nicht draus werden.
Aber ich muss Euchj warnen, ich bin erstens wie Ihr wisst blutiger
Anfänger und zweitens will ich dann auch alles genau wissen bzw.
verstehen was im yC vor sich geht!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann geh mal als erstes zu Atmel auf die Web-Site
und lade Dir as AVR-Studio herunter.

Wenn Du das Ding installiert hast, kannst Du im Prinzip
schon mal mit dem Tutorial auf dieser Site Deine ersten
Schritte in Assembler anfangen.

Waehrend Du Dich an Deiner ersten blinkenden Led erfreust,
schick Deinen Rechner noch mal zu Atmel und hole Dir
dort das Datenblatt fuer Deinen Controller, sowie
die Befehlsreferenz (Instruction Set Summary).

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann fang am besten hier an:
http://www.mikrocontroller.net/tutorial/

Und lade dir von www.atmel.com das AVR-Studio herunter, und auch die
(complete!) Datenblätter der AVRs, die du nutzen willst. Nimm statt des
Tiny12 lieber den Tiny15, der ist flexibler einsetzbar und kostet kaum
mehr.

...

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder chatte mich an. ICQ ist ein chatprogramm womit man sich mit
bestimmten personen wie im chat unterhalten kann.

Du bekommst es unter www.icq.de

Dann erstellst du dir einen account und füngst mich zu deinen kontakten
hinzu. Das alles ist absolut kostenlos.

Meine Nummer: 233145089

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Viren, die du dir dann auf den Rechner ziehen kannst, darfst du auch
kostenlos entfernen ;-)

Dran denken, sobald icq läuft, ist der Rechner immer eindeutig
identifizierbar. Und ein Angreifer weiß, wann man Online ist.

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn ihr idioten auch solche leute mit "add to contakt list" aufnimmt
dann is alles klar...bitte kein streit

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich oute mich als BASIC-Nutzer, allerdings bevorzuge ich FastAVR. Hier
wird der Assemblercode mit ausgegeben und wenn ich da was sehe was mir
verbesserungswürdig erscheint, dann tu ich das mit eingebundenen
Assemblerstücken. Ich könnte auch in Assembler direkt programmieren,
hab mich aber seit Jahren an BASIC gewöhnt und programmier damit auch
PICs und Windowsprogramme und bin ganz froh mich nicht um die
Registerunterschiede kümmern zu müssen, wenn ich z.B. nur mal ein paar
Zeichen seriell ausgeben will. Auch schätze ich die bequeme
Stringbehandlung. Klar ist es besser, wenn man genug Wissen angesammelt
hat um einem Prozessor auch mal direkt auf die Finger gucken kann aber
zum Einstieg finde ich Hochsprachen einfach viel sinnvoller und
einleuchtender als sich mit Mnemonics verschiedener Plattformen
rumzuärgern. Der Anfänger kann so recht schnell zu Ergebnissen kommen,
die ihn vielleicht anspornen auch mal tiefer in die Materie
einzusteigen anstatt total frustriert alles übern Haufen zu schmeissen,
weil er es z.B. nicht hinbekommt einen einfachen Text zu verarbeiten um
Den auf nem Display darzustellen.

bye

Frank

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und an diesem guten beispiel hier siehst du das dann keiner mehr in
assembler umteigen will und so nicht mehr von dem sch*** wegkommt. Ich
will hier keinen streit haben also seht es so: jeder meint das was er
meint und damit is das thema geschlossen. ENDE

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Frank:

Ich bin auch BASIC-Nutzer. Und zwar von BASIC 3.1 (Z80) über
Commodore-BASIC 3.5 und QBASIC bis VB6. Allerdings ist mir beim AVR
BASIC (BASCOM) eher ein Hindernis als eine Hilfe.

Nundenn, ich schau gerne zu, wie der Melodiegenerator in BASIC
entwickelt wird. Oder wollt ihr die Öffentlichkeit daran jetzt nicht
mehr teilhaben lassen?

...

Autor: Lars.Hermi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mann, da hab ich wohl nen richtigen Glaubenskrieg losgetreten? Ich finde
für viele Probleme gibt es nicht nur eine Lösung. Die eine ist eleganter
und kürzer, aber schwieriger und die andere ist umständlich, aber für
den Laien (z.B. mich) eher nachvollziehbar. Was zählt ist das Ergebnis.
Irgendwann z.B. bei zeitkritischen Anwendungen wird man gezwungen sein
Assembler zu nutzen und spätestens dann auch seine Vorzüge erkennen.
Ich finde jeder soll und muss seinen eigenen Weg finden, hauptsache der
Comtroller macht am Ende was er soll. Also seid tolerant.
Gestern hab ich das AVR Studio runtergeladen, aber noch nicht
installiert. Werde alles soweit vorbereiten, auch das mit dem Chat,
besorge noch je zwei ATtini13 und ATtiny15 (hat einer von denen einen
Ram?). Ich muss nur meine Zeit etwas einteilen, hab nämlich noch ein
weiteres Projekt laufen, wo ich demnächst ein Ergebnis brauche.
Trotzdem meine Devise ist immer: "geht nicht gibt´s nicht"

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lars:
Der Tiny13 hat zwar RAM, aber nur einen Timer und (in anderen Beiträgen
gelesen) einen recht ungenauen internen Oszillator.

Der Tiny15 hat zwar kein RAM, die 32 Register haben mir aber bisher
immer gereicht, es waren sogar immer weche übrig. Er hat aber zwei
Timer, von denen einer mittels PLL sogar schneller takten kann als der
Controller selbst.

Falls dich ASM wirklich interessiert, dann bekommat du hier
http://www.mikrocontroller.net/forum/read-1-113815...
schonmal viele auftretenden Fragen beantwortet.

...

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, jetzt hab ich auf verdacht 3 Tiny15, 3 Tiny26 und 3 ATmega8
bestellt. Die werd ich bestimmt irgendwann brauchen. Was mich wundert,
dass bis jetzt noch keiner kaputt gegangen ist. Sonst kauf ich immer
mehrere IC´s, weil beim rumexperimentieren ziehmlich oft einer in den
Schaltkreishimmel übergeht. Naja nicht zu früh freuen. Morgen versuch
ich die Software hinzukriegen und mir die Links von Euch anzuschauen.
Hoffe nur dass ich genügend Zeit finde und vielleichr rührt sich mein
ATtiny12 doch noch.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OT, man muss nicht in der Contact list sein um festzustellen ob jemand
mit ICQ online ist.

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dann will ich mal etwas zur Diskussion stellen (Anhang)...

...

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@HanneS
Danke erstmal, ich weiss nur überhaupt nicht wie ich das ganze in den
yC kriege. Hab intzwischen Ponyprog und AVR-Studio installiert aber
keine Ahnung. Ich besitze auchn inzwischen ATtiny15 und ATtiny26.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst eine Hardware, die Du an den PC ansteckst
(einen Programmer).

Im einfachsten Fall ist das einfach ein Kabel mit ein paar
Widerstaenden, das vom parallel Port des PC zum Tiny fuehrt.

http://s-huehn.de/elektronik/avr-prog/avr-prog.htm

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nunja...

- in AVR-Studio ein neues Projekt anlegen
- dabei den gewünschten AVR auswählen
- den Quellcode in das Editorfenster eintippen oder einkopieren
- mit F7 speichern und assemblieren, wobei eine Hexdatei entsteht
  (oder ein Sack voller Fehlermeldungen)
- mit Control-F7 Simulator starten und mit F11 schrittweise
  simulieren

- mit Ponyprog die beim Assemblieren erstellte Hexdatei (oder die im
  Anhang) einlesen und in einen Tiny15 schreiben
- Dabei das Calibrationsbyte auslesen und in das vorletzte Byte des
  Hexdumps schreiben (macht mein ISP-Programm automatisch), damit der
  interne Oszillator kalibriert wird.
- 4 Taster und 1 Lautsprecher (über Elko <=10µF) an den Tiny15
  anschließen
- Abblock-Kondensator (100nF Keramik) an der Stromversorgung des Tiny
  nicht vergessen.
- Widerstand zwischen Reset und +Vcc nicht vergessen
- Spannung (+5V) anlegen
- eine der 4 Tasten (oder mehrere/alle) drücken

- zu AVR-Studio wechseln
- Quelltext analysieren
- dazu Datenblatt (PDF) zum recherchieren öffnen
- daran denken, dass man mit F1-Taste Hilfe zum ASM-Befehl unter dem
  Cursor bekommt
- Programm versuchen zu verstehen
- im Datenblatt ergründen, welche Speicherarten es gibt und welchen
  Adressbereichen sie entsprechen
- Sounddaten verändern, eigene Melodien einbauen
- mit F7 speichern/assemblieren
- mit Pony neue Hexdatei brennen

- notfalls komkrete Fragen hier im Forum stellen...

...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Karl:

Ich nahm an, dass diese Hardware (ISP-Adapter) existiert, da vom Tiny12
und BASCOM die Rede war.

Vermutlich kann man die Hexdatei auch mit BASCOM in den Tiny15 brennen,
ich weiß aber nicht, wie das geht.

...

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes

Ist moeglich.
<Scroll up, Scroll up>
Ja ich denke, Du hast recht.

Sorry Lars, Ich hab Deine Frage mißverstanden.
Ich dachte Du haettest grundsaetzliche Probleme, wie
denn nun das Program in den Chip kommt.

Hannes hat ja schon beschrieben wie der Arbeitsablauf ist.
Wenn Du noch Schwierigkeiten hast PonyProg zu konfigurieren
meld Dich wieder. Im Grunde musst Du dort nur den Programmer
einstellen. D.h. wir muessen wissen welchen Programmer Du
nun tatsaechlich benutzt und wo der dranhaengt.

Autor: Lars Hermersdorfer (hermi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe einen passiven programmer welcher aber wahrscheinlich mit pony
prog nicht funktioniert. tiny12 wurde erkannt, habe aber versucht eine
hex datei zu brennen- ging nicht. bei meinem programmer ist: parallele
schnittstelle, Reset=pin3 (Data1), SCK =pin2 (Data0), miso=pin11(busy),
mosi=pin9 (Data7). im Bascom funktioniert alles wunderbar, aber AVR
Studio und pony prog kenn ich überhaupt nicht. ich bau mir erstmel
einen anderen Programmer, hab den plan von lordludwig und dann sehen
wir weiter.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nunja, ich kam mit Pony und den zugehörigen ISP-Adaptern auch nicht
zurecht, ist aber schon eine Weile her, es lag vermutlich an einem zu
langen Parallelkabel mit passiver Umschaltbox.
Ich schuf mir daher anhand der Angaben der AVR-Datenblätter mein
eigenes ISP-System (Hardware und Software). Dies ist zwar auch nicht
perfekt, macht aber schonmal das, was ich möchte.

Ich nutze es sogar gelegentlich zum Programmupdate von AVRs, die in
einer Testschaltung auf dem STK500 aufgebaut sind.

Es ist auf www.hanneslux.de zu finden.

...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Inzwischen gibt es ein paar Erklärungen zum Programm sowie eine zweite
Variante. Ist hier zu finden:
http://www.hanneslux.de/avr/divers/melody/melody01.html

...

Autor: Gerd S. (alea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hannes,
schöne Homepage,
kennst Du eine Schaltung die etwas höhere Lautstärke erzeugen kann?
Hat jemand einen Vorschlag?
Alea

Autor: Alea Saccari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder anders gefragt,
kann ich einen TDA7052 einfach mit der standartmäßigen
Beschaltung R=5k von Signal zu GND beschalten und mit
einem kleinem Koppel-C 5-10mikroF an PBX anschließen?
Alea

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im Prinzip ja, aber das kostet Ruhestrom, den ich ja in Variante 2
extrem minimieren wollte.

Ich habe mal schnell einen komplementären Emitterfolger mit BC327 und
BC337 dahinter geschaltet, den Elko auf 470µF erhöht und einen etwas
größeren Lautsprecher mit 8 Ohm Impedanz genommen, da wurde das Teil
schon recht laut. Die Stromaufnahme hat sich (bei laufender Tonausgabe)
auf knapp 100mA erhöht, der Ruhestrom ist weiterhin mit meinen Mitteln
nicht messbar.

Ich werde diese Änderung mit in meine Seite aufnehmen, danke für den
Hinweis...

...

Autor: Alea saccari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja so sollte es gehen,
wie hoch ist denn der Ruhestrom
mit der Zusatzbeschaltung im Leerlauf?
soweit ich weiß soll der TDA7052 ca.4-6mA haben!?
Das Teil wurde damals für batteriebetriebene Geräte
entwickelt.
der TDA7052A hat an einem Pin die Möglichkeit spannungsabhängig
die Lautstärke zu regeln.

Alea

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Ruhestrom hat sich nicht verändert, er ist (Variante 2!) mit dem
herkömmlichen DMV nicht mehr zuverlässig messbar.

Die Seite ist inzwischen aktualisiert...

...

Autor: Alea Saccari (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe noch mal gesucht, da ist ein MAX4366
mit ca. 2mA Ruhestrom, muß aber unter der Lupe gelötet werden.
der hat auch shut down.
weiter gibt es hier:
http://www.circuitcellar.com/AVR2004/wabstracts/A3...
eine interessante Schaltung mit den TDA.
Alea

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke, eine NF-PA ist nicht nötig und frisst nur unnötig (Ruhe-)
Strom. Mit dem push-pull-Emitterfolger geht das Ding ab, wie Schmitts
Katze...

;-)

...

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lars,
mit BASCOM lassen sich ausschließlich AVRs programmieren die über SRAM 
verfügen. Beim TINY12 nicht der Fall. Nimm einen TINY45, der 
funktioniert ohne Probleme. Falls Deine Version von BASCOM den AVR nicht 
kennt musst Du ein Update besorgen. Falls Du nur eine Demoversion 
besitzt, besorg Dir die aktuelle BASCOM Demo, mit ihr lässt sich der 
TINY45 auch programmieren.

Falls noch Fragen bestehen sollten mail mir an marco.nice@gmx.de

Viel Erfolg und Gruß
Marco

Autor: Ludwig Wagner (lordludwig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du weist schon wie alt der Beitrag ist oder?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damals gab's ja auch den Tiny45 an jeder Straßenecke...

;-)

...

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
mir ist bekannt, dass der Beitrag nicht aktuell ist. Aber ich bin wohl 
der Einzige, der die Frage von Lars verstanden und beantwortet hat.

Marco

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marco wrote:
> Hallo,
> mir ist bekannt, dass der Beitrag nicht aktuell ist. Aber ich bin wohl
> der Einzige, der die Frage von Lars verstanden und beantwortet hat.

Das halte ich für arg übertrieben. Siehe dritte Antwort bzw. vierter 
Beitrag:

Beitrag "Re: ATtiny12 will nicht"

Ist allerdings als Frage formuliert, damit der Threaderöffner dazu 
animiert wird, selbst zu recherchieren.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.