bin jetzt schon etwas weiter bloß hab ich ein problem und zwar funktioniert das entprellen bei dem einstellen der zeit nicht. die anzeige rast dann.
der letzte sub sollte für die einstellung sein nur irgendwie entprellt er nicht.
Code:$regfile = "m8def.dat" $crystal = 1000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize = 40 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcdbus = 4 Cursor Off Ddrb = &B11111111 Ddrd = &B00000000 Portd.2 = 1 Portd.3 = 1 Portd.4 = 1 Portd.5 = 1 Portd.6 = 1 Portd.7 = 1 Enable Interrupts Config Clock = Soft Config Portd = Input Declare Sub Stunde Declare Sub Minute Declare Sub Ausgabe Declare Sub Menue Dim Modus As Byte Declare Sub Einstellen Cls Time$ = "00:00:00" Do Locate 1 , 1 Lcd Time$ ; " " ; Debounce Pind.3 , 0 , Stunde , Sub Debounce Pind.4 , 0 , Minute , Sub Debounce Pind.2 , 0 , Menue , Sub Debounce Pind.7 , 0 , Einstellen , Sub Loop Menue: Gosub Ausgabe Return Ausgabe: Incr Modus If Modus = 3 Then Modus = 0 Locate 2 , 1 If Modus = 0 Then Locate 2 , 1 Wait 1 Lcd "MP3 " Portb.0 = 1 Else Portb.0 = 0 End If If Modus = 1 Then Locate 2 , 1 Wait 1 Lcd "Radio" Portb.1 = 1 Else Portb.1 = 0 End If If Modus = 2 Then Locate 2 , 1 Wait 1 Lcd "AUX " Portb.2 = 1 Else Portb.2 = 0 End If Return 'Stunde Sub Stunde Waitms 200 Cls Waitms 200 Do Locate 1 , 1 Lcd "Stunde" Locate 1 , 10 Lcd _hour If Pind.7 = 0 Then Incr _hour Locate 1 , 10 Lcd _hour End If If _hour > 23 Then _hour = 00 End If Loop Until Pind.3 = 0 Waitms 200 Cls Waitms 200 End Sub 'Minute Sub Minute Waitms 200 Cls Waitms 200 Do Locate 1 , 1 Lcd "Minute" Locate 1 , 10 Lcd _min If Pind.7 = 0 Then Incr _min Locate 1 , 10 Lcd _min End If If _min > 59 Then _min = 00 End If Loop Until Pind.4 = 0 Waitms 200 Cls Waitms 200 End Sub Return 'einstellen Sub Einstellen Gosub Stunde Gosub Minute End Sub Return







Zitieren

Lesezeichen