- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 16

Thema: Denke zu kompliziert > 7-Segment Multiplexanzeige

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #14
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    60
    Beiträge
    1.305
    Blog-Einträge
    1
    Also das hat mir jetzt keine Ruhe gelassen

    Hier der Source:

    Code:
    ' 4-Digit Multipexed Display an Port C
    ' PortC.4 = 1er
    ' PortC.5 = 10er
    ' PortC.6 = 100er
    ' PortC.7 = 1000er
    ' Portc.0 bis Portc.3 = BCD Code der Zahl &H00 bis &HFF
    ' Hierzu einen 7-Segmentdecoder (74LS48) zwischen PortC(0..3) und den Segmenten schalten
    ' Nicht vergessen die Treibersegmentausgänge mit 470R PullUp zu schalten.
    
    ' Der Baustein 74LS48 kann nur Zahlen (0-9) darstellen heine Hex Codes (ABCDEF)
    ' Falsche Werte (>9) (>&H09) (>&B00001001) führen zu Anzeigefehlern.
    
    
    
    $regfile = "m32def.dat"                           ' AT Mega 32
    $crystal = 16000000                               ' 16 MHz                                         
    $baud = 19200                                     ' Serielle Schittstelle einrichten
    
    Anzeigeport Alias Portc                           ' Hier einstellen an welchem Port
                                                      ' das Display angeshclossen wird
    
    Config Anzeigeport = Output                       ' Direction einstellen
    
    
    Declare Function Anzeige(byval B_speed As Byte) As Integer
    
    
    
    Dim X As Integer                                  ' Variable für For Scheife
    Dim Y As Integer                                  ' Variable für For Scheife
    Dim B_ar_zahl(4) As Byte
    
    Portc = 0                                         ' Port C initialisieren
    
    
    '               Die Anzeige soll "4321" darstellen
    B_ar_zahl(1) = 1                                  ' Hier die 1er Zahlen der Anzeige
    B_ar_zahl(2) = 2                                  ' Hier die 10er Zahlen der Anzeige
    B_ar_zahl(3) = 3                                  ' Hier die 100er Zahlen der Anzeige
    B_ar_zahl(4) = 4                                  ' Hier die 1000er Zahlen der Anzeige
    
    
    Do
      For Y = 0 To 9
        X = Anzeige(5)
      Next Y
    
    Loop
    
    End                                               'end program
    
    ' ******************************************************************************
    
    Function Anzeige(byval B_speed As Byte) As Integer
       Dim B_x As Byte                                ' Schleifen Variable
       Dim B_decade As Byte                           ' Aktivierung der Decade
       Dim B_select As Byte
    
       For B_x = 4 To 7                               ' Schleife für Decaden
                                                      ' Bit 4 bis 7 sind Decaden
          B_decade = 2 ^ B_x                          ' Bitmuster für Decade berechnen
          B_select = B_x - 3                          ' Feld des Array's bestimmen
    
          Anzeigeport = B_decade                      ' Nur Decade aktivieren
          Anzeigeport = Anzeigeport Or B_ar_zahl(b_select)
                                                      ' Decade + Anzeigewert aktivieren
                                                      ' Hiermit wird auch das Anzeigetiming
                                                      ' realisiert
    
          Waitms B_speed                              ' Anzeigedauer der einzelnen Decade
       Next B_x
    
       Anzeige = 0                                    ' Rükgabewert 0 = ok
    End Function
    
    ' ******************************************************************************
    
    End                                               'end program
    Dann noch der Schaltplan für Dein IC
    und der Beweis dass es geht....
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken mux-display_14315c_schematic.gif   mux-display_14315c_photo.gif  
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

Berechtigungen

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

12V Akku bauen