4014 Schieberegister SDCC

Gast #138134
Hallo zusammen, ich versuche mich immer noch am 8051 in verbindung mit
dem SDCC. Nun möchte ich über ein 4014-Schieberegister Daten einlesen.
Die Daten liegen an den Paralellen Pinnen an.
Als ergebniss erhalte ich entwerder den Wert 0(Wenn kein Pin aktiviert
ist) oder den Wert 1 (irgendein Pin aktiviert ist)
Kann mir vieleicht jemand helfen? Hier der Source :


unsigned char w1,i;
  w1=0x00;
  P2_2 = 1;  // DATENOUTPUT

  P2_7 = 1;  // P/S\
  P2_6 = 0;  // CLK
  P2_6 = 1;  // CLK
  P2_7 = 0;  // P/S\


  for(i=0;i<8;i++)
  {

    P2_6 = 0;   // CLK
    w1 = w1 << 1; //um einen nach links Verschieben
    if(P2_2==0) //Portpin abfragen auf 0
    {
        w1 |=0;
    }
    else if(P2_2==1) //Portpin abfragen auf 0
    {
        w1 |=1;
    }
    P2_6 = 1;     // CLK



Wie gesagt am ende erhalte ich entweder nur eine 1 oder nur eine 0.
Eine 0 wenn komplett nichts anliegt und eine 1 wenn etwas (EGAL was)
anliegt.

Mfg und Thx

Marek

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.