Hi,
versuchs ma mit If Pinc.0 = 0 Then. Durch den Pullup liegt der Eingang bei gedrückter Taste auf GND.
MfG
Ach und noch was:
In der ISR musst du If Taste = 1 Then schreiben und nicht If Pinc.0 = 1 Then !
Druckbare Version
Hi,
versuchs ma mit If Pinc.0 = 0 Then. Durch den Pullup liegt der Eingang bei gedrückter Taste auf GND.
MfG
Ach und noch was:
In der ISR musst du If Taste = 1 Then schreiben und nicht If Pinc.0 = 1 Then !
hups ok werds probieren.
so habs jetzt mal ausprobiert so selber zu schreiben mit der einstellung geht dass so?
wenn des so hinhaut brauch ich eben nur noch dass mit dass wenn 10 sekunden um sind dass led2 einen takt bekommt und wenn 60 sekunden um sind dass led 3 einen takt abbekommt. sprich jede 10 sekunden soll led2 kurz blinken und alle 60 sekunden led 3.Code:$regfile = "m8def.dat"
$crystal = 36864000
$baud = 9600
Config Timer0 = Timer , Prescale = 64
Config Portb.0 = Output
Config Pinc.0 = Input
Config Pinc.1 = Input
Config Pinc.2 = Input
Portc = &B00000111
Led1 Alias Portb.0
Led2 Alias Portb.1
Led3 Alias Portb.2
Dim Intzaehler As Integer
Dim Zehntelsek As Integer
Dim Sekunde As Integer
Dim Minute As Integer
Dim Sec_vorgabe As Integer
Dim Einstellung As Integer
Dim Taste As Bit
Dim Taste1 As Bit
Dim Taste2 As Bit
Dim Taste3 As Bit
Taste = 0
Taste1 = 0
Taste2 = 0
Taste3 = 0
Start Timer0
Enable Timer0
Enable Interrupts
On Timer0 Timer0_isr
Do
If Pinc.0 = 0 Then
Taste = 1
End If
Loop
If Pinc.1 = 0 Then
Taste1 = 1
End If
If Pinc.2 = 0 Then
Taste2 = 1
End If
If Pinc.3 = 0 Then
Taste3 = 1
End If
End
Timer0_isr:
Tcnt0 = 141
If Taste = 1 Then
Incr Intzaehler
If Intzaehler = 25 Then
Intzaehler = 0
Incr Zehntelsek
End If
If Zehntelsek = 10 Then
If Sekunde < 300 Then
Toggle Led1
End If
Incr Sekunde
Zehntelsek = 0
End If
If Taste1 = 1 Then
Einstellung = Einstellung + 10
End If
If Taste2 = 1 Then
Einstellung = Einstellung + 1
End If
End If
Return
weiß keiner ob des so stimmt????