-
        

Ergebnis 1 bis 5 von 5

Thema: Duales Darsellen eines Ports am LCD

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    40
    Beiträge
    51

    Duales Darsellen eines Ports am LCD

    Anzeige

    Hallo!
    Ich möchte gerne ein Port am LCD darsetellen, aber im DualSystem, so dass LCD-Anzeige "Port A= 00010000" zum Beispiel anzeigt. Wie kriege ich es hin?
    Ich konfiguriere PortA als Input, deklariere Variable X als Byte, Weise X mit X=Pina den Wert zu, und gebe X mit LCD X auf LCD aus.
    Nur der Wert wird als Dezimal-Zahl angezeigt, und ich möchte es gerne Dual haben.

    bis dann,
    Nico

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.08.2004
    Beiträge
    159
    umrechnen?
    entweder gibts in der Sprach die du codest schon ne fertige Funktion oder du musst das selber machen

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.10.2004
    Ort
    PB
    Beiträge
    123
    Hallo Nico!

    Vielleicht hilft dir dieses Programm weiter:


    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    
    
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
    
    Dim Porta_zustand As Byte
    Porta_zustand = 0
    
    Config Porta = Output
    Porta = 255
    
    Initlcd
    Cls
    
    Do
    
       Porta = Porta_zustand
       Upperline
       Lcd Porta_zustand
       Lowerline
       Lcd Bin(porta_zustand)
       Incr Porta_zustand
    
    Loop
    
    End
    Habe es aber nur im Simulator getestet, dort funktionierte es aber!

    Grüße,
    Jonas

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    Es funktioniert auf jeden Fall mit Print Bin in BASCOM. (255 = 11111111)
    Warum also nicht auch mit dem LCD.

    Notfalls (wenn alle Stricke reissen) vorher in einen String umwandeln und dann an das LCD senden.


    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    
    
    Dim Porta_zustand As Byte
    Dim X As Byte
    
    Porta_zustand = 0
    
    Config Porta = Output
    
    Porta = 255
    
    For X = 0 To 255
       Porta_zustand = X
       Print Porta_zustand
       Print Bin(porta_zustand)
       Incr Porta_zustand
    
    Next X
    
    End
    Hier die Umwandlung in den String Text, welcher dann an das LCD gesendet werden kann.

    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    
    Dim Text As String * 16
    
    Dim Porta_zustand As Byte
    Dim X As Byte
    
    Porta_zustand = 0
    
    Config Porta = Output
    
    Porta = 255
    
    For X = 0 To 255
       Porta_zustand = X
       Text = Bin(x)
    
       Print Porta_zustand;
       Print "   ";
       Print Bin(porta_zustand);
       Print "   ";
       Print "[";
       Print Text;
       Print "]"
    
    
    
    Next X
    
    End
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    20.05.2004
    Ort
    Meppen
    Alter
    40
    Beiträge
    51
    Es funktionier wunderbar! Ich meine den Code von vish. Anderen Code habe ich nicht getestet.
    Ich sollte doch das Buch über Bascom zulegen

Berechtigungen

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