Дешифратор семисегментного кода.
Программа позволяет быстро составить таблицу преобразования двоично-десятичного кода в семисегментный. Используется, если нужно выводить информацию в различные табло, и индикаторные элементы представляют собой семисегментные светодиодные индикаторы.
Имеется два режима формирования таблицы:
- для ассемблера:
- для Паскаля, например, если программируем в Turbo51.
Скриншот программы можно посмотреть ТУТ.
Как оказалось, этот файл среди загрузок оказался самым востребованным. Поэтому хочу дать некоторые дополнительные разъяснения по поводу данной программы. Я в своих разработках использую микроконтроллеры MCS-51. В свое время пришлось разрабатывать и изготавливать большое количество часов с семисегментными индикаторами. Поскольку в разных изделиях требовались разные таблицы дешифровки двоично-десятичный - семисегментный код, пришла мысль сделать утилиту для автоматизации процесса составления таблицы. В дальнейшем мне это здорово помогло - не только процесс стократно ускорился, но и количество ошибок стало стремиться к нулю.
Я являюсь приверженцем статической индикации, пусть такой подход и приводит к некоторым аппаратным излишествам, потому что, как подсказывает опыт, применение динамической индикации, когда приходится многократно увеличивать значение импульсного тока через светодиоды, часто приводит к быстрой деградации полупроводниковой излучающей структуры, что, как понимаете, нехорошо.
Поэтому я применял для вывода информации в табло структуру: линия порта микроконтроллера -->полевой транзистор-->катод семисегментного индикатора с общим анодом-->балластный резистор-->стабилизированный источник питания (импульсный). Инверсию сигнала производит транзистор, поэтому активные уровни на выводах портов - единицы. Думаю, что нелишним будет иметь возможность получить и инвертированную таблицу. Завтра сделаю.
В элементе ввода программы, расположенном в левой верхней части окна, подразумевается ввод последовательности наименований сегментов индикатора в соответствии с линиями порта микроконтроллера, начиная со старшего, седьмого. То есть слева располагается сегмент, подключенный к седьмому биту порта, справа - подключенный к нулевому биту.
Например, мы вводим последовательность hgfedcda. Этот порядок должен соответствовать случаю, когда в схеме сегмент Н подключен к линии (биту) порта (какого-либо) 7, сегмент G-6, F-5 и т.д.
|