Ich hatte mich jetzt selber schonmal etwas eingelesen un esso verwirklicht:
Code:
$regfile = "m16def.dat" 'definieren des verwendeten Chips
$crystal = 8000000 'definieren des verwendeten externen Quarz (8MHz)
Dim A As Byte 'dimensionieren der verwendeten Variablen
Dim B As Byte
Dim Main2 As Long
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Pinb.7 = Output
Config Pinc.0 = Output
Config Pinc.1 = Output
Config Pinc.2 = Output
Config Pinc.3 = Output
Config Pinc.4 = Output
Config Pinc.5 = Output
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.0 = Output
Config Pind.1 = Output
Config Pind.2 = Output
Config Pind.3 = Output
Config Pind.4 = Input
Main1:
A = 0 'variable der zeit auf null 'Hauptprogramm
Do 'Anfang der Schleife
If Pind.4 = 1 Then Goto Main2 'Wenn an Pin 2 von Port D ein high level anliegt, dann...
Loop 'diese loop hat gefehlt
Main2: 'main2: ist hier -> dein unterprogramm
Do ' start der schleife
Waitms 100 ' wartezeit eine sekunde
A = A + 1 'variable un eins erhöhen
If A = 5 Then ' bei 1 minute
Portb.0 = 1 'port einschalten
End If
Waitms 10
Portb.0 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 6 Then ' bei 1 minute
Portb.1 = 1 'port einschalten
End If
Waitms 10
Portb.1 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 7 Then ' bei 1 minute
Portb.2 = 1 'port einschalten
End If
Waitms 10
Portb.2 = 0
If A = 8 Then ' bei 1 minute
Portb.3 = 1 'port einschalten
End If
Waitms 10
Portb.3 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 9 Then ' bei 1 minute
Portb.4 = 1 'port einschalten
End If
Waitms 10
Portb.4 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 10 Then ' bei 1 minute
Portb.5 = 1 'port einschalten
End If
Waitms 10
Portb.5 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 11 Then ' bei 1 minute
Portb.6 = 1 'port einschalten
End If
Waitms 10
Portb.6 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 12 Then ' bei 1 minute
Portb.7 = 1 'port einschalten
End If
Waitms 10
Portb.7 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 13 Then ' bei 1 minute
Portc.0 = 1 'port einschalten
End If
Waitms 10
Portc.0 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 14 Then ' bei 1 minute
Portc.1 = 1 'port einschalten
End If
Waitms 10
Portc.1 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 15 Then ' bei 1 minute
Portc.2 = 1 'port einschalten
End If
Waitms 10
Portc.2 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 16 Then ' bei 1 minute
Portc.3 = 1 'port einschalten
End If
Waitms 10
Portc.3 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 17 Then ' bei 1 minute
Portc.4 = 1 'port einschalten
End If
Waitms 10
Portc.4 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 18 Then ' bei 1 minute
Portc.5 = 1 'port einschalten
End If
Waitms 10
Portc.5 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 19 Then ' bei 1 minute
Portc.6 = 1 'port einschalten
End If
Waitms 10
Portc.6 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 20 Then ' bei 1 minute
Portc.7 = 1 'port einschalten
End If
Waitms 10
Portc.7 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 21 Then ' bei 1 minute
Portd.0 = 1 'port einschalten
End If
Waitms 10
Portd.0 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 22 Then ' bei 1 minute
Portd.1 = 1 'port einschalten
End If
Waitms 10
Portd.1 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 23 Then ' bei 1 minute
Portd.2 = 1 'port einschalten
End If
Waitms 10
Portd.2 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 24 Then ' bei 1 minute
Portd.3 = 1 'port einschalten
End If
Waitms 10
Portd.3 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
Loop Until A > 25 'zeit abgelaufen schleife verlassen
'***** Zeit abgelaufen *************************
Goto Main1 'rücksprung zum start
End 'end programm
Es gibt aber ein Problem. Sobald das ControllerboardStrom bekomt, fängt das Programman zu laufen, ohne ds ich den Taster gedrückt habe.
Lesezeichen