G
Guest
Guest
Привіт, друзі,
Я намагаюся зробити дуже просту програму, в якій я годування двох сигналів (частота основного, квадратного хвилі) до AT89C51 ЦС для оцінки різниці в часі між ними (по одному на INT0 і INT1 на інший), але я не можу отримати правильні значення.Я пробував все, не можу зрозуміти, що помилка, яку я роблю.Шлю мою програму (зроблено в Keil C51), разом з.хтось будь ласка, допоможіть мені знайти мою помилку.
Спасибі, друзі.
Код:
Int таймер;
INT0 Void (Порожнеча) перервати 0
(
TH0 = 0x00;
TL0 = 0x00;
Tr0 = 1;
EX0 = 0;
EX1 = 1;
)
Int1 Void (Порожнеча) перервати 2
(
Tr0 = 0;
EX1 = 0;
Таймер = TH0 * 256 TL0;
TH0 = 0x00;
TL0 = 0x00;
)
Void Main () (P3 = 0x0C;
lcd_init ();EA = 1;
TMOD = (TMOD & 0xF0) | 0x01 / * Встановити режим T/C0 * /
ET0 = 1 / * включити таймер 0 переривання * /
Tr0 = 0;
IT0 = 1;
EX0 = 1;
IT1 = 1;
EX1 = 0;TH0 = 0x00;
TL0 = 0x00;
While (1)
(/ / Значенням таймера на ЖК)
Я намагаюся зробити дуже просту програму, в якій я годування двох сигналів (частота основного, квадратного хвилі) до AT89C51 ЦС для оцінки різниці в часі між ними (по одному на INT0 і INT1 на інший), але я не можу отримати правильні значення.Я пробував все, не можу зрозуміти, що помилка, яку я роблю.Шлю мою програму (зроблено в Keil C51), разом з.хтось будь ласка, допоможіть мені знайти мою помилку.
Спасибі, друзі.
Код:
Int таймер;
INT0 Void (Порожнеча) перервати 0
(
TH0 = 0x00;
TL0 = 0x00;
Tr0 = 1;
EX0 = 0;
EX1 = 1;
)
Int1 Void (Порожнеча) перервати 2
(
Tr0 = 0;
EX1 = 0;
Таймер = TH0 * 256 TL0;
TH0 = 0x00;
TL0 = 0x00;
)
Void Main () (P3 = 0x0C;
lcd_init ();EA = 1;
TMOD = (TMOD & 0xF0) | 0x01 / * Встановити режим T/C0 * /
ET0 = 1 / * включити таймер 0 переривання * /
Tr0 = 0;
IT0 = 1;
EX0 = 1;
IT1 = 1;
EX1 = 0;TH0 = 0x00;
TL0 = 0x00;
While (1)
(/ / Значенням таймера на ЖК)