Hallo zusammen, habe ein kleines Problem. Will gerne eine "astabile Kippschaltung" die in der Frequenz einstellbar ist mit einem PIC12F683 realisieren habe jedoch vom programmieren von PIC keine Ahnung. Die Funktion soll folgendes beinhalten: Durch Tastendruck soll am Ausgang des PIC's ein Takt mit bestimmter Frequenz ausgeben werden, der dann die Basis am Transistor ansteuert. Des Weiteren soll die Frequenz von außen einstellbar sein (durch Pulsen der Diode soll das hochtakten in der Frequenz symbolisiert werden). Hat vielleicht jemand ein ähnliches Programm. Habe es im mom. mit einem Timer 555 realisiert, würde jedoch gerne den PIc anwenden. Im Voraus schon mal Danke. MfG
Ist das so schwer? Hier mal was in Basic. Geht von ?0?Hz bis 500Hz dim Zähler as integer dim Schleife as integer Main: if portb.0 = 1 then 'Taste gedrückt. Zähler = Zähler +1 'Zählerwert erhöhen end if if ((portb.1 = 1) and (Zähler > 0))then 'Taste gedrückt. Zähler = Zähler -1 'Zählerwert erhöhen end if Portb.3 = 1 'Ausgang aug High setzen Schleife = Zähler Do Delay_MS(1) dec Schleife Loop until Schleife = 0 Portb = 0 'Ausgang aug LOW setzen Schleife = Zähler Do Delay_MS(1) dec Schleife Loop until Schleife = 0 goto Main
Hey Racer, nenn mir doch mal deine Tel-Nr oder deine Emailadresse..... ...dann kann dir sicherlich geholfen werder. Gruß
Das ging ja schnell. Hallo Leute wuste nicht, daß es auch in C geht. Habe etwas C++ kenntnisse. Muss der PIC auch noch initialisiert werden? Danke für die schnelle Antwort. Was brauche ich alles, um den Pic zu Flashen? Mail: PRosalka@aol.com MfG
Es soll jedoch die Frequenz nicht erhöhen sondern bei einer Frequenz wie eben eine "astabile Kippstufe" Takten. Es soll nur von ausßen steuerbar sein. Z.B. Schaltung läuft mit 30Hz durch Impulse von ausßen soll es möglich sein diese in xxHz Schritten zu erhöhen.
Das ist Basic und kein C !!! Logischerweise muss die Konfig für die Pins, die Interrupts, der Watchdogtimer,... noch dazugebastelt werden. Stell mal die Schaltung ein, und ein erwünschtes Timingdiagram. Dann können wir die Arbeit (für die du vielleicht sogar bezahlt wirds) für dich erledigen. astabile Kippstufe heisst folgendes: Ein 1 Sekunde pause Aus 1 Sekunde pause Ein 1 Sekunde pause Aus 1 Sekunde pause Ein 1 Sekunde pause Aus 1 Sekunde pause Ein 1 Sekunde pause Aus 1 Sekunde pause usw. Wie du siehst ist die Frequenz (1/ 2 * 1) in diesem Beispiel 0,5Hz. Gibt es auch wirklich Unterlagen dazu: http://de.wikipedia.org/wiki/Multivibrator
Nein bezahlt werde ich für nicht. Ist für eine private Anwendung. Will bei einem PS3-Controller eine Taste als Takt an den µC weitergeben. ;-)
Würdest du bei einer privaten Blinddarmoperation ebenso vorgehen? OK. Dein Problem ist nicht so schwer zu realisieren, ganz im Gegenteil. Aber ein wenig Eigeninitiative musst du schon selbst aufbringen. Sich hinzustellen und zu sagen: "Ich will das und das bauen, bitte macht das für mich" ist für viele hier mitlerweile zu wenig. Zumal es Menschen gibt, die viel Zeit investiert haben, um so etwas zu lernen und jetzt damit ihre Brötchen verdienen. Zumindest die absoluten Grundlagen kannst du dir auch leicht selber ergoogeln. Noch nie in der Geschichte der Menschheit war es so einfach an Informationen zu kommen.
Ist ja nicht so, dass ich es nicht versucht habe. Kenn mich nur mit HW aus, habe das Problem auch mit dem 555 Timer gelöst, jedoch ist die Lösung mit dem PIC viel eleganter und dazu noch platzsparender. Werde mir jetzt erstmal ein Adapter bauen, um den PIC über RS232 Flashen zu können. SW ist ein Thema für sich einigen liegt es anderen nicht. Habe oft versucht mich da einzuarbeiten aber....
Sehe ich das richtig. Wenn einmal ein Eingang kommt, dann soll X mal der Ausgang getaktet werden? dim Zähler as integer Main: if portb.0 = 1 then 'Taste gedrückt. for Zähler = 0 to 30 'Ausgang 30 mal togglen Portb.3 = 1 delay_ms(15) Portb.3 = 0 delay_ms(15) next Zähler do 'Warten bis Taste wieder losgelassen NOP loop until portb.0 = 0 end if goto Main 'Wieder von vorne
Fred Ram schrieb: > Sehe ich das richtig. Wenn einmal ein Eingang kommt, dann soll X mal der > Ausgang getaktet werden? Ich hab das eigentlich anders verstanden Er möchte im Prinzip einen Frequenzgenerator, dessen Frequenz er mit 2 Tasten rauf/runter drehen kann. IM Prinzip Endlosschleife PortPin = 1 Warte( x ) PortPin = 0; Warte( x ) Ende Endlosschleife und mittels Tasten wird der Wert von x verändert. Ohne Tasten ist das mehr oder weniger das 3te oder 4te Übungsbeispiel, dass sich jeder Anfänger selber stellt. Gleich nach: Ich will eine LED einschalten; Ich will eine LED ausschalten; Und jetzt soll es blinken sein. Die Einstellung der Blinkfrequenz über Taster ist dann die Draufgabe im Blinkprogramm, gleich nachdem man den Unterschied zwischen Aktion ausführen, solange eine Taste gedrückt ist und Aktion ausführen, wenn eine Taste gedrückt wird verinnerlicht hat. Aber summa summarum besteht das Programm nur aus Dingen, die in den ersten paar selbstgewählten Übungsbeispielen sowieso vorkommen und die ein interessierter Anfänger aus Spass an der Freude sowieso "just for Fun" ausprobiert.
Also wie ich ganz oben geschriebenn habe. Wer lesen kann ist im Vorteil ;-)
Nein kein Frequenzgenerator. Wirklich ein reines FlipFlop. Durch eine Taste aktiviert, wird am Ausgang zwischen Signal ein Signal aus geschaltet mit einer definierter Frequenz. Mit der zweiten Taste soll man den PIC auf eine andere Frequenz einstellen können.
Werde mir mal einiege Besispiel in meinem C++ Buch anschauen ist schon länger her als ich es gelesen habe.
Racer78 schrieb: > Nein kein Frequenzgenerator. Wirklich ein reines FlipFlop. Durch eine > Taste aktiviert, wird am Ausgang zwischen Signal ein Signal aus > geschaltet mit einer definierter Frequenz. Ah, ok. Das ist für mich im Ausgangsposting noch nicht so wirklich rübergekommen. Dann ist es eben nicht das 4te Selbstgewählte Übungsbeispiel sondern das 6te oder 7te. Dazwischen kommt noch: Mit einer Taste eine LED ein/ausschalten. Ob das dann benutzt wird um eine LED ein/aus zu schalten, oder um den Programmteil "Port ein/warten/Port aus/warten" zu überspringen wenn eine Variable 1 ist und diese variable von der Taste von 1 auf 0 und umgekehrt geschaltet wird, ist eine ziemlich naheliegende Erweiterung und sollte zu keinerlei Problemen führen.
Mit PICs bist Du hier zwar nicht ganz falsch, aber eine gute Einführung in die PIC-Programmierung findest Du eher unter http://www.sprut.de/electronic/
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.