Ниже приведена схема подключения восьми индикаторов с использованием семи линий порта (рис. П3.7). Восемь линий порта позволяют подключить до 16 индикаторов (при этом необходимо использовать дешифратор 4/16).
Рис. П3.7. Схемы подключения 8 индикаторов к микроконтроллеру
31
Стоит отметить, что индикаторы могут подключаться к МК и через другие схемы: буферные регистры, сдвиговые регистры, периферийные адаптеры и др. Ниже приведена схема подключения индикаторов через буферные регистры
(рис. П3.8).
|
XTAL1 |
P1 |
A0..A7 |
RG |
|
a |
|
|
|
||||
|
|
|
|
|
|
b |
|
XTAL2 |
P0.0 |
OE |
D0..D7 |
3 |
c |
|
|
P0.1 |
|
|
d |
|
+5B |
|
|
|
|
||
RST |
P0.2 |
STB |
|
|
e |
|
|
|
|
||||
|
|
P0.3 |
|
|
|
f |
Ucc |
EA |
P0.4 |
|
RG |
|
g |
|
P0.5 |
A0..A7 |
|
|
||
|
|
|
|
|||
RST |
P3.0 |
P0.6 |
|
|
|
|
Uss |
P3.1 |
P0.7 |
OE |
D0..D7 |
|
a |
P3.2 |
|
|
|
b |
||
|
|
|
|
|
||
|
P3.3 |
P2 |
STB |
|
3 |
c |
|
P3.4 |
|
|
|
|
d |
|
P3.5 |
ALE |
|
RG |
|
e |
|
P3.6 |
|
A0..A7 |
|
f |
|
|
P3.7 |
PSEN |
|
|
|
g |
|
|
|
OE |
D0..D7 |
|
|
|
|
|
|
|
|
|
|
|
|
STB |
|
|
a |
|
|
|
|
|
|
b |
|
|
|
|
RG |
3 |
c |
|
|
|
D0..D7 |
|
d |
|
|
|
|
|
|
|
e |
|
|
|
OE |
A0..A7 |
|
f |
|
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
STB |
|
|
+U |
Рис. П3.8. Схема подключения индикаторов через буферные регистры
Существуют индикаторы со встроенным сдвиговым регистром, благодаря чему намного уменьшается количество задействованных выводов портов микроконтроллера.
Многоразрядные светодиодные индикаторы часто работают по динамическому принципу: выводы одноимённых сегментов всех разрядов соединены вместе. Чтобы выводить информацию на такой индикатор, управляющая микросхема должна циклически подавать ток на общие выводы всех разрядов, в то время как на выводы сегментов ток подаётся в зависимости от того, зажжён ли данный сегмент в данном разряде
(рис. П3.9).
32
Рис. П3.9. Схема многоразрядного светодиодного индикатора
Динамическая индикация позволяет сократить требуемое для подключения количество выводов. Идея динамической индикации состоит в том, что информация отображается не во всех разрядах индикатора сразу, а поочерёдно, в каждый момент времени только в одном разряде. В связи с тем, что зрение инерционно, необязательно чтобы все элементы изображения светились непрерывно и одновременно. Если с достаточно высокой частотой последовательно переключаться от отображения одного разряда к следующему, а когда будет достигнут последний разряд индикатора, снова переходить к отображению первого и т. д., то глазом это будет восприниматься так, как если бы каждый разряд отображал информацию статично. Этот метод похож на использовавшийся в кинескопах способ формирования изображения с помощью развёртки.
Так как требуется, чтобы в каждый момент времени работал только один разряд индикатора, то количество выводов можно существенно уменьшить: выводы одноимённых сегментов всех разрядов соединяются вместе, образуя общую шину для управления сегментами. Включение нужного разряда производится с помощью вывода общего анода (или катода, в зависимости от варианта исполнения индикатора) этого разряда.
33
Как правило, индикаторы, содержащие несколько разрядов, выпускаются именно в расчёте на динамическую индикацию и все необходимые соединения выполнены внутри устройства. N-разрядный индикатор в этом случае имеет 8 выводов для управления сегментами и N выводов для управления включением разрядов (общий анод или катод разряда). Всего требуется 8 + N выводов, что намного лучше, чем 8 * N + 1 при статической индикации.
Для этого в цикле выполняются следующие действия.
1.Гасятся все разряды индикатора – для предотвращения появления артефактов на выводимом изображении при смене состояния шины управления сегментами; если используется схема с общими катодами, для этого на общие катоды всех разрядов подаётся высокий уровень (лог. 1); в схеме с общими анодами, на аноды подаётся лог. 0.
2.На шину управления сегментами выдаются сигналы для отображения символа в очередном разряде.
3.Зажигается очередной разряд.
Либо можно погасить сегменты с помощью шины управления сегментами, переключиться на очередной разряд и выставить на шине сегментов индикатора сигналы для формирования символа. Возможны различные варианты, так что можно выбрать тот, который в данной ситуации проще реализовать.
Затем делается пауза, в течение которой происходит отображение информации на текущем разряде, после чего процесс повторяется. В результате происходит последовательное отображение от первого разряда до последнего, после чего вновь возвращаемся к первому и т. д.
Если разряды переключаются с частотой f, то время отображения одного разряда составит максимум 1 / f. Максимум – потому что время горения разряда может быть и меньше периода переключения. Можно изменять время горения от 0 до 1 / f и тем самым регулировать яркость разряда за счёт эффекта от широтно-импульсной модуляции.
34
При количестве разрядов N полное время регенерации изображения на индикаторе в целом составит N * 1 / f, соответственно, частота регенерации F = 1 / T = f / N. Для того чтобы не было заметно мерцания изображения, частота регенерации F должна быть не менее 50 Гц, а лучше не менее 100 Гц.
Следует обратить внимание, что не каждый микроконтроллер сможет обеспечить достаточный ток для управления сегментами, и тем более не каждый сможет непосредственно управлять включением разрядов – ток через общий вывод разряда может превышать ток сегмента в 8 раз, если горят все элементы разряда. Но это не большая проблема – подключить индикатор к микроконтроллеру можно через микросхемудрайвер с мощными выходами или можно использовать ключи на транзисторах.
Вместо обычных повторителей или инверторов для подключения выводов управления разрядами индикатора может использоваться дешифратор n x N или демультиплексор. Помимо увеличения нагрузочной способности, это даёт возможность ещё уменьшить количество занятых управлением индикатором выводов микроконтроллера. На входы дешифратора подаётся двоичный код, и только на одном выходе, определяемом этим двоичным кодом, будет лог. 1, а на всех остальных будет лог. 0 (или, если выходы инверсные, то наоборот). Дешифратор с трёхбитовым входом имеет до 2**3 = 8 выходов и может использоваться до 8-разрядных индикаторов включительно, а с 4-битовым входом может переключать до 16 разрядов. Демультиплексор осуществляет коммутирование входного сигнала E на один из выходов, задаваемых адресными входами и полностью эквивалентен дешифратору при E = 1, а при E = 0 на всех выходах будет лог. 0 (или 1, если выходы инверсные).
Внекоторых случаях, особенно если количество разрядов
уиндикатора небольшое, при подключении удаётся обойтись без дополнительных микросхем.
Вспецификации на индикатор указывается потребляемый одним сегментом ток. Обычно это величина порядка несколь-
35