-         

Ergebnis 1 bis 5 von 5

Thema: Externer 16-Bit Zähler

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.12.2007
    Beiträge
    18

    Externer 16-Bit Zähler

    Anzeige

    Hallo Zusammen,
    ich habe 2 externe 16-Bit Zähler, welche ich mit dem Atmel auslesen möchte und auf dem LCD Display ausgeben möchte.

    Dazu ist soll jeder einzelne Bit einem Pin zugeordnet werden, diesen als INPUT mit Bascom auslesen. Jetzt hat man die 16 einzelnen Bits des Zählers.
    Diese sollen dann in eine Zahl umgewandelt werden und auf dem Display angezeigt werden.

    Meine Frage, wie kann ich aus den 16 einzelnen Bits eine Zahl generieren.
    Gibt es in Bascom schon fertige Routinen dafür ?

    Vielleicht hat jemand ja auch eine bessere Idee

    Vielen Dank im vorraus

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    43
    Beiträge
    377

    Re: Externer 16-Bit Zähler

    Zitat Zitat von AVRbrauns
    Meine Frage, wie kann ich aus den 16 einzelnen Bits eine Zahl generieren.
    Hallo AVRbrauns!

    ungetestet:
    Code:
    dim my_wordvar as word
    dim my_word_overlay(16) as bit on my_wordvar overlay
    
    my_word_overlay(1) = 0
    my_word_overlay(2) = 1
    ...
    my_word_overlay(15) = 1
    my_word_overlay(16) = 1
    
    print my_wordvar ' sollte 16387 ergeben
    mfg
    Gerold
    :-)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.12.2007
    Beiträge
    18
    Das heißt für mich so viel wie:

    Code:
    dim y as word
    dim y_overlay(16) as bit on y overlay
    
    y_overlay(1) = pinl.0
    y_overlay(2) = pinl.1
    ...
    y_overlay(16) = pind.7

    Sehe ich das richtig ?
    Weil bei mir bringt er jetzt einen compiler error mit Illegal character [on]

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.12.2007
    Beiträge
    18
    Okay, mit folgender Zeile gehts

    Code:
    Dim Y_overlay(16) As Word At Y Overlay

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo,
    ich verwende zwar auch gerne Overlays, scheint mir hier aber fehl am Platze.

    Mach einfach
    Code:
    Dim Y As Word
    
    Y=PinD
    Shift Y, Left, 8
    Y=Y+PinL
    
    'oder noch einfacher
    
    Y=Makeint(PinL,PinD)
    Gruß

    Rolf

Berechtigungen

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