Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > > > Hallo Bernd, > > > > > > ganz richtig, > > > was ich brauche, sind zwei Signale(Portausgänge). Wenn ein Port GND hat, soll der andere 5V > > > ausgeben, dann soll umgeschaltet werden, so daß der erste von GND auf 5V schaltet und > > > der zweite von 5V auf GND. > > > Bei gleicher Umschaltzeit der Ports von GND zu 5V und wieder zu GND, erhält man symmetrische > > > gegenläufige Signale mit einer Differenzamplitide von stetig 5 V. > > > In Assembler programmiert (z.B. OpenMikro), sind das maximal 12 Takte bei absolut symmetrischen, > > > gegenläufigen Signalen (mit stetig 5 V Differenz) für eine Periode (POrt1 OFF,ON; Port2On/OFF). > > > Mit einer For...Next Schleife ist so etwas kaum ohne Kenntnis der Dauer der einzelnen Befehle zu > > > programmieren. Deshalb die Schleife mit den "Dummy-haft" aussehenden mittlerem GOTO-Befehl. > > > Wie ich aber schon sehe, habe ich mit der Mega32 keine Chance überhaupt in die Geschwindig- > > > keitsbereiche der OpenMikro/Mini zu gelangen, da (derzeit) die Mega32 zwar eine höhere Takt- > > > rate hat, aber durch die "Closed"-Struktur eine Assemblerprogrammierung in weiter Ferne liegt... > > > > > > Gruß, Gerhard > > > > > > > > > Hallo Gerhard! > > > > Du brauchst also ein symetrisches Signal von 5V und etwas mehr als 1 Mhz, aber anscheinend einen > > definierten beginn (zB Leitung a beginnt mit 5V). > > Da du aber wohl nie beide Leitungen auf H bzw. L zu liegen haben willst, denke über > > die Benutzung von nur einem Port und einem negator nach. das entlastet die > > Programmierung auch noch mal. Das eine Port wäre dann immer die > > definierte Startleitung und du könntest die Zeit für den 2. Portbefehl für die pulsbreite ausnutzen. > > Übrigens du bekommst mit keiner Programmierung es so hin, das die 2. Leitung genau dann > > umschaltet wenn die 1. umschaltet. somit hast du selbst bei Assembler > > für mid. 2 Takte den gleichen Pegel auf beiden Leitungen. > > > > Gruß Bernd > > > > Bin nur unter der Woche im Netz > > Hallo Bernd, > In Assembler kannst Du mit einem simplen Programm alles komfortabel schalten: > 1. Schritt: den ganzen Port auf Ausgang > 2.Schritt:Belegung des Ports mit einer 01 Folge: z.B.:Port=01010101 > (mit bset und bclr-Befehlen) > Nun kommt die Routine > Label1: > asl Port ;schiebt die Bits um eine Stelle nach links Port=10101010 > ;dauert 4 Takte > jmp Label2 ;Dauer 2 Takte > Label2: > asr Port ; schiebt die Bits um eine Stelle nach rechts: Port=11010101 > ; dauert 4 Takte > jmp Label1 ;dauert 2 Takte > (also ganz symmetrische Kennlinien: Immer wenn die Pins 0,2,4,6 auf 5V sind, > dann sind die Pins 1,3,5,7 auf GND - und umgekehrt...) > > Mit 12 Takten hast Du eine Routine im 300 kHz-Bereich (open-Micro), > Durch Einführung von Wartebefehlen (nop), kannst Du die Zeitdauer verändern. > Könnte man die Pro in Assembler bearbeiten, sollten auf Grund der höheren > Taktrate, MHz-Geschwindigkeiten erreichbar sein > ... aber Assembler und Mega-Pro is nich... > (aber Elektor bietet dies wohl alles auf 16Bit-Basis als Zugabe für zwei Hefte an...) > > Gruß, Gerhard