Ich möchte, dass 12 LEDs in der Schaltung so programmiert sind, dass sie mit einer bestimmten Geschwindigkeit herumlaufen. 17 SMD-LEDs insgesamt. Was ich tun muss, ist, dass die Verfolgung zufällig 1 Sekunde lang langsamer oder 1 Sekunde lang schneller wird, wobei jedes Mal, wenn sie ausgewählt wird, eine entsprechende LED aufleuchtet. Es verwendet einen ATMEL AT89C2051-24PU (DIP-20) Mikrocontroller, 3-V-Batterie, 17 LEDs (12 für Chase, 3 für Rotation, 2 für Beschleunigungs-/Verringerungsanzeige), 1 Schalter, 1 Piezo. Die LEDs laufen mit den programmierten Geschwindigkeiten und Takten 1 Umdrehung, die von einer einzelnen LED mitgeteilt werden, 3 Umdrehungen insgesamt. Beginn der Drehung durch Piezo und am Ende gemeldet. Wie kann ich das machen, kann ich in den Mikrocontroller programmieren oder brauche ich einen oder zwei andere?
Ich bin ein Neuling.
Danke
Sie sagten, dass Sie ein Anfänger sind. Haben Sie Erfahrung mit C- oder Assembler-Programmierung? Soweit Ihre Frage betrifft, ist Ihre Programmanforderung nicht einfach.
Ich werde Sie jedoch führen.
Sie können Ihre Arbeit mit nur einem Mikrocontroller erledigen, aber Sie benötigen dafür eine Multiplexing-Technik, da Ihr beschriebener Controller 15 I/Os hat und Sie 17 LEDs, 1 Druckknopfschalter und 1 Summer anschließen.
Für Summer wird ein Ausgang benötigt. Für Taster ist ein Eingang erforderlich. Für 3 Rotations-LEDs und 2 Speed-LEDs benötigen Sie 5 Ausgänge. Für 12 LEDs können Sie alle 12 LEDs im 4x3-Format anschließen, 12 LEDs in 4 Reihen und 3 Spalten, was 7 Ausgänge verbraucht.
Insgesamt werden also 14 I/Os verbraucht, 1 ist noch frei.
Ich bin davon ausgegangen, dass Sie über Grundkenntnisse in der Mikrocontroller-Programmierung und allen Registern verfügen.
Sie müssen Ihr Programm in modularer Form erstellen (Modul: kleines oder großes Programm) und sie nach ihrem Funktionsnamen benennen, jede Funktion hat ihr eigenes Modul. Angenommen, der Name des LED-Chaser-Funktionsmoduls kann LED_Chaseer oder LED_Chase sein.
Machen Sie ein Modul für die Timer-Funktion und eines für die Schalter- und Summerfunktion.
EINE Timer-Interrupt-Funktion, bei der Sie alle LEDs ansteuern.
Eine Hauptfunktion ist offensichtlich für den kontinuierlichen Betrieb erforderlich. In dieser MAIN-Funktion müssen Sie zuerst die Schaltfunktion lesen als den Timer starten, indem Sie der Timer-Funktion einen Wert senden. Bei jedem Timer unterbrechen Sie die Laufwerks-LEDs, wie Sie möchten. und dann erhöhen oder verringern Sie den Zeitgeberwert für die visuelle Änderung der LED.
Auf diese Weise können Sie Ihre Ergebnisse erhalten.
Wünsche dir viel Glück
stevenvh
Herr Männer
m.Alin
Raketenmagnet
Raketenmagnet
Herr Männer
m.Alin
Herr Männer
Oli Glaser
Oli Glaser
Oli Glaser
Herr Männer
Herr Männer
m.Alin
Herr Männer