Hallo, ich versuche mit Assembler eine ATTINY84A so zu programmieren, dass ich ein Zeitrelai mit Einschaltverzögerung, Ausschaltverzögerung und Ein- und Ausschaltverzögerungskombi bauen kann. Die Modies sollen durch ein Drehschalter umgestellt werden und die Zeitverzögerung durch ein Poti von 10s-60s einstellbar sein. Hat jemand ein komplettes Skript oder Teilskripte (z.B.: nur Einschaltverzögerung) für Ideen und Lösung?
Lord Kirigaya schrieb: > Hat jemand ein komplettes Skript oder Teilskripte (z.B.: nur > Einschaltverzögerung) für Ideen und Lösung? Wo genau ist denn dein Problem und warum in ASM? Im einfachsten Fall sind das 100-200 Zeilen Code, wenn überhaupt...
Lord Kirigaya schrieb: > Hat jemand ein komplettes Skript oder Teilskripte (z.B.: nur > Einschaltverzögerung) für Ideen und Lösung? Was soll in einer Vorlesung drin stehen? Klar ist das in jeder AVR Programmiersprache beherschbar. Ein Hochsprache macht es einfacher. In AVR Assembler baue ich mir über Macros eine zielorientierte Spracherweiterung. Das Vermindert die Schreibarbeit und gestattet mir z.B. automatisch zwischen in und load (ld) und out und store (st) bei der Programmgenerierung zu unterscheiden.
Lord Kirigaya schrieb: > ich versuche mit Assembler eine ATTINY84A so zu programmieren, dass ich > ein Zeitrelai mit Einschaltverzögerung, Ausschaltverzögerung und Ein- > und Ausschaltverzögerungskombi bauen kann. Nein, eigentlich versuchst du für dein Problem eine fertige Lösung zu finden. Warum es gerade in ASM passieren soll, wenn du noch nicht mal einen Ansatz für deine Lösung vorstellen kannst ist mir auch schleierhaft..
Das Problem ist, dass ich bis jetzt wenig vom Programmieren verstehe und nur ein Anfänger bin, daher die Frage nach einem kompletten Funktionstüchtigen Skript, mit dem ich ein Verständnis bekomme für Assembler und zudem noch ein fertiges Relais habe. Kleinere Skripts bekomme ich auch hin. Jedoch fehlen mir hier die Ideen.
Lord Kirigaya schrieb: > Jedoch fehlen mir hier die Ideen Das ist schlecht. Einen guten Programmierer macht aus, dass er Probleme analytisch und systematisch in Teilprobleme zerlegt (Funktionen). Ohne Ideen, kein Code. Ohne Code keine Lösung. Die Kenntnis und Beherschung der Systax macht noch langen keine guten Programmierer aus. Fang doch als erstes an, die Interrupts im Interval 10ms zu erzeugen. Darauf baust du dann einen Zähler auf. Dann liest du dein Poti ein. Dann liest du deinen Schalter ein. Dann steuerst du deinen Ausgang mal an. Dann verheiratest du den ganzen Kram zu deinem Zeitrelais...
Ich würde auch C als Programmiersprache verwenden, sofern du keine Vorgabe ASM hast.
Lord Kirigaya schrieb: > mit dem ich ein Verständnis bekomme für > Assembler und zudem noch ein fertiges Relais habe. Das kannst auch mit der Kostenlosen Demo Version von BasCom machen. Aber was ist ein fertiges Relais?
Tipp: um einfach die ersten Schritt mit AVR Assembler zu tätigen, kann man mit den Einführungen für die AVR Hardware und dem AVR Assembler starten. So nach 1 Jahr solltest Du soweit sein, über den Tellerrand zu schauen.
Lord Kirigaya schrieb: > Hat jemand ein komplettes Skript oder Teilskripte (z.B.: nur > Einschaltverzögerung) für Ideen und Lösung? Ich hab mal was programmiert. Ob es passt für dich? - zwei Variationen Zeit Pot 1 | Zeit Pot2 | Verzögerung ____ _|______________| |_____ Mode 'Futter' | +Start |______________ _| Zeit Pot1 |____________ Mode 'Treppe' - in C programmiert für Tiny 25/45/85; du musst selber prüfen, ob es auf einen Tiny84 direkt übertragbar ist (Interrupts, etc.) - zwei Potis, für die Einschaltverzögerung und die Pulsdauer. Wenn Pot 1 beim Reset auf Minimum steht, dann wird der Mode 'Futter' gewählt - Watchdogtimer verwendet, der ist zwar nicht besonders genau, aber in dem Fall völlig ausreichend. - weiter Zeitbereich in der Software einstellbar; mir ging es bei dem Versuch hauptsächlich darum zu sehen, welche Zeiten man mit dem µC erreichen kann - es muss natürlich durch ein externes Signal der Vorgang ausgelöst werden, hier ist es eine Taste - minimaler Eigenstromverbrauch - Schaltbild ist als ASCII-Grafik im SW-Kopf Lord Kirigaya schrieb: > mit Einschaltverzögerung, Ausschaltverzögerung und Ein- > und Ausschaltverzögerungskombi Was meinst du mit der Unterscheidung dreier Varianten? Nur eine Ausschaltverzögerung kann ich mir nicht vorstellen, vorher muss ja mal eingeschaltet werden. IMHO gibt es nur die oben gezeichneten Varianten.
HildeK schrieb: > Nur eine > Ausschaltverzögerung kann ich mir nicht vorstellen, vorher muss ja mal > eingeschaltet werden. Z.B. ein Nachlauf für einen Lokuslüfter. Trigger erfolgt per Lichtschaler: Licht an -> Lüfter geht direkt oder mit Zeitverzug ein Licht aus -> Lüfter läuft für T = Nachlaufzeit nach
Wenn Du noch wenig Kenntnisse hast: Bevor Du das auf deinem Wunschprozessor AtTiny84 versuchst, würde ich Dir empfehlen, das zunächst auf Arduino zu programmieren. Warum? Da gibt es eine riesige Community und Tonnen an ähnlichen Projekten im Netz. Wenn es dann läuft kannst Du das immer noch mit den gewonnenen Erfahrungen umsetzen (oder gleich den ATMEGA 328 als Urtyp in der Schaltung lassen)
Lord Kirigaya schrieb: > Das Problem ist, dass ich bis jetzt wenig vom Programmieren verstehe und > nur ein Anfänger bin, daher die Frage nach einem kompletten > Funktionstüchtigen Skript, mit dem ich ein Verständnis bekomme für > Assembler und zudem noch ein fertiges Relais habe. Kleinere Skripts > bekomme ich auch hin. Jedoch fehlen mir hier die Ideen. Hallo Danke :-) Genau nach so was habe ich am Beginn und auch später beim µC (AVR ) programmieren erlernen gesucht. 1001 einfache Beispiele (egal welche Sprache) oder halt viel fertige Bibliotheken und Funktionen die viel erledigen leicht zu nutzen sind aber damit auch alles (für mich) interessante verbergen. Die Fragen in Foren und das googeln zu: Wie funktioniert diese oder jene Bibliothek bzw. wie steuere ich z.B. ein Display an, nutze die Timer und Counter in einen echten Projekt (nicht nur als isolierten Selbstzweck) führt leider immer zu den gleichen Seiten die letztendlich nichts tiefgreifend Schritt für Schritt, oder nur den mehr oder weniger den ewig gleichen einfachen Kram erklären, bzw. man wird missverstanden oder bekommt die gleichen nicht hilfreichen Antworten (Lernen, machen, Erfahrung... bla bla bla). Fertige Bibliotheken (C, C+ "Arduinosprache") auseinander zu nehmen ist meistens, da man ja noch Anfänger ist, sehr schwierig bis unmöglich da oft viele "Tricks" genutzt werden, extrem um die Ecke gedacht wird und die Kommentierung oft sehr bescheiden oder nur geeignet für andere Spezialisten ist... Für Assembler ist das dann noch eine Stufe schlimmer :-( Eine recht gute Seite (Wobei man einige wertende Kommentare und Meinungsäußerungen des Autoren besser nicht so ernst nimmt - und mit den etwas verworrenen Seitenaufbau leben muss) die sich auch an Anfänger wendet und so einiges tatsächlich Schritt für Schritt erklärt (allerdings teilweise dort wo man es nicht vermuten würde - halt der schon angesprochene verworrene Seitenaufbau) ist http://www.avr-asm-tutorial.net/avr_de/index.html Auch wenn teilweise recht alte µC verwendet werden und klar erkennbar einige Beiträge schon sehr alt sind so wird doch sehr viel gut und verständlich erklärt, meiner Meinung besser als bei den wenigen anderen deutschsprachigen ASM AVR Lehrgängen die es sonst noch gibt und leider alle zu schulisch aufbauen (wobei diese wohl teilweise tatsächlich aus den schulischen Bereich stammen und indirekt viel darüber aussagen warum selbst die interessantesten und schönsten Themen in schulischen Umfeld zur reinen Belastung werden und schnell jegliches echtes Interesse und der Spaß daran vergeht...) http://www.weigu.lu/tutorials/avr_assembler/index.html Da hat der Autor sehr viel Arbeit investiert, hat eindeutig Ahnung von der Materie, werden Quellen genannt aber leider letztendlich... :-( Dann doch lieber jemand der halt seine "speziellen" Meinungen und Vorstellungen hat und dessen Seitenaufbau vielleicht manchmal etwas verwirrend und unlogisch ist, der aber versteht wie man als jemand der gezielt (auch mal)Assembler für die µC Programmierung nutzen möchte weil er eben aus der Hardwareecke kommt bzw. "alles" verstehen will und keine Black Boxes nutzen möchte, denkt und was man als so jemand wirklich an Hilfe und Erklärungen benötigt. Hennes
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.