-
-
portpins abfragen und am LCD ausgeben
Hallo!
ich habe ein problem.
ich möchte die portpins abfragen, und den ergebnis als dezimalzahl auf dem LCD ausgeben.
wenn zum Beispiel am PA0 high pegel anliegt, soll das LCD "1" ausgeben.
PA1 - 2 ; PA0+PA1 - "3" ; PA2 - 4.....
wie man merkt ist das ein Binäncode.
kann mir einer ein Programmausschnitt posten?
also nur das, was mein prob. betrifft. alles zum LCD weiss ich schon
Danke
-
Erfahrener Benutzer
Roboter Genie
Wo ist das Problem? Ich sprech zwar kein Basic, aber wenn du weißt, wie man Zahlen ans LCD schreibt, dann musst du doch lediglich das Register für den Port nehmen und in die entsprechenden Ascii Zeichen umwandeln, oder?
(Also, dass ist doch deine Frage, oder?)
In C gibts ne Einfache Funktion die Zahlen in ihre Ascii-Pendants umwandelt. Mal danach Googlen und oder warten, bis das hier jmd postet. Das müsste es ja auch in Basic geben.
mfg
Andun
www.subms.de
Aktuell: Flaschcraft Funkboard - Informationssammlung
-
das problem ist eher die "UND"-verknüpfung...
also wenn PA0 und PA1 high-pegel haben, soll LCD eine "3" ausgeben.
-
Erfahrener Benutzer
Roboter Genie
Da brauchst du nix zu verknüpfen.
Gib einfach
LCD pina
aus und schon haste den kompletten Port dezimal auf dem Display.
Gruß
Rolf
-
> LCD pina
und was wird das?
Gruss Thomas
-
Erfahrener Benutzer
Roboter Genie
Was meinst du mit
"und was wird das?"
Gruß
Rolf
-
so, ich baue mal die Schaltung auf.
probiere die mal aus, dann melde ich mich noch mal.
@ Rolf
was bekomme ich denn genau angezeigt?
Danke
-
Erfahrener Benutzer
Roboter Genie
Na ja, der Port ist 8 bit breit was dezimal von 0 bis 255 geht.
Diese Zahl wird ausgegeben.
Wenn du nicht alle Pins des Ports brauchst, dann musst du dir die gefragten erst über
Dim Pa_dez As Byte
Pa_dez=Pina And &B00110011
LCD Pa_dez
besorgen. Hier würde Pina.0, Pina.1, Pina.4 und Pina.5 dezimal ausgegeben.
Gruß
Rolf
-
@ Rolf
Das ist eine grosse Hilfe von dir!!!
was bedeutet denn genau diese Zeile : Pa_dez=Pina And &B00110011?
also ich möchte 3 Ports benutzen, jeweils 4 erste Pins. z.B. Pina.0 bis Pina.3 ; Pinc.0 bis Pinc.3 und Pind.0 bis Pind.3
µC ist ein AtMega16. am Port B ist lcd.
-
Hallo!
also ich bin ein Stück weiter gekommen.
Jetzt stecke ich leider fest.
Das problem liegt wahrscheinlich an Syntax.
alle wissen wahrscheinlich, was dieser Code machen soll, aber ich bekomme ein Paar Fehler von dem Compiler.
was mache ich falsch?
Schalter1 Alias Pina.0
Schalter2 Alias Pina.1
Schalter3 Alias Pina.2
Schalter4 Alias Pina.3
Config Pina.0 = Input
Config Pina.1 = Input
Config Pina.2 = Input
Config Pina.3 = Input
Do
Cls
If Schalter1 = 1
And
Schalter2 = 1 Then
Lcd "3"
Else
Lcd "0"
End If
Waitms 100
Loop
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen