- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 11

Thema: mit dip schalter PORTD 0-1-2-3 Abfragen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.09.2020
    Beiträge
    11
    Ich stehe gerade vor einem ähnlichen Problem. Gibt es schon eine Lösung Der Bastler?

  2. #2
    Benutzer Stammmitglied Avatar von Der bastler
    Registriert seit
    09.05.2011
    Ort
    Langenhorn, Hamburg, Germany, Germany
    Beiträge
    72
    Blog-Einträge
    1
    Zitat Zitat von Robzilla Beitrag anzeigen
    Ich stehe gerade vor einem ähnlichen Problem. Gibt es schon eine Lösung Der Bastler?
    Ja Moin Robzilla

    Ich habe es Ausprobiert mit einen ATtin2313 und 4 eingänge
    PORTD0 bis 3 als eingang genommen
    PORTB0 Bis 7 Led als ausgänge genommen

    Hier ein ausschnitt von mein programm
    Code:
    im Kodierschalter As Byte
    Dim B As Byte
    
    Declare Sub Prog_0
    Declare Sub Prog_1
    Declare Sub Prog_2
    Declare Sub Prog_3
    Declare Sub Prog_4
    Declare Sub Prog_5
    Declare Sub Prog_6
    Declare Sub Prog_7
    Declare Sub Prog_8
    Declare Sub Prog_9
    Declare Sub Prog_10
    Declare Sub Prog_11
    Declare Sub Prog_12
    Declare Sub Prog_13
    Declare Sub Prog_14
    Declare Sub Fehler
    
    
    Do
    Kodierschalter = Pind And &B0000_1111
    Select Case Kodierschalter
      Case 0 : Gosub Prog_0                                     'LEER
      Case 1 : Gosub Prog_1                                     'LEER
      Case 2 : Gosub Prog_2                                     'LEER
      Case 3 : Gosub Prog_3                                     'PORTD.0 und PORTD.1 = LICHT
      Case 4 : Gosub Prog_4                                     'LEER
      Case 5 : Gosub Prog_5                                     'LEER
      Case 6 : Gosub Prog_6                                     'PORTD.0 und PORTD.3 = LED TEST
      Case 7 : Gosub Prog_7                                     'PORTD.3 = FEIL LINKS
      Case 8 : Gosub Prog_8                                     'LEER
      Case 9 : Gosub Prog_9                                     'LEER
      Case 10 : Gosub Prog_10                                   'LEER
      Case 11 : Gosub Prog_11                                   'PORTD.2 = FEIL RECHTS
      Case 12 : Gosub Prog_12                                   'LEER
      Case 13 : Gosub Prog_13                                   'PORTD.1 = KTEUTZ
      Case 14 : Gosub Prog_14                                   'PORTD.0 = LEER LASSEN Weil Platine keine led hat
      Case Else : Gosub Fehler                                  'Ohne Funktion
    End Select
    Loop
    Hier werden wenn ich richtig liege, 15 Programme gebraucht und wenn du siehst welchen
    Prog_xx Welcher Port liegt. wenn ich richtig erklärt habe...

    Den es wird nicht nur Portd >Taster< Gnd
    Sondern auch
    Portd > Taster< 5V+ ausgwertet

    Hier kannst du es auch noch mal lesen--->
    Hallo bastler,

    mit drei Dipschaltern, kann man 2^3=8 binäre Kombinationen einstellen.
    1. 000
    2. 001
    3. 010
    4. 011
    5. 100
    6. 101
    7. 110
    8. 111

    Dezimal sind das die Zahlen von 0 bis 7. Deshalb würde ich die Dipschalter an einen Port des µCs, beginnend mit Portpin 0, anschließen. Durch kann man die Schalter recht einfach abfragen und mit der SELECT-CASE Anweisung weiterverarbeiten.

    Im Code werden durch "and &B0000_0111" nur die Zustände der Dipschalter an PINB.0, PINB.1 und PINB.2 in die Variable Kodierschalter übernommen und Bit 3 bis Bit 7 in Kodierschalter auf 0 gesetzt.

    Danach einfach mit SELECT-CASE die Unterprogramme anspringen.

    Code:

    Dim Kodierschalter As Byte

    Kodierschalter = PINB And &B0000_0111

    Select Case Kodierschalter
    Case 0 : Gosub Prog_0
    Case 1 : Gosub Prog_1
    Case 2 : Gosub Prog_2
    ' Case 3 : Gosub Prog_3
    ' Case 4 : Gosub Prog_4
    Case 7 : Gosub Testlauf
    ' Case Else: gosub xy
    End Select


    Gruß
    Searcher

Ähnliche Themen

  1. ATTiny13A Schalter abfragen/entprellung mit Variablen
    Von Denn Is im Forum C - Programmierung (GCC u.a.)
    Antworten: 19
    Letzter Beitrag: 01.07.2014, 11:21
  2. Kann Schalter nicht abfragen
    Von Icon2k im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 30.07.2010, 17:51
  3. portd.0 und portd.1
    Von Carlos31 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 07.12.2008, 14:22
  4. portd.5 toggeln mit 6 herz
    Von sechsrad im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 06.02.2008, 18:24
  5. Problem mit PortD
    Von bader357 im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 14.10.2007, 18:45

Berechtigungen

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

Labornetzteil AliExpress