Gast
#552607
Hallo! Hab da ein Problem mit dem Timer 2 meines AT89C51ED2. Woran es liegt, weiß ich nicht genau, aber mein Programm sieht so aus: >void main (void) >{ > init(); > while(1) > { > if(tf2==1) //Timer-Flag > { > tf2=0; > zaehl++; > if(zaehl==6000) > { > zaehl=0; > laufzeit++; > } > } > > if(laufzeit==1) > { > laufzeit=0; > led=1; > > } >} inititalieren tu ich das ganze folgendermaßen: >T2CON=0x00; >T2MOD=0x00; >TH2 = 0xDC; //Timer auf 10ms vorsetzen >TL2 = 0x00; >TR2=1; >EA = 1; und der interrupt schaut so aus: >void t2_ISR (void) interrupt 5 >{ > TH2 = 0xDC; //Timer auf 10ms vorsetzen > TL2 = 0x00; > tf2=1; > led2=0; >} Wo liegt der Fehler? Hab ich Register falsch gesetzt? Ach ja, der Timer macht gar nix. Wäre für Tipps dankbar. lg Peter