PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastenentprellung mit Bascom



milisan
21.11.2004, 01:47
Hallo,
ich habe an mein Elektor-Flashboard(AT89S8252) ein einfaches Tastenfeld an P3 angeschlossen.
mit den Debounce Befehl wird bei Tastendruck nur ein reset des MC ausgeführt.
Auch eine eigene Routine
hilft nicht viel:


While P3.0 = 0
I = I + 1
Wend
If I >= 100000 Then Taste = 1:i=0
oder
If P3.3 = 0 Then
Waitms 500
If P3.3 = 0 Then Taste = 1
End If

funktionieren nicht richtig
Was mache ich falsch?
Danke für eure Antworten

Javik
21.11.2004, 11:10
Muss es nicht Portc.0 heißen ?!
Javik

Patrick Fischer
21.11.2004, 11:59
Hallo,
also ich glaube P3 und Portc bezeichnen das selbe.
Der MC erkennt die Portzustände, setzt aber die Variable Taste nicht immer gleich.
Habe ein LCD angeschlossen und wollte mal ein einfaches Menu aufbauen.
Entweder springt er gar nicht oder viel zuschnell (manchmal aber auch beides) durch das Menu
Vielen Dank
Patrick

andysafe
22.11.2004, 09:59
Also ich habe das Problem so in den Griff bekommen in dem ich das Programm am Ende der Tastenerkennungsroutine, vor dem Rücksprung , ihn 100ms warten laße (WAITMS 100). Damit hat es funktioniert

MfG Andreas

RCO
22.11.2004, 10:09
Wenn es ein Eingang ist, muss es aber Pinc.3 und nicht portc.3 heißen, meine ich.
Hatte selber schonmal ein Problem damit.

dl1akp
23.11.2004, 07:06
Hallo,

Hatte auch schon mal den Fall, das das Prog in unregelmäßigen Abständen durch den Debounce Befehl abgestürzt ist.

Hab die Entprellung dann immer hardwäremäßig gelöst, und hat bisher immer 100% ohne Fehler funktioniert:

Vom Pin ein Widerstand 4k7 nach +5V, parallel dazu ein Keramik-C 100nF. Taster schaltet nach Masse.

Tschau, Andreas