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







Zitieren

Lesezeichen