Zur Zeit beschäftigt sich ein Klassenkamerad und ich mit der Realisierung eines sequentiellen Motorradschaltgetriebes. Die Ausgabe des Ganges erscheint auf einer Sieben-Segment-Anzeige. Die Gänge werden durch Taster runter bzw. hochgeschaltet. Der Quellcode hat sich zwar als richtig bewährt und die Schaltung funktioniert soweit nur hat die ganze Sache einen kleinen Schönheitsfehler: Wenn man den Taster zu lange betätigt (ich spreche hier von etwa einer halben sec.!), schaltet er die Gänge bis zum 6 rauf bzw. zum 1. runter, als ob die Schaltung einen Vorwärtszähler simuliert. Man kann zwar den Oszilator verstellen, so dass das Programm etwas verzögert wird, dies ändert jedoch nichts gravierendes daran. Daher meine Frage: Kann man den 16F84A so programmieren, dass ein Taster auch nach längerem drücken nur ein einziges High-Signal abgibt und nicht fortlaufend? Oder muss ich das Problem wo ganz anders beheben? Ich würde mich über eure Lösungsansätze freuen.
hast eine variable, in der immer der stand des pins zum letzten abruf steht. wenn dieser gleich dem aktuellen pinzustand ist: es hat sich nichts geändert - du musst nichts machen. wenn einer der beiden 0 und der andere 1 ist, so hat gerade jmd. die taste gedrückt oder losgelassen (jenachdem, welches der beiden 0 und welches 1 ist). Damit kriegst du das nur einmal ausgelöst und kannst deine taste stundenlang halten. aber wichtig: vergiss das entprellen des tasters nicht! gerd
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.