Anfänger/AVR mega32/Multiplexer 4051
Hallo Leute,
tolles Forum hier! Bin begeistert über so viel Information in deutscher Sprache...ist halt doch leichter zu lesen und zu verstehen... O:)
Ich möchte mir einen mega32 Programmieren und dabei ein bestehendes Projekt auf Basis eines PIC umstricken.
Bevor ich jedoch Geld in Board, Controller und Bascom stecke, läst mich eine Frage nicht los die ich gerne vorher geklärt hätte.
Würde mich sehr freuen wenn mir jemand von Euch weiter helfen könnten!
Problem:
8 analoge Inputs auf 32 aufbohren.
(geht ganz offensichtlich über den o.g. Multiplexer 4051 (4 Stück davon)).
Ich habe so eine Musterplatine und auch die Pin-Belegung für einem PIC18F452.
Meine Frage:
Kann ich die Port (analog) des mega32 ebefalls multiplexen?
Wenn ja, wie frage ich die 32 Ports dann in Bascom ab?
Wo müssen Adress-Leitungen usw. hin?
Ein kleines Muster wäre sehr hilfreich.
Es muss kein komplettes Konzept sein - um Himmels Willen!
Ich freue mich auch schon über ein paar kleine Schnipel die mich auf den richtigen Weg bringen!
Viele Dank an alle und sorry für so eine (Anfänger)-Frage!
Bin mit Sicherheit ab sofort öfter hier und hoffe auch einmal etwas zum Erfahrungsschatz hier beitragen zu können...O:)
Codejoker
Edit: korrektur
ATmega32 + 4051 Multiplexer
Kann mir denn wirklich niemand helfen ???
Ich müsste lediglich wissen wie ich eine (oder mehrere) 4051 an einen
ATmega32 schalte und die Ports dann Abfrage.
Kleiner Tipp vielleicht?
Gruß
codejoker
Liste der Anhänge anzeigen (Anzahl: 2)
Zum Gucken stell' ich mal Teile der Schaltungen rein. Einiges davon ginge wahrscheinlich einfacher und eleganter (was die Vorverstärker betrifft) aber da ich keine Fehlschläge brauchen kann (muß beim ersten Mal gleich funzen), bin ich sehr konventionell und brav geblieben.
Beim Board sind Tasten und display wegen der Einbau-Art nicht erwünscht, also hab' ich aber doch (obwohl nicht verlangt) eine MIDI Input Schnittstelle vorgesehen, um über Sequencer und Komputer und Sysex oder so Kontrollmöglichkeiten zu haben.
Und nur zum Entwickeln und Testen hab ich auch einen MAX für ein RS232 Interface drinnen (Jumper MIDI od. RS2323), weil das einfach praktischer ist.
Liste der Anhänge anzeigen (Anzahl: 1)
5 mS ? mhhh, wenn ich das auf einem Delay-Kistel einstelle, hab ich einen ganz leichten double-effekt. Nun, gut
Erläuterung: Wenn ein Trigger schnackelt, passiert folgendes: er lädt je nach Stärke eine Kondensator, löst aber auch schon mit dem geringsten Pegel den Trigger aus, der mit zwei Dioden getrennt ein Signal auf ein X -Port und ein Y Port legt.
X u. Y gehen umschaltbar beide auf PC0..PC7 (schalter sind PD6 u. PD7)
Im Programm schalt ich die ..244 auf X und schau, ob was kommt (serielle Bit-abfrage).
Kommt was, schalte ich auf Y und frage da die Bits ab. Dadurch weiß ich genau die adresse von dem Trigger, stelle die auf den ADC u. 4051 ein und messe den Pegel.
Die Adresse mappe ich auf Tonhöhe, den Pegel auf Velocity. Dann schau ich in der Key Tabelle, ob die Taste schon aktiv ist. Wenn ja, quetsche ich ein NOTE-OFF rein, sonst eben nur ein NOTE-ON.
Dann schau ich mir die Bits oben weiter an.
Zwischendurch gehe ich in die Tabelle, zähle die Zeit der Töne, und wenn sie abgelaufen ist, NOTE-OFF
Eine Tabellen- und Bitabfrage-Wurstlerei halt.
Anfangen tu ich mal mit BasCom mit ein wenig inline Assembler, wenn es eng wird.
Zum ein- aus- und umbauen ist der BasCom ideal.
Dazu kommt als parameter die Grundstimmung und +- (das übliche)
Eben auch die Duration (Tonlänge, denn eventuell will er mit dem Hackbrett dann auch strings oder sonstwas spielen)
Die 4051 sind auf jeder Vorverstärker (8 Trigger) platine einer drauf.
d.h auf der Hauptplatine ist jedem 16-er stecker ein ADC vom Mega32 zugeordnet.
select von 4051 geht über PB0..PB2 (3 stück, enable is fix )
Anbei noch eine der 8 Preamp Platinen