L
lit
Guest
Hello friends,
Aš mėginu padaryti labai paprasta programa, kurioje Aš šerti du signalai (iš esmės dažnis, kvadratinės bangų) AT89C51 uc įvertinti laiko skirtumą tarp jų (po vieną INT0 ir kiti dėl INT1), bet man nepavyko gauti teisingą vertę.I've tried visko, negali suprasti, kas klaidinga I'm making.I'm siuntimas mano programa (daroma Keil C51) kartu su.kas nors man padėti išsiaiškinti, mano klaida.
Ačiū draugams.
Kodas
INT laikmatis;
tuščia Int0 (void) Interrupt 0
(
TH0 = 0x00;
TL0 = 0x00;
TR0 = 1;
EX0 = 0;
EX1 = 1;
)
tuščia Int1 (tuščia) Interrupt 2
(
TR0 = 0;
EX1 = 0;
laikmatis = TH0 * 256 TL0;
TH0 = 0x00;
TL0 = 0x00;
)
void main () (P3 = 0x0C;
lcd_init ();EA = 1;
TMOD = (TMOD & 0xF0) | 0x01; / * Set T/C0 režimas * /
ET0 = 1; / * Enable Laikmatis 0 Pertraukimai * /
TR0 = 0;
IT0 = 1;
EX0 = 1;
IT1 = 1;
EX1 = 0;TH0 = 0x00;
TL0 = 0x00;
while (1)
(/ / laikmačio vertę LCD)
Aš mėginu padaryti labai paprasta programa, kurioje Aš šerti du signalai (iš esmės dažnis, kvadratinės bangų) AT89C51 uc įvertinti laiko skirtumą tarp jų (po vieną INT0 ir kiti dėl INT1), bet man nepavyko gauti teisingą vertę.I've tried visko, negali suprasti, kas klaidinga I'm making.I'm siuntimas mano programa (daroma Keil C51) kartu su.kas nors man padėti išsiaiškinti, mano klaida.
Ačiū draugams.
Kodas
INT laikmatis;
tuščia Int0 (void) Interrupt 0
(
TH0 = 0x00;
TL0 = 0x00;
TR0 = 1;
EX0 = 0;
EX1 = 1;
)
tuščia Int1 (tuščia) Interrupt 2
(
TR0 = 0;
EX1 = 0;
laikmatis = TH0 * 256 TL0;
TH0 = 0x00;
TL0 = 0x00;
)
void main () (P3 = 0x0C;
lcd_init ();EA = 1;
TMOD = (TMOD & 0xF0) | 0x01; / * Set T/C0 režimas * /
ET0 = 1; / * Enable Laikmatis 0 Pertraukimai * /
TR0 = 0;
IT0 = 1;
EX0 = 1;
IT1 = 1;
EX1 = 0;TH0 = 0x00;
TL0 = 0x00;
while (1)
(/ / laikmačio vertę LCD)