-         

Ergebnis 1 bis 5 von 5

Thema: interne pull up widerstand/ probleme mit der tasten abfrage

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96

    interne pull up widerstand/ probleme mit der tasten abfrage

    Anzeige

    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

    Code:
    $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

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    26.05.2008
    Beiträge
    6
    Pullups werden mit
    PORTx.y = 1 gesetzt.
    Deine Aliase gehen auf PINx.y

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    hi
    ich dachte input is mit pinx.y
    .. so en misssssst
    danke funktoniert alles wie es soll
    danke noch mal
    lg micha

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    26.05.2008
    Beiträge
    6
    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

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    23.07.2008
    Beiträge
    96
    jap danke noch mal

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •