В конструкции измерительных устройств с цифровым дисплеем может присутствовать дополнительный дисплей для отображения измеряемого параметра в аналоговом виде. Шкальный индикатор это простой графический индикатор, обеспечивающий легкое сравнение текущего уровня с максимальным уровнем измеряемого сигнала. Но стандартное решение на основе микроконтроллера требует использования как минимум одного 8-битного порта ввода-вывода для управления 8-сегментным шкальным светодиодным индикатором.
Альтернативой служат некоторые микропроцессоры, имеющие ШИМ (широтно-импульсная модуляция) выход. Вы можете уменьшить число требуемых линий ввода-вывода, используя ШИМ выход для управления микросхемой драйвера шкального индикатора LM3914 компании National Semiconductors или аналогичной. При работе программа микроконтроллера управляет ШИМ выходом таким образом, чтобы среднее напряжение, подаваемое на LM3914, зажигало требуемое количество сегментов на индикаторе.
Выходной сигнал микросхемы IC3 имеет низкий уровень на время T1–T2, и этот импульс очищает IC2, 8-битный сдвиговый регистр с последовательным вводом параллельным выводом данных. Сброс переводит все выходы IC2 в низкий уровень и зажигает все сегменты шкального индикатора (с LED1 по LED8).
Для включения N сегментов шкального индикатора, микроконтроллер немедленно выдает последовательность (8–N) импульсов длительностью T3 через выходную линию порта. Так как длительность импульсов менее чем T2, выход элемента 2И-НЕ остается в высоком состоянии, и поэтому они не вызывают сброс регистра IC2. Положительный фронт каждого выходного импульса микроконтроллера приводит к загрузке высокого уровня в один из выходов микросхемы IC2.
Если в микроконтроллере имеется еще одна свободная линия вывода, вы можете обойтись без микросхем одновибратора IC1 и элемента 2И-НЕ IC3 и использовать эту линию для очистки сдвигового регистра, выдавая ноль, как только потребуется обновить состояние шкального индикатора. Для получения большего разрешения, вы можете добавить сегменты к шкальному индикатору последовательно, соединяя сдвиговые регистры. Для включения N сегментов индикатора, включающего M сегментов, первый выходной порт выдает M–N импульсов на тактовый вход сдвиговых регистров.
Данное решение подходит в случае дефицита линий ввода-вывода, например, при использовании микроконтроллеров в компактных корпусах или, если вам необходимо модифицировать шкальный индикатор, добавляя дополнительную плату в конструкцию.