PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : interne pull up widerstand/ probleme mit der tasten abfrage



Asuro91
05.06.2010, 21:47
hi leute

ich hab mal wieder mit ner einfachen sache probleme. Ich hab mir ne Platine für en tacho den ich gerade bau geätzt und hab da jetzt drei taster bei denen ich die internen pull up widerstände nutze. Dann hab ich zum test ob alles geht eine einfach Abfrage geschrieben, in der immer wenn eine taste gedrückt is, mit schrift angezeigtl. Das problem ist das ohne das ich was drücke das display immer anzeigt das immer abwechselnt alle Tasten gedrückt werden obwohl ich noch nichts gemacht hab. Kann des an den internen widerständen liegen, dass der da nicht immer en richtigen Pegel hat??

danke schon mal für eure hilfe



$regfile = "m32def.dat" 'für Mega32
$crystal = 16000000 'für 16MHz Quarz

Config Pinc.5 = Input
Menue_taster_l Alias Pinc.5


Config Pina.7 = Input
Menue_taster_r Alias Pina.7

Config Pinc.6 = Input
Menue_taster_reset Alias Pinc.6

Menue_taster_l = 1
Menue_taster_r = 1
Menue_taster_reset = 1

Config Lcd = 20 * 4
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Porta.3 , Db6 = Portc.2 , Db7 = Porta.4 , E = Porta.2 , Rs = Portc.0
Config Lcdbus = 4
Cls
Waitms 10
Initlcd
Waitms 10
Cls
Main:
Locate 1 , 1
Lcd "Hallo Dies Ist Ein Test"
Do
If Menue_taster_l = 0 Then
Waitms 10
If Menue_taster_l = 0 Then

Cls
Locate 4 , 1
Lcd "Menue taste l"
Wait 5
Cls
End If
End If
If Menue_taster_r = 0 Then
Waitms 10
If Menue_taster_r = 0 Then

Cls
Locate 4 , 1
Lcd " Menue taster r"
Wait 5
Cls
End If
End If
If Menue_taster_reset = 0 Then
Waitms 10
If Menue_taster_reset = 0 Then

Cls
Locate 4 , 1
Lcd "Menue taster Reset"
Wait 5
Cls
End If
End If
loop
End

StefanHambur
05.06.2010, 21:54
Pullups werden mit
PORTx.y = 1 gesetzt.
Deine Aliase gehen auf PINx.y

Asuro91
05.06.2010, 22:02
hi
ich dachte input is mit pinx.y
.. so en misssssst ](*,)
danke funktoniert alles wie es soll
danke noch mal
lg micha

StefanHambur
06.06.2010, 02:07
Hallo Micha,

ist ja richtig:

Bei Input wird mit pinx.y abgefragt.
Deine Aliase sind daher mit Pinx.y auch völlig richtig.

Nur leider kann man diese Aliase dann nicht zum setzen der Pullup-Widerstände nehmen weil die Pullupwiderstände mit
PORTC.5=1
PORTC.5 =1
PORTA.7=1
gesetzt werden.

Gut wenn es jetzt klappt.
Stefan

Asuro91
06.06.2010, 14:36
jap danke noch mal