bascom code geändert trotzdem noch nicht voll funktions fähig
Code:
$regfile = "m16def.dat"
$crystal = 7372800

'Config Portd = Input
Config Portc = Input
Config Porta = Output
Config Portb = Input
Dim Portfeld(10) As Sram Integer
Dim Programm As Integer
Dim A As Integer
For A = 1 To 10
Portfeld(a) = 0
Next A
Portb = 255
Portc = 255
Porta = 0
Waitms 1000
Porta = 255
Waitms 1000
For Programm = 1 To 10
Do
If Pinb.0 = 0 Then : Porta.0 = 1 : Else : Porta.0 = 0 : End If
If Pinb.1 = 0 Then : Porta.0 = 1 : Else : Porta.0 = 0 : End If
If Pinb.2 = 0 Then : Porta.2 = 1 : Else : Porta.2 = 0 : End If
If Pinb.3 = 0 Then : Porta.3 = 1 : Else : Porta.3 = 0 : End If
If Pinb.4 = 0 Then : Porta.4 = 1 : Else : Porta.4 = 0 : End If
If Pinb.5 = 0 Then : Porta.5 = 1 : Else : Porta.5 = 0 : End If
If Pinb.6 = 0 Then : Porta.6 = 1 : Else : Porta.6 = 0 : End If
If Pinb.7 = 0 Then : Porta.7 = 1 : Else : Porta.7 = 0 : End If
Loop Until Pinc.0 = 0

If Pinc.0 = 0 And Pinc.6 = 0 Then Do
Porta.1 = 1
   If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(1) = Portfeld(1) + 1 : Else : Porta.0 = 0 : End If
   If Pinb.1 = 0 Then : Porta.0 = 1 : Portfeld(1) = Portfeld(1) + 2 : Else : Porta.0 = 0 : End If
   If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(1) = Portfeld(1) + 4 : Else : Porta.2 = 0 : End If
   If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(1) = Portfeld(1) + 8 : Else : Porta.3 = 0 : End If
   If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(1) = Portfeld(1) + 16 : Else : Porta.4 = 0 : End If
   If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(1) = Portfeld(1) + 32 : Else : Porta.5 = 0 : End If
   If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(1) = Portfeld(1) + 64 : Else : Porta.6 = 0 : End If
   If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(1) = Portfeld(1) + 128 : Else : Porta.7 = 0 : End If
   Porta.1 = 0
Loop Until Pinc.0 = 0 And Pinc.6 = 0


If Pinc.1 = 0 And Pinc.1 = 1 Then Do
Porta.1 = 1
waitms 10
   If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(2) = Portfeld(2) + 1 : Else : Porta.0 = 0 : End If
   If Pinb.1 = 0 Then : Porta.0 = 1 : Portfeld(2) = Portfeld(2) + 2 : Else : Porta.0 = 0 : End If
   If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(2) = Portfeld(2) + 4 : Else : Porta.2 = 0 : End If
   If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(2) = Portfeld(2) + 8 : Else : Porta.3 = 0 : End If
   If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(2) = Portfeld(2) + 16 : Else : Porta.4 = 0 : End If
   If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(2) = Portfeld(2) + 32 : Else : Porta.5 = 0 : End If
   If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(2) = Portfeld(2) + 64 : Else : Porta.6 = 0 : End If
   If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(2) = Portfeld(2) + 128 : Else : Porta.7 = 0 : End If
   Porta.1 = 0
Loop Until Pinc.1 = 0 And Pinc.1 = 1

If Pinc.0 = 0 And Pinc.1 = 0 Then Do
waitms 10
Porta.1 = 1
   If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(3) = Portfeld(3) + 1 : Else : Porta.0 = 0 : End If
   If Pinb.1 = 0 Then : Porta.0 = 1 : Portfeld(3) = Portfeld(3) + 2 : Else : Porta.0 = 0 : End If
   If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(3) = Portfeld(3) + 4 : Else : Porta.2 = 0 : End If
   If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(3) = Portfeld(3) + 8 : Else : Porta.3 = 0 : End If
   If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(3) = Portfeld(3) + 16 : Else : Porta.4 = 0 : End If
   If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(3) = Portfeld(3) + 32 : Else : Porta.5 = 0 : End If
   If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(3) = Portfeld(3) + 64 : Else : Porta.6 = 0 : End If
   If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(3) = Portfeld(3) + 128 : Else : Porta.7 = 0 : End If
   Porta.1 = 0
Loop Until Pinc.0 = 0 And Pinc.1 = 0
If Pinc.6 = 1 Then Do
waitms 10
Porta.1 = 1
   If Pinb.0 = 0 Then : Porta.0 = 1 : Portfeld(4) = Portfeld(4) + 1 : Else : Porta.0 = 0 : End If
   If Pinb.1 = 0 Then : Porta.0 = 1 : Portfeld(4) = Portfeld(4) + 2 : Else : Porta.0 = 0 : End If
   If Pinb.2 = 0 Then : Porta.2 = 1 : Portfeld(4) = Portfeld(4) + 4 : Else : Porta.2 = 0 : End If
   If Pinb.3 = 0 Then : Porta.3 = 1 : Portfeld(4) = Portfeld(4) + 8 : Else : Porta.3 = 0 : End If
   If Pinb.4 = 0 Then : Porta.4 = 1 : Portfeld(4) = Portfeld(4) + 16 : Else : Porta.4 = 0 : End If
   If Pinb.5 = 0 Then : Porta.5 = 1 : Portfeld(4) = Portfeld(4) + 32 : Else : Porta.5 = 0 : End If
   If Pinb.6 = 0 Then : Porta.6 = 1 : Portfeld(4) = Portfeld(4) + 64 : Else : Porta.6 = 0 : End If
   If Pinb.7 = 0 Then : Porta.7 = 1 : Portfeld(4) = Portfeld(4) + 128 : Else : Porta.7 = 0 : End If
   Porta.1 = 0
Loop Until Pinc.6 = 1

If Pinc.6 = 1 And Pinc.0 = 0 Then : Programm = 100 : Else : Programm = 1 : End If
Next Programm
Do ' hier sollen die werte dann immer wieder ausgegeben werden
Porta = 255
Waitms 500
Porta = Portfeld(1)
Waitms 400

Porta = 255
Waitms 500
Porta = Portfeld(2)
Waitms 400

Porta = 255
Waitms 500
Porta = Portfeld(3)
Waitms 400

Porta = 255
Waitms 500
Porta = Portfeld(4)
Waitms 400

Loop