Wenn ich anstat Der Namen zahlen hinschreibe geht es, aber es geht doch gerade um die namen
Kann es sein das man bei vairablen nur zahlen machen kann?
weil das mit den wörtern ist eigentlich genau das ,was ich wollte.
Edit: So, habe herausgefunden das word variablen keine wörter speichern können, also den type oben auf byte gesetzt, da die dan buchstaben speichern können.
Nun kommen keine error meldungen meer aber im terminal steht:
0:2:25:68
0:2:26:68
0:2:27:68
0:2:28:68
0:2:29:68
Warum 68? da müsster doch ein Tag stehen!
Der gesammte code:
Code:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600
Declare Sub Plussekunde()
Declare Sub Plusminute()
Declare Sub Plusstunde()
Declare Sub Clockstart()
Declare Sub Plustag()
Declare Function Tastenabfrage() As Byte
Dim I As Integer
Dim N As Integer
Dim Ton As Integer
Dim Sekunde As Word
Dim Minute As Word
Dim Stunde As Word
Dim Wochentag As Byte
Dim Tag As Word
Dim Taste As Byte
Config Portc = Output
Portc = 11111111
Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung
Config Pina.7 = Input 'Für Tastenabfrage
Porta.7 = 1
Do
Taste = Tastenabfrage()
If Taste <> 0 Then
Select Case Taste
Case 1
Call Plussekunde
Case 2
Call Plusminute
Case 3
Call Plusstunde
Case 4
Call Clockstart
Case 5
Call Plustag
End Select
Sound Portd.7 , 400 , 500 'BEEP
End If
Waitms 100
If Sekunde = 60 Then
Sekunde = 0
Minute = Minute + 1
Else
End If
If Minute = 60 Then
Minute = 0
Stunde = Stunde + 1
Else
End If
If Stunde = 24 Then
Stunde = 0
Tag = Tag + 1
End If
If Tag > 7 Then
Tag = 1
End If
'Select Case Tag
'Case 1 Wochentag = "Montag"
'Case 2 Wochentag = "Dienstag"
'Case 3 Wochentag = "Mittwoch"
'Case 4 Wochentag = "Donnerstag"
'Case 5 Wochentag = "Freitag"
'Case 6 Wochentag = "Samstag"
'Case 7 Wochentag = "Sonntag"
'Else Case
'End Select
Select Case Tag
Case 1
Wochentag = "Montag"
Case 2
Wochentag = "Dienstag"
Case 3
Wochentag = "Mittwoch"
Case 4
Wochentag = "Dönnerstag"
Case 5
Wochentag = "Freitag"
Case 6
Wochentag = "Samstag"
Case 7
Wochentag = "Sonntag"
End Select
Loop
End
Function Tastenabfrage() As Byte
Local Ws As Word
Tastenabfrage = 0
Ton = 600
Start Adc
Ws = Getadc(7)
If Ws < 500 Then
Select Case Ws
Case 400 To 450
Tastenabfrage = 1
Ton = 550
Case 330 To 380
Tastenabfrage = 2
Ton = 500
Case 260 To 305
Tastenabfrage = 3
Ton = 450
Case 180 To 220
Tastenabfrage = 4
Ton = 400
Case 90 To 130
Tastenabfrage = 5
Ton = 350
End Select
Sound Portd.7 , 400 , Ton
End If
End Function
Sub Plussekunde()
Sekunde = Sekunde + 1
Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag
End Sub
Sub Plusminute()
Minute = Minute + 1
Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag
End Sub
Sub Plusstunde()
Stunde = Stunde + 1
Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag
End Sub
Sub Plustag()
Tag = Tag + 1
Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag
End Sub
Sub Clockstart()
Config Timer1 = Timer , Prescale = 256 'Konfiguriere Timer1
Enable Interrupts
Enable Timer1
Sekunde = Sekunde + 1 ' + 1Sekunden für Timerausgleich
On Timer1 Isr_von_timer1 'verzweige bei Timer1 überlauf zu Isr_von_Timer1
Enable Interrupts
Timer1 = 68570 'Timer1 soll schon von 34285 wegzählen
End Sub
Isr_von_timer1: 'ISR von Timer1
Timer1 = 68570
'Sound Portd.7 , 400 , 550
'Print "Stunde" ; Stunde ; " Minute:" ; Minute ; " Sekunde:" ; Sekunde
Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag
Sekunde = Sekunde + 1
Toggle Portc.0
Return
Isr_von_timer1: 'ISR von Timer1
Timer1 = 68570
'Sound Portd.7 , 400 , 550
'Print "Stunde" ; Stunde ; " Minute:" ; Minute ; " Sekunde:" ; Sekunde
Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag
Sekunde = Sekunde + 1
Toggle Portc.0
Return
Lesezeichen