Проектирование устройств вывода информации с использованием цифрового генератора шаблона в Proteus 8.11. Часть 2

Автор: Татьяна Колесникова (beluikluk@gmail.com)

Материал опубликован в журнале СОВРЕМЕННАЯ ЭЛЕКТРОНИКА № 6/2022

В статье рассмотрено проектирование электронных устройств вывода информации с использованием цифрового генератора шаблона в Proteus. Представлены примеры моделирования схем с применением 7-сегментных индикаторов и матрицы светодиодов, работающих под управлением одного или двух приборов Pattern generator, синхронно генерирующих выходные сигналы данных или команд в режиме внутренней или внешней синхронизации, когда генератор шаблона используется для формирования двоичного кода десятичных чисел, сигналов управления свечением разрядов индикатора, а также для реализации динамической индикации на базе двух-, четырёх-, шестиразрядных 7-сегментных индикаторов и создания кода световых эффектов бегущих огней или поочерёдного свечения группы светодиодов.

Работа с цифровым генератором шаблона и 7-сегментными индикаторами в Proteus

Применение генератора шаблона для управления одноразрядными 7-сегментными индикаторами

Цифровой генератор шаблона формирует выходные цифровые сигналы по заданному 8-битовому шаблону и используется для подачи этих сигналов в моделируемую схему. В Proteus генератор шаблона можно применить в качестве внешнего источника данных для микросхем 7-сегментных индикаторов. Рис. 1 демонстрирует сопряжение прибора с микросхемой одноразрядного 7-сегментного индикатора.

Рис. 1. Сопряжение генератора шаблона с микросхемой одноразрядного 7-сегментного индикатора в схемном редакторе Proteus

Как видно на рис. 2, двоичный код 0011, снятый с выводов генератора при помощи цветных пробников логических уровней 0 и 1, соответствует отображаемой на индикаторе цифре 3 (см. табл. 1).

Рис. 2. Формирование с помощью генератора шаблона двоичного кода цифры 3 и её отображение на одноразрядном 7-сегментном индикаторе


Таблица 1. Двоичные и семисегментные коды на входах и выходах дешифратора и соответствующие им десятичные цифры 0– 9

В представленном примере пробники (компоненты LOGICPROBE (BIG) из раздела Logic Probes библиотеки Debugging Tools – рис. 3а) используют в качестве элементов отображения цифровых сигналов.

Рис. 3. Выбор из библиотеки компонентов Proteus: (а) пробника логических уровней 0 и 1, (б) дешифратора 74LS48, (в) одноразрядного 7-сегментного индикатора, (г) источника логических уровней 0 и 1, (д) самовозвратной кнопки

В рабочее поле проекта добавлены 11 компонентов LOGICPROBE (BIG). Четыре подключены к выходам Q0–Q3 генератора шаблона, семь к выходам QA–QG микросхемы дешифратора 74LS48.

Рассмотрим управление микросхемой 7-сегментного индикатора с помощью генератора шаблона на конкретном примере. Для этого создадим новый проект и добавим в рабочую область следующие компоненты: 7SEG-MPX1-CC (одноразрядный 7-сегментный индикатор с общим катодом), 74LS48 (дешифратор), генератор шаблона.

Чтобы добавить цифровой генератор шаблона в рабочее поле программы, нажимают на строку с его названием (PATTERN GENERATOR) на панели INSTRUMENTS (панель открывают нажатием кнопки Virtual Instruments Mode на левой панели схемного редактора) и размещают его мышью в необходимом месте на схеме (рис. 4а).
Рис. 4. Выбор: (а) цифрового генератора шаблона на панели INSTRUMENTS, (б) символа «земли» на панели TERMINALS и их размещение в рабочей области схемного редактора программы Proteus

После запуска симуляции схемы открывается лицевая панель прибора. Шаблон создают вручную на дисплее лицевой панели генератора либо загружают из файла [1].

Чтобы отобразить цифру, нужно «зажечь» определённые сегменты индикатора. Разные комбинации светящихся элементов 7SEG-MPX1-CC, обеспечиваемые внешней коммутацией, позволяют отображать цифры от 0 до 9 и децимальную точку. Для управления 7-сегментным индикатором в схеме используется двоично-десятичный дешифратор 74LS48 (отечественный аналог 1564ИД23). Микросхема дешифратора выполняет преобразование двоичного кода, полученного с его входов A, B, C, D, в код цифры для её дальнейшего отображения на индикаторе.

Микросхема 74LS48 – это специальный дешифратор, предназначенный для преобразования двоичного кода в семисегментный код (такой код необходим для отображения на индикаторе значений цифр от 0 до 9) и управления 7-сегментными и жидкокристаллическими индикаторами. Входы А, B, C, D – информационные входы. Выходы OA–OG используют для подключения дешифратора к 7-сегментному индикатору. Двоичные и семисегментные коды на входах и выходах дешифратора и соответствующие им десятичные цифры представлены в табл. 1.

