Morpheus238
17.08.2004, 00:19
Nabend.
Ich sitze nun schon seit vier Tagen vor diesem Dämlichen Programm hier ](*,)
$regfile = "2313def.dat" 'AT90S2313-Deklarationen
$crystal = 4000000 'Quarz: 4.0000 MHz
Dim A As Byte
Dim B As Byte
Dim I As Byte
Declare Sub Led1
Declare Sub Led2
Config Portb = Output
Config Portd = Input
On Timer1 Ontimer1
On Timer0 Ontimer0
Config Timer1 = Timer , Prescale = 8
Config Timer0 = Timer , Prescale = 1024
Enable Timer1
Enable Timer0
Enable Interrupts
'---------------------------------------------------------
Do 'Hauptschleife
If I = 15 Then
B = 0
If I <= 15 Then
A = 0
End If
End If
Debounce Pind.0 , 0 , Led1 , Sub
Debounce Pind.1 , 1 , Led2 , Sub
If I = 15 Then
Stop Timer0
End If
'--------------------------------------------------------- Lauflicht 1
If A = 1 Then
Portb.0 = 1
End If
If A = 10 Then
Portb.0 = 0
Portb.1 = 1
End If
If A = 20 Then
Portb.1 = 0
Portb.3 = 1
End If
If A = 30 Then
Portb.3 = 0
A = 0
End If
'--------------------------------------------------------- Lauflicht 2
If B = 1 Then
Portb.0 = 1
End If
If B = 10 Then
Portb.1 = 1
End If
If B = 20 Then
Portb.0 = 0
Portb.1 = 0
B = 0
End If
Loop
'--------------------------------------------------------- Sub Taster
Sub Led1
Start Timer0
End Sub
Sub Led2
I = 0
End Sub
'--------------------------------------------------------- Sub Taster
Ontimer0: 'Interrupt-Routine
Incr I
Return
Ontimer1:
Incr A
Incr B
Return
Pinb.0 und 1 sind miteinander verbunden und an einen Optokoppler angeschlossen! Der Optokoppler ist Wiederum an die Festplatte angeschlossen!
Wenn die Festplatte arbeitet dann sollte Lauflicht1 angehen! Wenn die Festplatte nicht mehr Arbeitet dann sollte nach 1 - 2 sec. Lauflicht2 gestartet werden! Arbeitet sie Festplatte wieder geht alles von vorne los!
Wäre echt nett wenn ihr mir helfen könntet!
Ich sitze nun schon seit vier Tagen vor diesem Dämlichen Programm hier ](*,)
$regfile = "2313def.dat" 'AT90S2313-Deklarationen
$crystal = 4000000 'Quarz: 4.0000 MHz
Dim A As Byte
Dim B As Byte
Dim I As Byte
Declare Sub Led1
Declare Sub Led2
Config Portb = Output
Config Portd = Input
On Timer1 Ontimer1
On Timer0 Ontimer0
Config Timer1 = Timer , Prescale = 8
Config Timer0 = Timer , Prescale = 1024
Enable Timer1
Enable Timer0
Enable Interrupts
'---------------------------------------------------------
Do 'Hauptschleife
If I = 15 Then
B = 0
If I <= 15 Then
A = 0
End If
End If
Debounce Pind.0 , 0 , Led1 , Sub
Debounce Pind.1 , 1 , Led2 , Sub
If I = 15 Then
Stop Timer0
End If
'--------------------------------------------------------- Lauflicht 1
If A = 1 Then
Portb.0 = 1
End If
If A = 10 Then
Portb.0 = 0
Portb.1 = 1
End If
If A = 20 Then
Portb.1 = 0
Portb.3 = 1
End If
If A = 30 Then
Portb.3 = 0
A = 0
End If
'--------------------------------------------------------- Lauflicht 2
If B = 1 Then
Portb.0 = 1
End If
If B = 10 Then
Portb.1 = 1
End If
If B = 20 Then
Portb.0 = 0
Portb.1 = 0
B = 0
End If
Loop
'--------------------------------------------------------- Sub Taster
Sub Led1
Start Timer0
End Sub
Sub Led2
I = 0
End Sub
'--------------------------------------------------------- Sub Taster
Ontimer0: 'Interrupt-Routine
Incr I
Return
Ontimer1:
Incr A
Incr B
Return
Pinb.0 und 1 sind miteinander verbunden und an einen Optokoppler angeschlossen! Der Optokoppler ist Wiederum an die Festplatte angeschlossen!
Wenn die Festplatte arbeitet dann sollte Lauflicht1 angehen! Wenn die Festplatte nicht mehr Arbeitet dann sollte nach 1 - 2 sec. Lauflicht2 gestartet werden! Arbeitet sie Festplatte wieder geht alles von vorne los!
Wäre echt nett wenn ihr mir helfen könntet!