1.пускаем таймер1
2.ждём прерывания int0 через микруху 4050, которая делает из "автомобильного" сигнала TTL совместимый
3. дожидаемся прерывания, значение таймера пишем во временную переменную, в которой будет храниться время между импульсами
4. обнуляем и пускаем тймер
5. подсчитываем время между импульсами
ну и так по кругу.
почему выбран такой вариант? чтобы спидометр/тахометр был быстрым, вариант с подсчётом за 100мс, или 50мс на тетрадке выглядит терпимо, в реальности - позорно, показания обновляются редко, при резком "тапке фпол" на тахометр было противно смотреть, он опаздывал что было заметно на глаз, на холостых оборотах 50мс ждать было мало, точность - отвратительная, по этому был сделан выбор считать время между импульсами, как только есть два импульса - всё, у нас есть почти идеально точные показания...
программка написана на BASCOM AVR, чтобы в сути можно было разобраться - есть некоторые комментарии в исходнике. суть программы - посчитать время между импульсами, запилить из времени число от 0 до 37, это первая шкала до 9000об/мин с шагом в 250об/мин или до 180км/ч с шагом 5км/ч, посмотреть через АЦП сопротивление датчика температуры или датчика уровня топлива в число от 0 до 9, после этого "затолкать" эти цифры в сдвиговый регистр MBI5026 чтобы он зажёг нужные нам светодиоды.
в чём идиотизм написанной программы и платы в целом? в том, что я перепутал расположение микросхем, шкалы, делённые на 3 микросхемы заполняются "задом наперёд", по этому в программке при заполнении регистров этот косяк исполняется программно, на уровне знаний школьника
платка есть только в растре для печати при разрешении 600DPI, ибо что Ares меня послал нафиг с моими запросами
видео работы этого чудища, снятое на кирзовый сапог - http://www.youtube.com/watch?v=-0OSIYQO-4U&feature=youtu.be
что нужно для изготовления:
атмега 8 tqfp44 - мозги
3 штуки mbi 5026GD или её кореша - драйверы светодиодов\16битные сдвиговые регистры
1 штука hcf 4050 - буфер, используется как согласователь 0/12в сигналов в 0/5 TTL-совместимые
6 перемычек-резюков, плата односторонняя, без них не обошлось...
3 резистора 910Ом
кварц 8-16мгц
2 кондёра к нему, 20пФ
1 индуктивность 10-100мкГн - питание АЦП
1 кондёр 0,1мкФ - питание АЦП
1 резюк 10кОм - цепь входа АЦП
и, самое аццкое - 46 светодиодов
