Das lauflicht ist mit dem ATMEGA 8 Gebaut worden Es gibt auch ein Code für das Lauflicht Ich würde mich sehr freuen wenn wer sich den Beitrag einer Annimmt oder wenn Fragen hat Ein Gruß Ludwig63
Das lauflicht ist mit dem ATMEGA 8 Gebaut worden Es gibt auch ein Code für das Lauflicht Ich würde mich sehr freuen wenn wer sich den Beitrag einer Annimmt oder wenn Fragen hat Ein Gruß Ludwig63
:
Bearbeitet durch User
Beitrag #4999231 wurde vom Autor gelöscht.
Beitrag #4999233 wurde von einem Moderator gelöscht.
Beitrag #4999236 wurde von einem Moderator gelöscht.
Na gut: 1. es ist sinnvoll die Pins am Atmega zu beschriften und nicht einfach nur durch zu nummerieren, denn nicht jeder holt jetzt das Datenblatt hervor 2. die Dioden sind falsch herum 3. wer liefert 5V Batterien? 4. wir wissen jetzt das du PortD beschreiben kannst und den delay kennst 5. wenn du es besser machen willst, nimm Schleifen und Arrays 6. es bringt nicht viel anonym aufzutreten und seinen Namen in den Quelltext zu schreiben ;)
Hi Als 'Hello world' nicht schlecht, kostet aber doch einiges an Speicher. Weiter bist Du so recht unflexibel. Ok, wenn der µC erst Mal 'in the wild' ist und eh nur sein Programm abspult, ist's egal, wie das Programm aussieht, aber Das geht auch schöner. Mir ist nicht bekannt, ob der Aufruf 'delay(20)' jedes Mal einen Codeblock generiert, oder ob in den Tiefen der Includes eine Funktion aufgerufen wird - bei Erstem wäre Platz einzusparen, wenn man das Delay selber in eine Funktion packt. Sofern die LEDs in eine Richtung laufen, kann man Das mit Bit-Manipulation machen. So lässt der Assembler-Befehl 'LSL' die Bits eine Position nach links wandern (ein einfaches x2 tut das Gleiche und wird vom Compiler wohl in ein LSL ersetzt). Wenn dabei die Reihe aufgefüllt werden soll, kommt ein +1 dazu und das rechte Bit wird gesetzt. Wenn über mehrere Ports verschoben werden soll, kann man das Carry-Flag dafür benutzen. LSL r0 ROL r1 schiebt die Bits in r0 um eine Position nach links. Wenn dabei ein Bit links raus fällt, landet Das im CF. Mit ROL wird 'über das Carry' geschoben - also das CF wird rechts rein geschoben, wenn links ein Bit raus fällt, landet Das wieder im CF. Mit weiteren ROL könnte man weitere Ports in das Lauflicht involvieren. Für 'nach Rechts' wäre :2 das Mittel meiner Wahl (bzw. LSR/ROR in Assembler). Zum Setzen des linken Bit des linkesten Port käme nach dem :2 noch ein +128 (Bit7 setzen) dazu, um die Reihe aufzufüllen. So kannst Du Dir verschiedene Leuchtmuster konstruieren, Die Du 'frei Schnauze' im Programm aufrufen kannst. Diese Bitschiebereien kannst Du dann auch 'nur 1x' ausführen und so eben nur um eine Stelle verschieben. Da an Deinem ATmega noch nen paar Pinne frei sind, kannst Du ja noch weitere Sensoren/Taster/whatever anbauen und ins Programm integrieren. Ändere aber immer nur EINE Kleinigkeit. Wenn dann ein Problem auftritt, hast Du nur EINEN Punkt, wo Du ansetzen musst. Weiterhin viel Spaß mit den Lauflichtern :) MfG PS: https://vid.me/UxLv (von 20.8°C auf 20.9°C, DS18B20)
:
Bearbeitet durch User
Der Mega8 ist für max. 16MHZ mit Quarz spezifiziert. Da kein Quarz vorhanden ist, läuft der interne Oszillator default mit 1MHz. Wie kommst du auf #define F_CPU 20000000UL Das AVCC und AGND mit versorgt werden sollen und ein 100n Kondensator zwischen VCC und GND und AVCC und AGND gehört sei nur am Rande erwähnt.
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.