23.12.2024 в 03:27
Четырёхразрядный семисегментный индикатор с общим анодом (продолжение)
Вопрос решается следующим образом - на основе динамической индикации (это метод отображения целостной картины через быстрое последовательное отображение отдельных элементов этой картины; причем, «целостность» восприятия получается благодаря инерционности человеческого зрения).
То есть нужно выводить цифры каждого разряда последовательно, с очень малой задержкой (напр. в приложенной ниже программе я выбрал интервал 10 мс)! Поочерёдно подключаем все 4 разряда индикатора, с нужными активными сегментами.
Вот как это работает:
Светодиоды подключены к общим анодам только для наглядности при отладке.
Схема (существенная её часть - подключение портов к выводам индикатора) в Протеусе:
Программный код в CVAVR. Код недоработанный, но работает)
На PORTC.1 ещё цепляется кнопка, второй её вывод идёт на землю. В таком подключении индикатор зажигает разряды (в цикле) только по нажатию кнопки. При бескнопочном подключении нужно либо убрать проверку "If (!PINC.1)", либо поставить вместо кнопки перемычку, добавив резистор на пару-тройку сотен Ом (Видео снято до внедрения кнопки).
Продолжение здесь
Просмотров: 9660. Комментариев: 0 | |