So hier ist der korrigierte Code. Bascom gibt keine Fehler mehr aus:
Code:
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 130
$swstack = 130

Config Portd = Output
Config Timer1 = Timer , Prescale = 1024
Enable Timer1
Dim minutes as Byte
Dim hours as Byte
Dim day as Integer
Dim tausender as Byte
Dim hunderter as Byte
Dim zehner as Byte
Dim einer as Byte
Dim i as Byte

DDRD=&B11111111
DDRC=&B11111111
DDRB=&B11111000


On Timer1 Isr_von_timer1

Enable Interrupts
Timer1 = 6942


Do ' Hauptprogramm

If Hours = 23 And Minutes = 50 Then                         'korrigiert Then hinter Minutes = 50

day=day+1
hours=0
end if

If Pinb.0 = 1 Then
minutes=minutes+1
End If

If Pinb.1 = 1 Then                                          ' Taster, um die Uhr einzustellen
hours=hours+1
End If

If Pind.2 = 1 Then                                          'korrigiert PIND.2 nicht PIND.b
day=day+1
End If

If Pinb.3 = 1 Then
day=day+100
End If

If Pinb.4 = 1 Then                                          ' gib die Anzahl der laufenden Tage an


                                                                                 'tausender=day/1000
                                                                                 'hunderter=(day-1000*tausender)/100
                                                                                 'zehner=(day-1000*tausender-100*hunderter)/10
                                                                                 'einer=(day-1000*tausender-100*hunderter-10*zehner)



For I = 0 To Tausender Step 1                               'korrigiert I = Tausender weg

Pinb.5=1
waitms 100

Pinb.5=0
waitms 100

Next I                                                      'korrigiert Next I

For I = 0 To Hunderter Step 1                               'korrigiert I = hunderter weg

Pinb.6=1
waitms 100

Pinb.6=0
waitms 100

Next


For I = 0 To Zehner Step 1                                  'korrigiert I = zehner weg

Pinb.7=1
waitms 100

Pinb.7=0
waitms 100

Next


For I = 0 To Einer Step 1                                   'korrigiert I = einer weg

Pind.7=1
waitms 100

Pind.7=0
waitms 100

Next

End If

PORTD=Bin(minutes)
PORTC=Bin(hours)

Loop
End



Isr_von_timer1:

Timer1 = 6942

minutes=minutes+1
If Minutes = 60 Then
Minutes = 0                            'korrigiert Then hinter Minutes = 60
hours=hours+1
end if

PORTD=Bin(minutes)
PORTC=Bin(hours)


Return