Hi, danke für die schnelle Antwort,
der Code:
Ich habe es zig mal überprüft, alle Zeilen und Spalten belegungen stimmenCode:$regfile = "m16def.dat" $crystal = 16000000 $hwstack = 40 $swstack = 16 $framesize = 32 Config Porta = Output Config Portb = Output Config Portc = Output Config Portd = Output Declare Sub Zeilensetzen Declare Sub Set_pixel(byval X As Byte , Byval Y As Byte) ' Nullpunkt ist oben links als 0,0 Declare Sub Reset_pixel(byval X As Byte , Byval Y As Byte) Dim X As Byte , Y As Byte Dim Bildspeicher(11) As Word , Spalte As Byte , Temp As Word , Zaehler As Word Spalte = 1 Do Select Case Spalte Case 1 : Reset Portb.5 Zeilensetzen Set Portb.4 Case 2 : Reset Portb.4 Zeilensetzen Set Portb.3 Case 3 : Reset Portb.3 Zeilensetzen Set Portb.2 Case 4 : Reset Portb.2 Zeilensetzen Set Portb.1 Case 5 : Reset Portb.1 Zeilensetzen Set Portb.0 Case 6 : Reset Portb.0 Zeilensetzen Set Porta.7 Case 7 : Reset Porta.7 Zeilensetzen Set Porta.6 Case 8 : Reset Porta.6 Zeilensetzen Set Porta.5 Case 9 : Reset Porta.5 Zeilensetzen Set Portb.5 End Select If Spalte < 9 Then Spalte = Spalte + 1 Else Spalte = 1 Waitus 100 Select Case Zaehler Case 1000 : For X = 0 To 8 ' diagonale Set_pixel X , X Next X Case 2000 : For X = 0 To 10 ' waagrecht Set_pixel X , 0 Set_pixel X , 8 Next X Case 3000 : For Y = 0 To 8 ' senkrecht Set_pixel 0 , Y Set_pixel 10 , Y Next X Case 4000 : For X = 1 To 11 ' alle an Bildspeicher(x) = &B11111111111 Next X Case 5000 : For X = 1 To 9 ' Bitmuster Bildspeicher(x) = &B11111111100 Next X Case 6000 : For X = 1 To 9 ' alle aus Bildspeicher(x) = 0 Next X Zaehler = 0 End Select Zaehler = Zaehler + 1 Loop End Sub Set_pixel(byval X As Byte , Byval Y As Byte) Bildspeicher(x + 1).y = 1 ' Bascom startet Arrays mit 1 End Sub Sub Reset_pixel(byval X As Byte , Byval Y As Byte) Bildspeicher(x + 1).y = 0 End Sub Sub Zeilensetzen Temp = Bildspeicher(spalte) If Temp.1 = 1 Then Set Portd.2 Else Reset Portd.2 If Temp.2 = 1 Then Set Portd.1 Else Reset Portd.1 If Temp.3 = 1 Then Set Portd.0 Else Reset Portd.0 If Temp.4 = 1 Then Set Portc.7 Else Reset Portc.7 If Temp.5 = 1 Then Set Portc.6 Else Reset Portc.6 If Temp.6 = 1 Then Set Portc.5 Else Reset Portc.5 If Temp.7 = 1 Then Set Portc.4 Else Reset Portc.4 If Temp.8 = 1 Then Set Portc.3 Else Reset Portc.3 If Temp.9 = 1 Then Set Portc.2 Else Reset Portc.2 If Temp.10 = 1 Then Set Portc.1 Else Reset Portc.1 If Temp.11 = 1 Then Set Portc.0 Else Reset Portc.0 End Sub







Zitieren


Lesezeichen