Микросхему дешифратора добавляют из раздела Decoders библиотеки TTL 74LS series (рис. 3б). Для добавления микросхемы одноразрядного 7-сегментного индикатора с общим катодом (рис. 3в) из раздела 7-Segment Displays библиотеки Optoelectronics выбирают компонент 7SEG-MPX1-CC (индикатор с децимальной точкой красного цвета).

Подключим выводы Q0–Q3 генератора шаблона к входам А, B, C, D дешифратора, первые семь выводов 7-сегментного индикатора к выходам OА, OB, OC, OD, OE, OF, OG дешифратора так, как показано на рис. 5.

Рис. 5. Вывод на одноразрядном 7-сегментном индикаторе цифры 7 при помощи генератора шаблона

Добавим в схему два символа «земли», выбрав на панели TERMINALS строку GROUND (рис. 4б). Панель открывают нажатием кнопки Terminals Mode на левой панели схемного редактора. Строку POWER панели TERMINALS используют для добавления символа питания. Из раздела Logic Stimuli библиотеки Debugging Tools выберем источник логической единицы – компонент LOGICSTATE (рис. 3г). После запуска симуляции компонент LOGICSTATE подаёт в схему логический уровень, значение которого отображено на его пиктограмме. Переключение логического уровня выполняется щелчком левой кнопки мыши по пиктограмме компонента на схеме. В исследуемой схеме (рис. 5) используются два компонента LOGICSTATE, один из которых формирует логический уровень 1 на входах BI/RBO, RBI, LT дешифратора, с помощью второго выполняется управление свечением децимальной точки на индикаторе.

В качестве примера при помощи генератора шаблона отобразим на индикаторе цифру 7 (рис. 5). Для этого создадим на диске компьютера файл шаблона с расширением .ptn, в который занесем её двоичный код (0111). После запуска симуляции схемы значение сформированной строки бит посылается параллельно на соответствующие выводы прибора в двоичном виде, а также отображается в виде пустых и закрашенных ячеек в таблице на дисплее лицевой панели генератора. Таблица содержит 8 строк, соответствующих 8 битам выходного сигнала, подающимся на выходы Q0-Q7 и/или на шину B[0..7] генератора шаблона.

В схеме (рис. 5) используется самовозвратная кнопка BUTTON, которую добавляют из раздела Switches библиотеки Switches & Relays (рис. 3д). Её нажатие формирует внешний сигнал синхронизации на входе TRIG генератора шаблона, после чего код шаблона последовательно построчно появляется на выходах Q0–Q3 генератора. Выбор компонентов из базы данных для последующего их размещения в рабочей области редактора Schematic Capture программы Proteus выполняют в окне Pick Devices, которое открывают командой контекстного меню Place/Component/From Libraries (контекстное меню вызывают щелчком правой кнопки мыши в рабочей области проекта) или нажатием кнопки P на панели DEVICES (по умолчанию панель расположена в левой части программы и содержит список имеющихся в проекте компонентов). Открывают панель DEVICES нажатием кнопки Component Mode на левой панели инструментов схемного редактора.

Настроим параметры генератора шаблона, для чего в окне его свойств (окно открывают двойным щелчком левой кнопки мыши по размещённому на схеме компоненту) укажем (рис. 6):

Рис. 6. Окно настройки параметров генератора шаблона

  • Part Reference – позиционное обозначение прибора (GENERATOR_SH), которое можно скрыть или отобразить на схеме установкой/снятием флажка в соответствующем ему чекбоксе Hidden;
  • Clock Rate – частоту внутреннего тактирования (500.0 mHz);
  • Reset Rate – частоту синхронизации (250.0 mHz);
  • Clock Mode – режим тактирования генератора (Internal – внутренний);
  • Reset Mode – источник и сигнал синхронизации (Sync External Pos Edge – внешний синхронный положительный фронт);
  • Clockout Enabled in Internal Mode – формирование импульсов внутреннего генератора на выводе CLKOUT генератора шаблона при внутреннем тактировании (No – отсутствует);
  • Output Configuration – конфигурация вывода данных (Output to Pins Only – вывод данных только на выходы Q0–Q7);
  • Pattern Generator Script – путь к файлу шаблона на диске компьютера или его имя, если схемный проект и файл шаблона находятся в одной папке (Pattern1.PTN).
Запустим моделирование и проверим правильность работы собранной схемы. Как видно на рис. 5, на выводах генератора шаблона отображается двоичный код 0111, записанный в файле шаблона в виде строки (%00000111,). Этот код (табл. 1) соответствует десятичной цифре 7 на индикаторе. Полученные на выводах Q0–Q3 генератора шаблона и на выходах OA–OG дешифратора значения отобразим на схеме при помощи цветных пробников логических уровней 0 и 1, которые подсоединим к исследуемым выходам компонентов схемы. При появлении на выходах логической единицы на пиктограмме пробника отобразится значение «1», при появлении же логического нуля отобразится значение «0». Сверим полученные на выходах OA–OG дешифратора значения 1110000 с семисегментным кодом цифры в табл. 1. Как видим, полученная комбинация нулей и единиц соответствует коду цифры 7.

