Vollständige Version anzeigen : Programmstart über Taster funzt nicht
Import-Script
05.01.2002, 14:03
Hallo Ihr da draussen, <BR> <BR>ich habe ein Problem. Es sollen 6 verschiedene Programme über entsprechende Taster gesetzt werden. Dazu habe die Portreihe P1.0 bis P1.7 mit LED's belegt und an die Portreihe P3.0 bis P3.6 Taster (Ausgang MC nach +5V). <BR>Wenn ich z.B. Taster P3.0 drücke, fängt das Programm für Ausgang P1.0 auch an zu arbeiten, stoppt aber unwillkürlich kurz darauf wieder. <BR> <BR>Kann man mir noch helfen? Was mache ich falsch? Hab ich die Taster falsch angeschlossen? Im Debugger läuft's wie's sein soll. <BR> <BR>Ich benutzte im Moment den 89C2051 und Prog-Studio. <BR> <BR>m.f.G. Holger
Import-Script
05.01.2002, 14:08
Warum schaltest du die Taster nicht nach Masse? Soweit ich weiß, haben die Ports, nen Pull-Up. Das heißt, das du immer einen H-Pegel ließt. Egal ob Taster gedrückt oder nicht.
Import-Script
05.01.2002, 17:30
Hab ich auch schon probiert, aber dann rührt sich gar nichts mehr.
Import-Script
05.01.2002, 17:36
Du musst das Programm natürlich entsprechend umschreiben
Import-Script
06.01.2002, 13:05
Hab ich ja getan. Aber ich habe jetzt herausgefunden, dass irgend etwas mit Portpin P3.6 anders sein muss als bei 0 bis 5, denn mit P3.5 klappt's. <BR>Zur Info hier das Proggi <BR><A HREF="http://www.dargatz-oh.de/temp/reizstrom.txt" TARGET="_top">http://www.dargatz-oh.de/temp/reizstrom.txt</A>
Import-Script
06.01.2002, 18:28
Hallo Holgi, <BR> <BR>der 2051 hat doch gar keinen Anschluß P3.6 ! <BR>Oder hast Du ihn aufgeschliffen und einen Draht parallel zum Ausgang des Komparators angebondet. <BR> <BR> <BR>Peter
Import-Script
06.01.2002, 18:59
OH, <BR> <BR>da habe ich mich wohl vertan. Ich meinte dann natürlich P3.7. Muss ich dann im Programm noch ändern. Wird ja dann wahrscheinlich funktionieren. <BR> <BR>Noch ein Punkt - ich glaube , das die Taster prellen, hat jemand eine Idee wie ich das über's Programm abfangen kann? <BR> <BR>Holgi
Import-Script
06.01.2002, 19:08
Ich mache das immer so, dass ich die gedrückte Taste in einer Schleife festhalte, bis sie wieder losgelassen wird: <BR> <BR> <BR>'Taster zieht p3.2 auf GND <BR> <BR>abfragen: <BR>JNB p3.2, ausführen <BR>JMP abfragen <BR> <BR>ausführen: <BR>(Befehle) <BR> <BR>schleife: <BR>JB p3.2, abfragen <BR>JMP schleife <BR> <BR> <BR>Vielleicht hat ja jemand eine noch bessere Lösung. Bin auch daran interessiert.
Import-Script
09.01.2002, 08:53
Hi! <BR>Ich entprelle Taster immer so: <BR> <BR>- Timer-Interrupt der alle 10ms aufgerufen wird <BR>- im Interrupt wird die Taste abgefragt,ob gedrückt ist <BR>- wenn sie gedrückt ist,wird ein counter erhöht <BR>- wenn nicht wird der counter 0 gesetzt <BR>- hat der counter einen gewissen Wert erreicht (z.B. 3 nach 30ms) wird die Taste ausgewertet (in nen FIFO geschrieben) <BR> <BR>mike
vBulletin® v3.6.8, Copyright ©2000-2010, Jelsoft Enterprises Ltd.