timer2 modul de auto-reload

P

palchen

Guest
În proiectul meu
Sunt utilizând o AT89C52 pentru a le afişa pe 6x7segment multiplexate ecran.
Vreau să reîmprospătaţi afişează utilizând timer2 în modul de auto reload.
Timer2 nu este de lucru pentru mine.Se pare ca programul nu chiar ajunge în timer2-ISR.

M-am uitat la 2 discuţia cu privire la timer2 în edaboard forum,
de asemenea, a urmat aceeaşi ... dar nu de noroc.în chip şi afişarea r bine,
am deja verificate prin alte programe.Nu
sunt sigur dacă T2CON şi T2MOD valuse r bine (am incercat diferite combinatii de ... T2MOD = T2CON = 0x00, T2MOD = 0x01, T2CON = 0x40) ..

Sunt folosind Keil uVision3.Below este programul meu.În actualul program,
eu sunt doar un revigorant de afişare aceasta este doar pentru a testa timer2 lucru .. orice ajutor este apreciat ..
Cod:

# include <REGX52.H>

# include <stdio.H>/ /

/ / TMR2 Temporizator întrerupe serviciul de rutină.
Programul va sări la ISR fiecare 1ms.

/ /nule timer2_ISR (gol) întrerup 5 folosind 1

(TF2 = 0;

/ / 1 LCD nr.
0

P2 = 0XEE;

P0 = 0x01;)//------------------------------------------------ ------------------------

//------------------------------------------------ ------------------------

//---------------------------- PRINCIPALA PROGRAM ------------------ ---------------void main ()

(

/ / port de iniţializare

P2 = 0x00; / / Conectat la segmentele LCD

P0 = 0x00; / / P0.0-LCD de 0.5 conectat la control/ / init timer2 pentru a fi afişate de reîmprospătareT2MOD = 0x01;

T2CON = 0x40; / / EXF2 = 1, în auto re-încărcare Mod

RCAP2H = 0xFC; / / conta pentru 3ms

TH2 = 0xFC;

RCAP2L = 0x65;

TL2 = 0x65;

TR2 = 1; / / porni cronometrul

în timp ce (1);

)
 
Max palchen,

Cred că ai nevoie pentru a permite global permite întrerupe EA = 1; după incepand de timp 2 (TR2 = 1)

Noroc

 
mersi Bassa,
u s-au dreptate, am avut, pentru a permite timer2 în IE ...Sale de lucru acum.

Ecranul mare de lucrări doar cu acest program, cu toate acestea, dacă am adăuga orice nou cod (in cazul meu, eu
sunt interfaţare cu o tastatură pentru a introduce numere si afiseaza-l pe al 7-SEG), pe ecran începe să tremur ..

I-au dat o prioritate pentru timer2 în intrerup IP ...indiferent de orice debit, timer2 întrerupere ar trebui să meargă pe la fiecare 1 msec nu-i asa?Îmi scapă ceva?este o orice alte executie care are prioritate mai mare?

Am început să întreb dacă se întrerupe timp este calea pentru 6x7-segment mux afişa împrospătaţi ....( Am încercat deja, cu o întârziere funcţiei .. care au avut prea pâlpâire ..)

 

Welcome to EDABoard.com

Sponsor

Back
Top