При помощи генератора шаблона можно организовать последовательный вывод цифр на 7-сегментном индикаторе. Для этого соответствующий значениям цифр код вводится построчно в файле шаблона. Например, чтобы организовать последовательный вывод чисел 2, 4, 5, 6, 8 (рис. 7) на 7-сегментном индикаторе, запишем в файл шаблона построчно следующий двоичный код:
%00000010,
%00000100,
%00000101,
%00000110,
%00001000,

Рис. 7. Построчная запись в файле шаблона двоичного кода и последовательный вывод на 7-сегментном индикаторе соответствующих ему цифр: (а) 2, (б) 4, (в) 5, (г) 6, (д) 8

Моделирование собранной схемы запускают при помощи кнопки Run the simulation, которая находится в левом нижнем углу окна схемного редактора. Чтобы временно приостановить симуляцию, используют кнопку Pause the simulation, or start up at time 0 if stopped. Остановить моделирование можно при помощи кнопки Stop the simulation.

Применение генератора шаблона для управления работой двухразрядных 7-сегментных индикаторов

Для управления с помощью генератора шаблона двухразрядным 7-сегментным индикатором, собранным на основе микросхем 7SEG-MPX1-CC, используют два дешифратора 74LS48, которые подключают к выводам одного генератора шаблона (рис. 8).

Рис. 8. Схема сопряжения двухразрядного 7-сегментного индикатора, собранного на основе микросхем 7SEG-MPX1-CC, с генератором шаблона

В представленном на рис. 9а примере после запуска симуляции схемы индикатор отображает цифры 8 и 0.

Рис. 9. Запись в файле шаблона двоичного кода и последовательный вывод на двухразрядном 7-сегментном индикаторе соответствующих ему цифр: (а) 8 и 0, (б) 1 и 4, (в) 3 и 2

Для этого в файле шаблона в одну строку введён двоичный восьмиразрядный код 00001000, где 1000 – двоичный код цифры 8 (подаётся на выводы Q0–Q3 генератора шаблона, а затем – на выводы A, B, C, D микросхемы дешифратора U1), и 0000 – двоичный код цифры 0 (подаётся на выводы Q4–Q7 генератора шаблона, а затем на выводы A, B, C, D микросхемы дешифратора U2). Параметры генератора шаблона оставлены без изменений – такими, как в рассмотренном выше примере управления одноразрядным 7-сегментным индикатором.

Двоичный код цифр 8 и 0, преобразованный дешифраторами U1 и U2 в семисегментный, поступает на выводы сегментов A, B, C, D, E, F, G двухразрядного индикатора. Управление отображением точек на экране двухразрядного индикатора в нашем примере реализовано с помощью компонента LOGICSTATE. Если на восьмые выводы индикаторов 7SEG-MPX1-CC подаётся логическая 1 – точки засвечиваются (рис. 9а), когда логический 0 – точки гаснут (рис. 9б). Воспользовавшись двумя компонентами LOGICSTATE, можно раздельно управлять свечением точек (рис. 9в), например, засветить точку в первом разряде и погасить во втором (рис. 9в).

В представленном на рис. 9б примере индикатор отображает цифры 1 и 4. Для этого в файл шаблона генератора в одну строку введён двоичный восьмиразрядный код 01000001, где 0001 – двоичный код цифры 1 (подаётся на выводы Q0–Q3 генератора шаблона, а затем – на выводы A, B, C, D микросхемы дешифратора U1) и 0100 – двоичный код цифры 4 (подаётся на выводы Q4–Q7 генератора шаблона, а затем на выводы A, B, C, D микросхемы дешифратора U2). На рис. 9в показан пример отображения индикатором цифр 3 и 2, двоичный код которых 0011 и 0010 соответственно.

Управление свечением точек на экране индикатора можно организовать и другим способом – добавив в схему ещё один генератор шаблона, соединив его выходы (например, Q6 и Q7) с выводами сегментов H микросхем 7SEG-MPX1-CC и задав в файле шаблона соответствующий двоичный код (рис. 10).

Рис. 10. Управление свечением точек двухразрядного 7-сегментного индикатора с помощью генератора шаблона. Формирование на выводах Н индикатора двоичного кода: (а) 11, (б) 00, (в) 01

В представленном на рис. 10 примере двухразрядный индикатор работает под управлением двух генераторов шаблона G1 и G2, синхронно формирующих выходные сигналы, код которых хранится в файлах Pattern31.ptn и Pattern32.ptn. Для подачи внешнего сигнала синхронизации на вход TRIG компонентов G1 и G2 используется кнопка BUTTON. Генератор шаблона G1 формирует двоичный код отображаемых на двухразрядном индикаторе цифр, генератор G2 – код свечения точек.

Назначим для генератора шаблона G1 файл шаблона Pattern31.ptn, а для генератора шаблона G2 – файл шаблона Pattern32.ptn. Обратите внимание на значения параметров генераторов шаблона G1 и G2 в окне Edit Component:
  • Clock Rate – 500.0 mHz;
  • Reset Rate – 250.0 mHz;
  • Clock Mode – Internal (внутренний);
  • Reset Mode – Sync External Pos Edge (внешний синхронный положительный фронт);
  • Output Configuration – Output to Pins Only (вывод данных только на выводы Q0–Q7).
