Схемы индикации шестнадцатеричного hex кода на 7 сегментном светодиодном индикаторе
Дисплеи на семисегментных светодиодных индикаторах широко применяются в различных устройствах благодаря своей низкой стоимости, простоте в использовании и хорошей визуальности. Это могут быть и электронные часы, измерительные приборы и различные управляющие устройства в промышленности и бытовой технике.
В программе Logisim в библиотеке “Ввод/Вывод” есть не только простой семисегментный индикатор, но и шестнадцатеричный индикатор, который может отображать так называемый шестнадцатеричный “hex” код с символами “0,1,2…9,A,B,C,D,E,F” при подключении к четырехразрядной шине данных. Понятно что элемент “шестнадцатеричный индикатор” декодирует четырехзначный двоичный код в сигналы для зажигания соответствующих сегментов индикатора. Этот индикатор очень удобен в программе Logisim для отображения значений каких-нибудь двоичных счетчиков, шин данных и адресов в проектах процессорных устройств и т.д.
Рис 1. Элементы индикации Logisim
Рис 2. Символы шестнадцатеричного кода
Если допустим какой-то проект какого-то устройства подразумевает практическую реализацию, то скорее всего использовать готовые шестнадцатеричные индикаторы или микросхемы декодеров двоичного кода в код символов семисегментного индикатора не получиться из-за их отсутствия. Можно найти микросхемы декодеров четырехразрядного двоичного кода в символы десятичных цифр “0,1,2…9” и некоторые управляющие символы, например:CD4511, 74hc4511,74LS47 или К514ИД2(аналог MSD101). Но декодеров с дополнительными шестнадцатеричными символами “A,B,C…F” нет.
Логично смоделировать и отсимулировать в программе какую-то схему, которая будет производить необходимое декодирование четырехразрядного двоичного кода в код символов семисегментного индикатора. Какого-то логико-математического метода преобразования двоичного кода в код для сегментной индикации нет. Поэтому придется воспользоваться матричными способами преобразования.
Для начала составим таблицу в которой отметим все случаи зажигания конкретных сегментов индикации при отображении всех 16 символов четырехразрядного двоичного кода. Ряды таблицы будут соответствовать сегментам индикации, столбцы символам двоичного кода,символы звездочка “*” в ячейках - будут указывать на случаи зажигания. В ячейках последнего столбца будет указано количество случаев зажигания для каждого сегмента.
Рис 3. Таблица
Первый вариант: Входной четырёхразрядный двоичный код с помощью дешифратора будет преобразован в позиционный код - 0,1,2,3…14,15. Каждая позиция будет соответствовать своему шестнадцатеричному символу. Каждый сегмент индикации будет управляться своим собственным многовходовым элементом “ИЛИ”, каждый вход которого будет подключен к соответствующему выходу дешифратору согласно данным из таблицы.
Рис 4. Логическая схема первого варианта
Чтобы протестировать этот дизайн, уберем из схемы 7-сегментный индикатор, который использовался для контроля ошибок при соединениях элементов схемы, а к выходам элементов ИЛИ подключим выходные контакты и отредактируем внешний вид схемы.
Рис 5. Тестовая схема
Меняя состояние счетчика, можно последовательно сравнить правильность отображения всех символов между шестнадцатеричным индикатором из библиотеки Logisim и схемой полученного декодера.
Практическая реализация этой схемы будет затруднена, т.к. микросхемы многовходовых элементов ИЛИ(с числом входов 10-12) давно не производятся, доступность их крайне мала.А также учитывая что подобные микросхемы выпускались в DIP корпусах, дизайн печатных плат будет относительно большим.
Второй вариант: Применение программируемых микросхем 74188(256-Bit Programmable TTL ROM) или их аналогов К155РЕ3.
Рис 6. К155РЕ3
Эти микросхемы тоже давно не выпускаются и поэтому тоже труднодоступны, но учитывая получаемую компактность схемы, они являются лучшим вариантом. 74188 и её аналог К155РЕ3 имеют объем памяти 256 бит, 5-разрядную шину адреса, 8 управляемых выходов и вход управления CS(chip select). Вот структурная логическая схема IC 74188
Рис 7. Логическая схема IC 74188
Для удобства программирования памяти сделаем другую симулирующую схему
Рис 8. Схема программирования IC 74188
В реальной микросхеме программируются “нули”, что делает очень удобным подключать 7-сегментные светодиодные индикаторы с общим анодом непосредственно к выходам через гасящие резисторы сопротивлением в несколько сотен ом. Для правильной симуляции необходимо в свойствах элемента “7-сегментный индикатор” - Активен при единице? - выбрать “нет”.
Рис 9. Схема теста декодера на микросхеме 74188
Эти коды надо правильно вписать в память по порядку начиная с нулевого адреса -
7f 06 5b 4f 66 6d 7d 07 7f 6f 77 7d 39 5e 79 71
В этом проекте декодера использованы только первые 16 байт памяти, вторую половину памяти можно запрограммировать дополнительно символами некоторых букв или знаков по усмотрению