- LiTime Speicher und Akkus         
Ergebnis 1 bis 3 von 3

Thema: Port für Ein-Ausgabe teilen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35

    Port für Ein-Ausgabe teilen

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,
    ich wollte einen Port für Ein und Ausgabe teilen. Leider macht der Mega 8 nicht das was ich mir vorstelle. Es sollten 4 Bit für Ausgabe (zur Ansteuerung eines Multiplexer) und 4 Bit für eine Eigabe (BCD-Schalter) werden.
    wenn jemand meinen Fehler sieht und mir Antwortet währe ich sehr dankbar.
    Code:
    $regfile = "m8def.dat"                                      'ATmega8-Deklarationen
    $crystal = 8000000                                          'Quarz: 8,000 MHz intern
    
     Config Lcd = 16 * 1
     Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
     Config Lcdbus = 4
    
    Ddrd = &B00001111                                           'die unteren 4 bit auf ausgang die oberen 4 bit auf eingang
    Portd = &B11110000                                          'für die oberen 4 bit pullup einschalten
    Dim Ein As Byte
    Dim Schalter As Byte
    Dim Leuchte As Byte
    
    Cls
    
    Do
       Ein = Pind And &B11110000                                'es sollen nur die oberen 4 bit gelesen werden
       Shift Ein , Right                                        '4 mal nach rechts schieben
       Shift Ein , Right                                        'jetzt sollte eine zahl zwichen 0 und 15 in "ein" stehen
       Shift Ein , Right
       Shift Ein , Right
       Schalter = 15 - Ein
          Locate 1 , 1                                          'lcd nur zur kontrolle der zahlen
          Lcd " sch" ; Schalter
          Locate 2 , 1
          Lcd "ein" ; Ein
       Wait 1
       Cls
       Leuchte = Leuchte + 1
          If Leuchte = 16 Then Leuchte = 0
       Portd = Leuchte
    Loop
    End
    Gruß
    Rolf

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    wenn Du unten, in der vorletzten Zeile, den PortD setzt, sind die Pullups weg !
    Musst immer Or 240 machen.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    14.03.2006
    Beiträge
    35
    Danke das war´s.
    \/

    Im nachhinein war es doch sehr einfach, aber manschmal sehe ich den Wald vor lauter Bäume nicht.

    Also nochmals DANKE

    Gruß
    Rolf

Berechtigungen

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

LiFePO4 Speicher Test