Ich hab mir einen 5x5x5 Würfel gebaut, Java Prog geschrieben zum entwerfen von Mustern mit graphischer Oberfläche und n Bascom Code auf den 5x5x5 "angepasst". Das Problem ist, das die merkwürdigsten Muster auf dem realen Cube dabei rauskommen.... im Simulator von BASCOM läuft es jedoch...
Hier der Code:
Code: Alles auswählen
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
'-------------------------------------------------------------------------------------------------
' Ports auf Ausgang setzen
'-------------------------------------------------------------------------------------------------
Config Porta = Output
Config Portb = Output
Config Portc = Output
Ddrd = &B00111111
'-------------------------------------------------------------------------------------------------
' Variablen deklarieren
'-------------------------------------------------------------------------------------------------
Dim Bild As Word ' Aktuelle Bildnummer
Dim Maxbild As Word ' Nummer des letzten Bildes (=Zahl der Bilder in der Animation)
Dim Ebene As Byte ' Ebenen-Zähler
Dim Dauer As Byte ' Anzeigedauer des Bildes
Dim Temp As Byte ' für Berechnungen
Dim Offset As Word ' Position der zu holenden Daten
Dim A As String * 1
Dim B As String * 1
Dim C As String * 1
Dim D As String * 1
'-------------------------------------------------------------------------------------------------
' Hauptprogramm
'-------------------------------------------------------------------------------------------------
Do
Maxbild = Lookup(0 , Muster) ' Anzahl der gespeicherten Bilder holen
For Bild = 0 To Maxbild ' Bilder durchzaehlen
For Dauer = 0 To 27 ' Dauer des Bildes, pro Durchlauf ca. 15 ms
For Ebene = 0 To 4 ' 5 Ebenen durchmultiplexen
Offset = Bild * 20 ' Offset Berechnen, 6 Byte pro Bild
Temp = Ebene * 4 ' 2 Byte pro Ebene
Offset = Offset + Temp
Offset = Offset + 2
Porta = Lookup(offset , Muster) 'PortA ausgeben
Offset = Offset + 1 'in .txt eine Zeile weiter gehen
Portb = Lookup(offset , Muster) 'PortB ausgeben
Offset = Offset + 1
Portc = Lookup(offset , Muster) 'PortC ausgeben
Offset = Offset + 1
Portd = Lookup(offset , Muster) 'PortD ausgeben
Waitms 500 ' diese Ebene fuer 5 ms anzeigen
Next Ebene
Next Dauer
Next Bild
Loop ' Programm von vorne beginnen
End
'-------------------------------------------------------------------------------------------------
Muster:
'-------------------------------------------------------------------------------------------------
$include "muster.txt" ' Datei mit Mustern einbindenstern einbindenCode: Alles auswählen
Data 1% ' 1 Bilder in der Animation
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001
Data &B11111111, &B11111111, &B11111111, &B00000001Kann mir Bitte bitte einer helfen?
Danke schon mal
Achja ich hab das Atmel Evaluations-Board V2.0.1 Mit ATMega32 druff!
Gruß Punk





