Gast
#30456
Hallo Im PIc16f84A wird mittels TMR0 alle 4ms ein Interupt ausgelöst. Nach 250 Interupts sind 1s vorbei und es folgen einige Routinen, die das Register "sec" incrementieren, es an ein LCD ausgeben und mit einer Weckzeit vergleichen. Problem: Der Interupt incrementiert "sec" nicht jede Sekunde, sondern scheinbar alle 4ms, also bei jedem Interupt. Das Register loop4ms (Inhalt .250) soll eigentlich bei jedem Interupt heruntergezählt werden und erst nach 250 Interupts (nach 1s) das Register "sec" incrementieren. Wenn ich den Teil mit dem loop4ms rausnehme, ändert sich nichts. Da liegt dann wohl der Fehler. Nur dummerweise sehe ich ihn nicht! Hab' den Quellcode mal angehängt. mfg Wolfram Hildebrandt