Для синхронной работы приборов G1 и G2 эти значения должны быть одинаковыми.

Для управления с помощью генератора шаблона двухразрядным 7-сегментным индикатором 7SEG-MPX2-CC-BLUE используют одну микросхему 74LS48, которую подключают к выводам Q0–Q3 генератора (рис. 11).

Рис. 11. Схема сопряжения двухразрядного 7-сегментного индикатора 7SEG-MPX2-CC-BLUE с генератором шаблона

Индикатор имеет семь выводов управления сегментами (A, B, C, D, E, F, G), вывод управления свечением децимальными точками (DP) и выводы управления свечением разрядов (1 и 2).

На схеме микросхема U2 – это двухразрядный индикатор с общим катодом (компонент 7SEG-MPX2-CC-BLUE из раздела 7-Segment Displays библиотеки Optoelectronics, рис. 12).

Рис. 12. Выбор компонента 7SEG-MPX2-CC-BLUE из раздела 7-Segment Displays библиотеки Optoelectronics

В представленном на рис. 11 примере управление свечением точек и разрядов индикатора обеспечивают три компонента LOGICSTATE. Логическая 1 на выводе DP индикатора засвечивает точки, соответственно, логический 0 их гасит. Логический 0 на выводах 1 и 2 засвечивает разряды индикатора, логическая 1 – гасит. Чтобы отобразить цифру в первом разряде, необходимо подать её семисегментный код на выводы A–G индикатора, на его вывод 1 – логический 0, а на вывод 2 – логическую 1 (рис. 13а).
Рис. 13. Управление отображением цифры 3 на дисплее индикатора 7SEG-MPX2-CC-BLUE: (а) активация первого, (б) второго, (в) двух разрядов индикатора

Для отображения цифры во втором разряде на вывод 1 индикатора подают логическую 1, а на вывод 2 – логический 0 (рис. 13б). Если на выводы 1 и 2 подать комбинацию сигналов – 00, то цифра отобразится сразу в двух разрядах индикатора (рис. 13в). Комбинация 11 отключает отображение цифр на дисплее.

В представленном на рис. 13 примере индикатор отображает цифру 3. Для этого в файле шаблона генератора в одну строку введён двоичный восьмиразрядный код 00000011, где 0011 – двоичный код цифры 3, который подаётся на выводы Q0–Q3 генератора шаблона, преобразуется с помощью дешифратора в семисегментный код цифры, а затем поступает на выводы A–G двухразрядного индикатора. Для формирования шаблона на диске компьютера создают текстовый файл, заносят в него двоичный код цифры и сохраняют файл с расширением .ptn. В файле необходимо соблюдать следующий синтаксис записи кода:
%00000011,

Чтобы отобразить на дисплее индикатора две разные цифры, воспользуемся методом динамической индикации, который применяют для упрощения схемы управления двухразрядным индикатором, а также для сокращения количества его выводов. Данный способ управления подразумевает поочерёдное включение групп сегментов со скоростью, превышающей время реакции человеческого глаза. Несмотря на то что изображение на индикаторе при таком способе управления в каждый момент времени неполное, глаз человека интегрирует его и видит целостную картинку. Динамическая индикация широко применяется для отображения различной информации, например, температуры, напряжения, времени или просто количества срабатывания каких-либо устройств или датчиков.

В примере на рис. 14 для реализации динамического способа управления применён следующий алгоритм:
  • подачей логического 0 на вывод 1 включим первый разряд индикатора;
  • сформируем на выводах Q0–Q3 генератора шаблона двоичный код первой цифры;
  • подачей логической 1 на вывод 1 выключим первый разряд индикатора;
  • подачей логического 0 на вывод 2 включим второй разряд индикатора;
  • сформируем на выводах Q0–Q3 генератора шаблона двоичный код второй цифры;
  • подачей логической 1 на вывод 2 выключим второй разряд индикатора.

Рис. 14. Управление с помощью генератора шаблона динамической индикацией на экране двухразрядного дисплея 7SEG-MPX2-CC-BLUE

Чтобы свечение индикатора воспринималось без мерцания, частота смены разрядов на дисплее (её определяют в поле Clock Rate окна настройки параметров генератора шаблона, рис. 15) должна быть достаточно высокой. 

Рис. 15. Настройка в окне свойств генератора шаблона частоты переключения цифр на дисплее индикатора

В нашем примере установим значение Clock Rate 100 Hz. Также введём новое значение в поле Reset Rate – 50 Hz. 

В поле Pattern Generator Script укажем имя файла шаблона (Pattern5.PTN), который в нашем примере находится в одном каталоге со схемным проектом. Значения параметров Clock Mode (Internal) и Reset Mode (Sync External Pos Edge) оставим без изменений (такими как в предыдущем примере). В результате после запуска моделирования схемы в каждом разряде отобразятся две разные цифры (рис. 14).

