Gefunden für atmega schieberegister - Zum Elektronik Forum |
| 1 - AVR - Geschwindigkeit von Operationen und Variablentypen -- AVR - Geschwindigkeit von Operationen und Variablentypen | |||
| |||
| 2 - Anfängerfrage Atmega 16 - warum will Port C nur halb funktionieren? -- Anfängerfrage Atmega 16 - warum will Port C nur halb funktionieren? | |||
| Moin,
nochmal ein paar Fragen. Braucht der AtMega zum Subtrahieren (bzw. simples Dekrementieren) deutlich länger als für Additionen? Oder für Schiebeoperationen nach links statt rechts? Hatte mir was zum Einlesen von Daten aus einem PISO-Schieberegister gestrickt. Zunächst mit einer Schleifenvariable initialisiert mit j= 7 und j-- am Schleifenende, während hereinkommende Bits nach einer Maskierung mit (1<<j) das Eingangsbyte von links nach rechts füllen. Dabei reagiert der Controller jedoch subjektiv deutlich langsamer auf externe Ereignisse. Gut, zunächst lag es an einem Gewohnheits-j++ , sodass die Schelifendurchläufe in die falsche Richtung gezählt wurden, aber auch korrigiert erscheint mir die Version langsamer zu laufen als eine inkrementierende Schleifenvariable und Start- Maskierung mit 0b10000000, welche dann um j nach rechts geschoben wird?! Völlig anderes Thema - was hat es mit Variablentypen wie "uint8_t" auf sich verglichen mit der 08/15-Variante "int"? Was ist der Vorteil der längeren Form, solange man im 8-bit-Bereich bleibt? Ist "int" auf 8 bit beschränkt oder einen anderen Standardwert oder entscheidet da der Compiler nach Gefühl, wieviel Platz er dafür vorsieht? Woher stammt das Bit, mit dem ... | |||
3 - Wasserdosiergerät über Microcontroller? -- Wasserdosiergerät über Microcontroller? | |||
Ich empfehle einen ATmega-8 oder -48 (gleiches Gehäuse, annähernd gleiche Pinbelegung) und ein LC-Display 1*16 Zeichen. 6 Taster wären 6 PINs, 1 PIN für die Wasseruhr, ein PIN für das SolidState-Relais. Macht einen kompletten Port. Das LC-Display sollte im 4bit-Modus angesteuert werden, macht nochmals 4 PINs + 2 PINs für die Steuerleitungen E und RS. Das einzig bedenktliche ist, dass man dieses Display vllt. nicht gut erkennen kann. Dann ließe sich eines mit Hintergrundbeleuchtung und starkem Kontrast nehmen. Oder man nimmt tatsächlich 3 Siebensegmentanzeigen +Schieberegister mit gelatchen Ausgängen -> kein Multiplexbetrieb. (Bits werden seriell eingetaktet und dann der LATCH-Pin einen Schieberegisters kurz gepulst, um die Daten am Ausgang zu präsentieren.) ... | |||
| 4 - Schwierige LED-Aufgabe ! -- Schwierige LED-Aufgabe ! | |||
Multiplex-Mode ist etwas um Pins bei mehrerern LEDs zu sparen. Sowas kommt oft in Textanzeigen vor, bei denen viele LEDs nebeneinander und übereinander angeordnet werden, Matrix genannt. (Alle normalen LCDs arbeiten (intern) danach) Dabei werden dann alle Kathoden der LEDs pro Zeile zusammengeführt und alle Anoden pro Spalte. Dann schaltet eine Elektronik die Reihen durch und (bei großen Anzeigen mittels Schieberegister, bei dir mit ATmega nicht nötig) bei den Spalten werden immer die entsprechenden LEDs eingeschaltet, also die LEDs gepulst. Da das mit einigen Kilohertz geschieht sieht man dazu nicht viel. Darüberhinaus werden die LEDs (damit sie durch die Dunkelzeiten nicht zu dunkel werden) mit einem höheren Strom als dem Dauerstrom betrieben (z.B. 80mA für 10% statt 20mA für 100%, steht aber im Datenblatt) Bei dir hieße dass, man schaltet bei alle roten, grünen und blauen (oder was weiß ich für Farben) die Kathoden zusammen und bei allen Sternen untereinander die Anoden. An die Kathodenleitungen kommen jeweils Verstärkungen dran, bei denen du die anderen hier Fragen musst (hab mit Strömen > 100mA wenig zu tun, und bei 13xMultiplex-LED kommt einiges zusammen), an die Anoden kommen ULN*-Treiber-ICs. Passt auch schön. 8Pins an PortA für die LEDs drumherum, die ... |
|
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 18 Beiträge im Durchschnitt pro Tag heute wurden bisher 1 Beiträge verfasst 74 Besucher in den letzten 60 Sekunden alle 0.81 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |