[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
1. Пишешь подпрограмму в прерывании по фронту - которая увеличивает 3-4 байтный накопительный счётчик на 1 (инкремент).
2. Программируешь таймер на максимум (8 или 16 бит - не суть важно какой он у тебя), в таймерном прерывании делаешь декремент 1 или 2х байтного регистра (выдержка полных тиков таймера ~0,5...2 c (это всё от требуемой точности зависит(я пожалуй взял бы стого кроатное 1 сек и цифре 2 (0,25...0,5...1...2...4) - делить потом проще, можно использовать команду сдвига)))- как только выдержка ЁК, "снимаешь кассу" - накопительный счётчик и производишь вычисления (время у тебя известно (точность 10 в-6 !!!) - сколько набежало периодов за это время тоже известно (ошибка 1/1 (тик проца * на....(непомню и грузить не буду)) ну вообщем за 1 секунду это более чем достаточно), а что ещё надо ?).
E-mail: info@telesys.ru