Для формирования полного изображения необходимо для каждого разряда индикатора на выходах генератора шаблона Q0–Q5 последовательно установить код, четыре младших бита (0–3) которого соответствуют двоичному коду цифры, четвёртый и пятый биты – коду управления свечением разрядов. В примере на рис. 14 управляющий код в файле шаблона содержит две строки, первая – включает первый разряд индикатора для вывода цифры 3, вторая – второй разряд для вывода цифры 2.

В цифровом генераторе есть возможность задать формирование определённой части шаблона, что в нашем примере будет полезным для вывода чисел 3 и 2 на экран индикатора в цикле. С этой целью на дисплее лицевой панели генератора шаблона посредством перемещения курсора левой кнопкой мыши определим запрещённую для вывода область. Как видно на рис. 16, разрешённая для вывода область состоит из двух колонок, отделённых от запрещённой области чёрной пунктирной линией и соответствующих двум строкам 8-битного кода из файла шаблона.

Рис. 16. Создание запрещённой области шаблона на дисплее цифрового генератора

Для подачи внешнего сигнала синхронизации на вход TRIG генератора шаблона применим генератор цифровых импульсов, окно настройки параметров которого показано на рис. 17.

Рис. 17. Окно настройки параметров генератора цифровых импульсов DCLOCK и его подключение к входу TRIG генератора шаблона

Чтобы добавить генератор в рабочую область проекта, левой кнопкой мыши выбирают строку с названием DCLOCK на панели GENERATORS (рис. 18) и размещают его мышью в необходимом месте на схеме.

Рис. 18. Открытие при помощи кнопки Generator Mode панели GENERATORS и выбор генератора DCLOCK

Открывают панель GENERATORS нажатием кнопки Generator Mode на левой панели инструментов схемного редактора. Как видно на рис. 17, формирование сигналов синхронизации происходит с периодом 50 мс (поле Period (Secs) окна Digital Clock Generator Properties), начиная с момента запуска моделирования схемы – значение 0 в поле First Edge At. В поле Clock Type установкой переключателя задают тип сигнала: Low-High-Low Clock (низкий-высокий-низкий) или High-Low-High Clock (высокий-низкий-высокий). В нашем примере переключатель установлен в первую позицию. Окно настройки параметров генератора цифровых импульсов открывают двойным щелчком левой кнопки мыши на пиктограмме прибора на схеме.

Управление четырёх- и шестиразрядными 7-сегментыми индикаторами с помощью генератора шаблона

Используя метод динамической индикации, отобразим четыре разные цифры на дисплее четырёхразрядного 7-сегментного индикатора, для чего добавим в рабочее поле проекта микросхему 7SEG-MPX4-CC-BLUE из раздела 7-Segment Displays библиотеки Optoelectronics (рис. 19) и подключим её к схеме формирования управляющего кода так, как показано на рис. 20.

Рис. 19. Выбор компонента 7SEG-MPX4-CC-BLUE из раздела 7-Segment Displays библиотеки Optoelectronics


Рис. 20. Подключение четырёхразрядного индикатора к схеме формирования управляющего кода

На диске компьютера создадим файл шаблона Pattern6.ptn, в который построчно запишем следующий код:
%11101000,
%11010001,
%10110101,
%01110111,

Индикатор 7SEG-MPX4-CC-BLUE имеет семь выводов управления сегментами (A, B, C, D, E, F, G), вывод управления свечением децимальных точек (DP) и выводы управления свечением разрядов (1–4), которые (как видно на рис. 20) подключены к выходам Q4–Q7 генератора шаблона.

Для формирования полного изображения необходимо для каждого разряда индикатора на выходах генератора шаблона Q0–Q7 последовательно установить код, четыре младших бита (0–3) которого соответствуют двоичному коду цифры, а четыре старших бита – коду управления свечением разрядов. Как видно на рис. 21, управляющий код в файле шаблона содержит четыре строки, первая – включает первый разряд индикатора для вывода цифры 8, вторая – второй разряд для вывода цифры 1.

Рис. 21. Управление с помощью генератора шаблона динамической индикацией на экране четырёхразрядного дисплея

Две следующие строки кода управляют третьей и четвёртой группой сегментов индикатора – выводят цифры 5 и 7.

Для непрерывного отображения чисел на экране индикатора на дисплее лицевой панели генератора шаблона перемещением курсора определим область из четырёх колонок (рис. 22), соответствующих четырём строкам 8-битного кода из файла шаблона.

Рис. 22. Формирование бесконечного цикла вывода цифр на экране четырёхразрядного индикатора определением на дисплее лицевой панели генератора шаблона области из четырёх колонок, соответствующих четырём строкам 8-битного кода из файла шаблона

Параметры генератора шаблона и генератора цифровых импульсов оставлены без изменений – такими, как в рассмотренном выше примере управления двухразрядным индикатором 7SEG-MPX2-CC-BLUE.

