so hab hier das ganze mal mit variablen mal noch mit der weckzeit
gemacht:
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
Declare Sub Stunde
Declare Sub Minute
Declare Sub Menue
Declare Sub Stundew
Declare Sub Minutew
Dim Modus As Byte
Dim Stellenminute As Byte
Dim Stellenstunde As Byte
Cls
Time$ = "00:00:00"
Do
Locate 1 , 1
Lcd Time$ ; " " ;
Locate 1 , 12
Lcd Stellenstunde
Locate 1 , 14
Lcd ":"
Locate 1 , 15
Lcd Stellenminute
Debounce Pind.2 , 0 , Menue , Sub
Debounce Pind.3 , 0 , Stunde , Sub
Debounce Pind.4 , 0 , Minute , Sub
Debounce Pind.5 , 0 , Stundew , Sub
Debounce Pind.6 , 0 , Minute W , Sub
Loop
Menue:
Incr Modus
If Modus = 4 Then Modus = 0
Locate 2 , 1
If Modus = 0 Then
Locate 2 , 1
Wait 1
Lcd "Aus "
End If
If Modus = 1 Then
Locate 2 , 1
Wait 1
Lcd "MP3 "
Portb.0 = 1
Else
Portb.0 = 0
End If
If Modus = 2 Then
Locate 2 , 1
Wait 1
Lcd "Radio"
Portb.1 = 1
Else
Portb.1 = 0
End If
If Modus = 3 Then
Locate 2 , 1
Wait 1
Lcd "AUX "
Portb.2 = 1
Else
Portb.2 = 0
End If
Return
'Stunde
Sub Stunde
Incr _hour
If _hour > 23 Then
_hour = 00
End If
End Sub
'Minute
Sub Minute
Incr _min
If _min > 59 Then
_min = 00
End If
End Sub
Return
'MinuteW
Sub Minutew
Incr Stellenminute
If Stellenminute > 59 Then
Stellenminute = 00
End If
End Sub
Return
'Stundew
Sub Stundew
Incr Stellenstunde
If Stellenstunde > 23 Then
Stellenstunde = 00
End If
End Sub
Return
nun habe ich dazu noch ne frage. wie bekomme ich es hin dass stellen
minute und stellenstunde mit 00 anzeigen. so wird mir nur eine 0
angezeigt wo dann beim überlauf die letzte ziffer immer stehen bleibt.
dann noch ne frage ich habe das ganze mit der anzeige so gelöst:
Locate 1 , 12
Lcd Stellenstunde
Locate 1 , 14
Lcd ":"
Locate 1 , 15
Lcd Stellenminute
gibt es da ne elegantere möglichkeit?
Lesezeichen