www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik BASCOM-Einsteiger --> Bin-Zahl an Port ausgeben


Autor: Sven Scholz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
--> BASCOM-AVR

Hallo,

ich würde ganz gerne den Wert der Variable Minute (Byte) über den Port.B 
meines ATMEGA8 ausgeben. Der Port steuert einfache LEDs, die mir den 
Wert dann also in binärer Form darstellen.
Geht das zum Beispiel so für den Wert 100?

Dim Minute As Byte
Minute = Bin(100)

Portb.0 = Minute.0
Portb.1 = Minute.1
Portb.2 = Minute.2
Portb.3 = Minute.3
Portb.4 = Minute.4
Portb.5 = Minute.5

Die Dezimale Zahl werde ich ja bestimmt vorher Konvertieren müssen mit 
Bin() oder?

Vielen DANK.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Simulator ist Dein Freund :-) Das Byte speichert Werte von 0 bis 255 
-> von gar keine bis alle LEDs AN. Den Port als Ausgang definieren Du 
auch mußt..

Autor: Sven Scholz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist mir schon klar...
Hast du vielleicht ein konkretes Codebeispiel für mich?
Was ist mit dem obigen Code? Ist das NONSENSE?

DANKE.

Autor: Bucho (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Config Portb = output
Minute=100
Portb = Minute

Dann erscheint an Portb die Zahl 100 in binärer Form.

Autor: Sven Scholz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr schön das funktioniert ja tatsächlich...

Wie schaffe ich es nun, dass die 100 nicht an Port.B sondern die 8 Bit 
über individuell zusammengestellte Pins etwa B4, B5, B6, B7, C0, C1, D0, 
D1 ausgegeben werden?

Vielen Dank schon einmal.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sven Scholz (Gast)

>Wie schaffe ich es nun, dass die 100 nicht an Port.B sondern die 8 Bit
>über individuell zusammengestellte Pins etwa B4, B5, B6, B7, C0, C1, D0,
>D1 ausgegeben werden?

Das musst du ausdekodieren. Etwa so (Syntax ohne Gewähr, bin kein 
BASCOMer)

if (Minute.0=1) then portb.3 = 1 else portb.3=0

MFG
Falk

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
z,B. so:

Config Portb = output
Config Portc = output
Config Portd = output
Minute=100
Portb.4 = Minute.0
Portb.5 = Minute.1
Portb.6 = Minute.2
Portb.7 = Minute.3
Portc.0 = Minute.4
Portc.1 = Minute.5
Portd.0 = Minute.6
Portd.1 = Minute.7

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.