Для реализации динамического способа управления четырёхразрядным индикатором 7SEG-MPX4-CC-BLUE применён следующий алгоритм:
  • подачей логического 0 на вывод 1 включим первый разряд индикатора;
  • сформируем на выводах Q0–Q3 генератора шаблона двоичный код первой цифры;
  • подачей логической 1 на вывод 1 выключим первый разряд индикатора;
  • подачей логического 0 на вывод 2 включим второй разряд индикатора;
  • сформируем на выводах Q0–Q3 генератора шаблона двоичный код второй цифры;
  • подачей логической 1 на вывод 2 выключим второй разряд индикатора;
  • подачей логического 0 на вывод 3 включим третий разряд индикатора;
  • сформируем на выводах Q0–Q3 генератора шаблона двоичный код третьей цифры;
  • подачей логической 1 на вывод 3 выключим третий разряд индикатора;
  • подачей логического 0 на вывод 4 включим четвёртый разряд индикатора;
  • сформируем на выводах Q0–Q3 генератора шаблона двоичный код четвёртой цифры;
  • подачей логической 1 на вывод 4 выключим четвёртый разряд индикатора.
Управление шестиразрядным 7-сегментным индикатором (микросхемой 7SEG-MPX6-CC-BLUE) можно реализовать с помощью двух генераторов шаблона, синхронно формирующих выходные сигналы данных или команд (первый – коды цифр, а второй – код активного разряда) согласно с инструкциями, содержащимися в файлах шаблона (в нашем примере в файлах Pattern71.ptn и Pattern72.ptn).

Добавим два прибора PATTERN GENERATOR (компоненты PATTERN1 и PATTERN2) в рабочую область проекта и подключим выводы Q0–Q3 прибора PATTERN1 к выводам A–D микросхемы дешифратора U1 соответственно, выводы Q0–Q5 прибора PATTERN2 к выводам 1–6 микросхемы индикатора (рис. 23). Для подачи внешнего сигнала синхронизации на вход TRIG компонентов PATTERN1 и PATTERN2 применим генератор цифровых импульсов, значения параметров которого оставим без изменений (такими, как показано на рис. 17).

Используя метод динамической индикации, отобразим шесть разных цифр на дисплее шестиразрядного 7-сегментного индикатора 7SEG-MPX6-CC-BLUE, который добавлен в рабочую область проекта из раздела 7-Segment Displays библиотеки Optoelectronics и подключён к схеме формирования управляющего кода так, как показано на рис. 23.

Рис. 23. Подключение шестиразрядного индикатора к схеме формирования управляющего кода

Для управления с помощью генератора шаблона шестиразрядным 7-сегментным индикатором 7SEG-MPX6-CC-BLUE воспользуемся одной микросхемой 74LS48, выходы которой QA–QG подключим к входам A–G индикатора.

На диске компьютера создадим файл шаблона Pattern71.ptn, в который построчно запишем двоичный код цифр:
%00000001,
%00000000,
%00000101,
%00000111,
%00000010,
%00000011,

Создадим ещё один файл шаблона (Pattern72.ptn), в который запишем код управления свечением разрядов индикатора:
%11111110,
%11111101,
%11111011,
%11110111,
%11101111,
%11011111, 

Индикатор 7SEG-MPX6-CC-BLUE имеет семь выводов управления сегментами (A, B, C, D, E, F, G), вывод управления свечением децимальных точек (DP) и выводы управления свечением разрядов (1–6), которые (как видно на рис. 23) подключены к выходам Q0–Q5 генератора шаблона PATTERN2.

Для формирования полного изображения необходимо для каждого разряда индикатора на выходах Q0–Q3 генератора шаблона PATTERN1 последовательно установить код, четыре младших бита (0–3) которого соответствуют двоичному коду цифры. В то же время для каждого разряда индикатора на выходы Q0–Q5 генератора шаблона PATTERN2 последовательно выводится код, шесть младших битов (0–5) которого соответствуют двоичному коду управления свечением разрядов. Как видно на рис. 24, управляющий код в файлах шаблона содержит по шесть строк.

Рис. 24. Управление с помощью генератора шаблона динамической индикацией на экране шестиразрядного дисплея

Первая строка из файла шаблона Pattern72.ptn включает первый разряд индикатора для вывода цифры 1, код которой хранится в первой строке файла шаблона Pattern71.ptn. 

С помощью кода, записанного во второй строке файла шаблона Pattern72.ptn, включается второй разряд индикатора для вывода цифры 0, код которой записан во второй строке файла шаблона Pattern71.ptn. Четыре следующие строки кода файлов Pattern71.ptn и Pattern72.ptn управляют третьей – шестой группами сегментов индикатора – выводят цифры 5, 7, 2 и 3.

Для непрерывного отображения чисел на экране индикатора на дисплеях лицевых панелей генераторов шаблона перемещением курсора определим области из шести колонок (рис. 24), соответствующих шести строкам 8-битного кода из файлов шаблона.

Назначим для генератора шаблона PATTERN1 файл шаблона Pattern71.ptn, а для генератора шаблона PATTERN2 файл шаблона Pattern72.ptn. Обратите внимание на значения параметров генераторов шаблона PATTERN1 и PATTERN2 в окне Edit Component:
  • Clock Rate – 200.0 Hz;
  • Reset Rate – 50.0 Hz;
  • Clock Mode – Internal;
  • Reset Mode  – Sync External Pos Edge;
  • Output Configuration – Output to Pins Only.
