PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Externer 16-Bit Zähler



AVRbrauns
11.04.2008, 14:15
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

python_rocks
11.04.2008, 14:44
Meine Frage, wie kann ich aus den 16 einzelnen Bits eine Zahl generieren.
Hallo AVRbrauns!

ungetestet:

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
:-)

AVRbrauns
11.04.2008, 15:19
Das heißt für mich so viel wie:



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]

AVRbrauns
11.04.2008, 16:05
Okay, mit folgender Zeile gehts :-)


Dim Y_overlay(16) As Word At Y Overlay

for_ro
11.04.2008, 16:37
Hallo,
ich verwende zwar auch gerne Overlays, scheint mir hier aber fehl am Platze.

Mach einfach

Dim Y As Word

Y=PinD
Shift Y, Left, 8
Y=Y+PinL

'oder noch einfacher

Y=Makeint(PinL,PinD)

Gruß

Rolf