Also das hat mir jetzt keine Ruhe gelassen
Hier der Source:
Dann noch der Schaltplan für Dein ICCode:' 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
und der Beweis dass es geht....
Lesezeichen