Для синхронной работы приборов PATTERN1 и PATTERN2 эти значения должны быть одинаковыми.

Когда в рабочей области проекта собрана схема, выполнены настройки приборов и подготовлены и загружены файлы шаблона, можно запустить симуляцию, результат выполнения которой представлен на рис. 24.

Управление матрицей светодиодов с помощью цифрового генератора шаблона

В Proteus с помощью генератора шаблона можно реализовать схему бегущих огней, собранную с использованием светодиодов. Рис. 25 демонстрирует работу такой схемы, где соединены 12 светодиодов красного цвета, управление которыми осуществляется с помощью двух приборов PATTERN1 и PATTERN2.
Рис. 25. Управление матрицей светодиодов с помощью двух приборов PATTERN1 и PATTERN2 в схемном редакторе Proteus. Подсветка: (а) 1, 5 и 9 светодиодов, (б) 2, 6 и 10 светодиодов, (в) 3, 7 и 11 светодиодов, (г) 4, 8 и 12 светодиодов

Аноды светодиодов D1–D8 подключены к выводам Q0–Q7 генератора шаблона PATTERN1, аноды светодиодов D9–D12 подключены к выводам Q0–Q3 генератора шаблона PATTERN2. Катоды всех светодиодов схемы подключены к земле. Символ «земли» добавляют в схему, выбрав на панели TERMINALS строку GROUND (рис. 26).

Рис. 26. Открытие при помощи кнопки Terminals Mode панели TERMINALS и выбор символа «земля»

Панель открывают нажатием кнопки Terminals Mode на левой панели схемного редактора.

Светодиоды поочередно загораются и гаснут, создавая эффект бегущих огней. Добавление светодиодов (компоненты LED-RED) в схему выполняют из раздела LEDs библиотеки Optoelectronics (рис. 27).

Рис. 27. Выбор светодиода LED-RED из раздела LEDs библиотеки Optoelectronics

Для каждого отдельного светодиода в окне его настроек (окно Edit Component открывают двойным щелчком левой кнопки мыши по символу светодиода на схеме) укажем ток потребления (поле Full drive current) – в нашем примере 10 mА, тип модели (поле Model Type) – Digital, напряжение (поле Forward Voltage) – 2.2 V (рис. 28а).

Рис. 28. Окно настройки параметров: (а) светодиода, (б) генератора шаблона

Назначим для генератора шаблона PATTERN1 файл шаблона Svetodiodu1.ptn, а для генератора шаблона PATTERN2 файл шаблона Svetodiodu2.ptn. Зададим следующие значения параметров генераторов шаблона PATTERN1 и PATTERN2 в окне Edit Component (рис. 28б):
  • Clock Rate – 1.000 Hz;
  • Reset Rate – 250.0 mHz;
  • Clock Mode – Internal;
  • Reset Mode – Internal;
  • Output Configuration – Output to Pins Only.
Для синхронной работы приборов PATTERN1 и PATTERN2 эти значения должны быть одинаковыми.

В нашем примере задан циклический вывод шаблона на линии Q0–Q7 генератора PATTERN1 и на линии Q0–Q3 генератора PATTERN2. Запуск генерации шаблона осуществляется внутренним сигналом с частотой 1 Гц. Сразу же после генерации двоичный код поступает на выводы генератора. В файле Svetodiodu1.ptn вручную сформирован шаблон из четырёх строк (рис. 29а):
%00010001,
%00100010,
%01000100,
%10001000,

Рис. 29. Формирование в файле шаблона генератора: (а) PATTERN1 кода управления свечением восьми светодиодов D1–D8, (б) PATTERN2 кода управления свечением четырёх светодиодов D9–D12

В каждой строке введено две логических 1 (именно эти значения кода подсвечивают светодиоды), которые с каждым тактом синхронизации сдвигаются влево на один разряд, тем самым обеспечивая переключение свечения светодиодов D1–D8. Значащие двоичные числа (0 или 1) занесены в 8 разрядов 8-битного кода.

В файле Svetodiodu2.ptn вручную сформирован следующий шаблон (рис. 29б):
%00000001,
%00000010,
%00000100,
%00001000,

В каждой строке введена одна логическая 1, которая с каждым тактом синхронизации сдвигается влево на один разряд, тем самым обеспечивая переключение свечения светодиодов D9–D12. Значащие двоичные числа (0 или 1) занесены в 
4 младших разряда 8-битного кода.

