Cum să se ocupe de Timer2 în 8052 familia

  • Thread starter nikhileshsawarkar
  • Start date
N

nikhileshsawarkar

Guest
Bună din nou experţi,
Unele problemă în manipularea Timer2 mea.
Sunt folosind 8052 serie controler AT89s8253.Sunt folosind Timer2 ca 16-bit mode.My compilator reîncărcaţi auto este Keil UV2.Am vrut să te întrerup la fiecare 1 ms, astfel încât valorile le-am stabilit în RCAP2H = 0xFC şi RCAP2L = 0x65.
codul este

/ / În principal
timer2_init ()
(
RCAP2H = 0xFC;
RCAP2L = 0x65;
T2CON | = 0x00;
T2H = 0xFC;
T2L = 0x65;
TR2 = 1;
)
/ / ISR obţine sunat la fiecare 1ms
int contor = 0; / / int globale

timer2_isr () întrerupă 5, folosind 1
(
contor ;
if (contor == 60000) / / va merge in fiecare min 1.
(
contor = 0; / / X ZONE
)

)Dar Im obtinerea ceva în neregulă ...
1.Indiferent de orice valoare am pus în RCAP2H şi RCAP2L, sa mergi la "X zona" la fiecare 12 de secunde (aproximativ), dar nu în fiecare min (Acest Am observat în Debugger şi CRO ambele)
2.Este exicuting ISR fiecare 0.1 ms (aprox.) insted de 1ms.

Q este meu este o orice alte presetarea necesare pentru ca acesta să fie de lucru în mod corect?

Vă mulţumim şi ceea ce priveşte,

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Foarte fericit" border="0" />Nikhilesh

 
Hi nikhileshsawarkar

Ce rata de ceas folositi?

Eşti de compensare de pavilion întrerupe?Dacă nu, veţi obţine o repetate de întrerupere, cât mai curând ieşiţi ISR.

ceea ce priveşte ...Polymath

 
Prins drag!
Eu nu am fost de compensare de pavilion de întrerupere (tF2) în ISR.
Acum a început să lucreze,
Thanx: D
Nikhilesh

 
Poate somone rog spune-mi ce este scopul ", folosind 1" in linie "timer2_isr () întrerupă 5, folosind 1"

 

Welcome to EDABoard.com

Sponsor

Back
Top