Запустим симуляцию и проверим правильность работы собранной схемы. На рис. 25а видно, что подсвечены 1, 5 и 9 светодиоды. Такой результат означает, что на выводы Q0–Q7 генератора шаблона PATTERN1 поступили значащие значения первого двоичного слова (00010001) шаблона, записанного в файле Svetodiodu1.ptn. В то же время на выводы Q0–Q3 генератора шаблона PATTERN2 поступили значащие значения первого двоичного слова (00000001) шаблона из файла Svetodiodu2.ptn. После поступления на выводы генераторов PATTERN1 и PATTERN2 значений (00100010 и 00000010) второго двоичного слова шаблона из файлов Svetodiodu1.ptn и Svetodiodu2.ptn подсвечиваются 2, 6 и 10 светодиоды (рис. 25б). Далее на выводы генераторов шаблона поступает третье (01000100 и 00000100) – рис. 25в, четвёртое (10001000 и 00001000) – рис. 25г и снова первое (00010001 и 00000001) значения шаблона, тем самым обеспечивая непрерывное поочерёдное подсвечивание светодиодов в цикле со сдвигом подсветки влево. При этом одновременно засвечиваются три светодиода из 12 имеющихся в схеме.

Управляя значениями разрядов двоичных слов в файлах шаблона, код формирования световых эффектов можно изменить. Например, запрограммировать одновременное свечение сразу шести светодиодов D1–D6 (в то время как светодиоды D7–D12 будут погашены) – рис. 30а, записав в файле шаблона генератора PATTERN1 в младшие разряды первого двоичного управляющего слова шесть 1 (код 00111111), а затем с помощью кода 11000000 (вторая строка в файле шаблона генератора PATTERN1) и 00001111 (вторая строка в файле шаблона генератора PATTERN2) погасить светодиоды D1–D6 и зажечь светодиоды D7–D12 (рис. 30б).

Рис. 30. Создание эффекта поочерёдного свечения шести светодиодов: (а) D1–D6, (б) D7–D12

Диаграммы двоичного кода управления свечением светодиодов показаны на рис. 31.

Рис. 31. Настройка параметров логического анализатора, его подключение к схеме управления матрицей светодиодов и диаграммы двоичного кода формирования световых эффектов: (а) бегущих огней, (б) поочерёдного свечения шести светодиодов D1–D6 и D7–D12

Для их формирования применим ещё один виртуальный прибор программы Proteus – логический анализатор (рис. 32), который добавляют в схему выбором левой кнопкой мыши строки с его названием (LOGIC ANALYSER) на панели INSTRUMENTS (панель открывают нажатием кнопки Virtual Instruments Mode на левой панели инструментов схемного редактора).

Рис. 32. Открытие при помощи кнопки Virtual Instruments Mode панели INSTRUMENTS и выбор прибора LOGIC ANALYSER

Логический анализатор после запуска симуляции схемы снимает входные значения со своих выводов и отображает полученные данные в виде прямоугольных импульсов на диаграмме во временной области лицевой панели. Для съёма сигналов с исследуемой схемы логический анализатор имеет 16 выводов и 4 шины разрядностью в 8 бит каждая.

Добавим прибор в проект и соединим со схемой формирования световых эффектов так, как показано на рис. 31. Лицевая панель прибора открывается вследствие запуска симуляции схемы. Рассмотрим её более подробно. Шестнадцать переключателей в левой части панели соответствуют шестнадцати каналам съёма сигналов A0–A15. В следующей колонке отображены имена входов логического анализатора. В нижней части временной области отображаются сигналы, полученные со входов В0[0..7]–B3[0..7]. Также прибор оснащён курсорами, предназначенными для проведения измерений во временной области, которые при необходимости можно перемещать при помощи левой кнопки мыши.

В правой части лицевой панели рассматриваемого прибора расположена панель управления, на которой находятся два окна:
  • Trigger (Синхронизация);
  • Horizontal (Развертка).
Управление курсорами производится в окне Trigger. Для этого предназначена кнопка Cursors, при помощи которой можно активизировать или отключить курсоры.

Логический анализатор оперирует последовательно записанными в буфер захвата входными цифровыми данными. Процесс захвата данных запускается кнопкой Capture окна Trigger. Спустя некоторое время после выполнения условий переключения этот процесс останавливается, а кнопка меняет свой цвет при записи и после её завершения. Результат – содержимое буфера захвата отображается на дисплее.

В окне Horizontal расположены две ручки: Display Scale и Capture Resolution. При помощи первой производится масштабирование отображения диаграммы, при помощи второй выполняется подстройка разрешения. В нашем примере (рис. 31) воспользуемся ручками управления Display Scale и Capture Resolution окна Horizontal и отрегулируем отображение диаграмм на панели VSM Logic Analyser. Установим маленькую ручку Display Scale в позицию 1х, большую ручку Display Scale в позицию 1000х. Установим маленькую и большую ручки Capture Resolution в позицию 200. Результаты работы логического анализатора отображаются на экране графического дисплея в виде диаграмм, которые представляют сигналы, полученные с его входов (рис. 31).

Литература

  1. Колесникова Т. Проектирование устройств вывода информации с использованием цифрового генератора шаблона в Proteus 8.11 // Современная электроника. 2022. № 3.
  2. Proteus VSM Help, Labcenter Electronics, 2020.
  3. ISIS Help, Labcenter Electronics, 2014.




Поделиться:



Комментарии

Текст сообщения*
Защита от автоматических сообщений