Project Red/Бегущая строка — различия между версиями
McSim (обсуждение | вклад) |
McSim (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
'''Логика работы бегущей строки следующая:''' | '''Логика работы бегущей строки следующая:''' | ||
− | * В ряд размещается столько сегментных индикаторов, сколько необходимо | + | * В ряд размещается столько сегментных индикаторов, сколько необходимо. |
* По количеству индикаторов устанавливаются интегральные микросхемы, которые представляют из себя 16 разрядный регистр, который получает на входе символ с предыдущего регистра, передает его на индикатор и на следующий регистр. | * По количеству индикаторов устанавливаются интегральные микросхемы, которые представляют из себя 16 разрядный регистр, который получает на входе символ с предыдущего регистра, передает его на индикатор и на следующий регистр. | ||
* Таймер (или другой источник синхронизации), который подключается ко всем регистрам и служит для сдвига надписи на один разряд. | * Таймер (или другой источник синхронизации), который подключается ко всем регистрам и служит для сдвига надписи на один разряд. | ||
Строка 17: | Строка 17: | ||
}} | }} | ||
− | После размещения их в мире, необходимо ПКМ с отверкой в руках - они | + | После размещения их в мире, необходимо ПКМ с отверкой в руках - они изменят внешний вид с двухразрядных цифровых индикаторов в одноразрядный символьный индикатор. |
<div class="tleft" style="clear:none">[[Файл:Индикатор_1.png|мини|Семисегментный двухразрядный индикатор|100пкс]]</div> | <div class="tleft" style="clear:none">[[Файл:Индикатор_1.png|мини|Семисегментный двухразрядный индикатор|100пкс]]</div> | ||
<div class="tleft" style="clear:none">[[Файл:Индикатор_2.png|мини|Шестнадцати- разрядный индикатор|100пкс]]</div> | <div class="tleft" style="clear:none">[[Файл:Индикатор_2.png|мини|Шестнадцати- разрядный индикатор|100пкс]]</div> | ||
− | + | Так же нужно разработать ячейку памяти, которая будет хранить символ и передавать его на следующий индикатор. | |
− | + | ||
+ | В Project Red есть прозрачный триггер (D-триггер), он запоминает свое состояние при изменении уровня на запирающем входе. Т.е. у этого триггера есть запирающий вход, один вход и два выхода (снизу, слева, сверху и справа соответственно). Когда на запирающем входе есть сигнал, сигнал на выходе повторяет сигнал на входе. Когда на запирающем входе сигнал пропадает, на выходах фиксируется сигнал, который был на входе. | ||
+ | |||
+ | Этот триггер не подходит для бегущей строки, т.к. если их разместить последовательно, и подать сигнал на запирающий вход, то выходы всех триггеров сбросятся. Для решения данной задачи, необходимо использовать двухступенчатый D-триггер. Этот элемент состоит из двух одинаковый D-триггеров соединенный последовательно, но у одного из триггеров запирающий вход подключен инверсно, т.е. если на одном триггере есть сигнал, то на втором нет, и наоборот. | ||
+ | |||
+ | Таким образом получаем ячейку памяти для хранения 1 бита информации. Для управления индикатором необходим элемент для хранения 16 бит информации, поэтому необходимо 16*3=48 дискретных элементов и много соединительных проводов. Из-за сложности размещения такого количества элементов, необходимо воспользоваться возможностью создания интегральных схем с помощью мода Project Red. | ||
+ | |||
+ | Для этого, на микросхемном верстаке, чертим логическую схему, которая содержит в себе 16 одно-битных ячеек памяти. Справа вход, снизу выход для управления индикатором, слева выход для передачи текущего символа на следующую микросхему памяти, сверху вход для сигнала синхронизации. | ||
+ | |||
+ | После этого полученный чертеж микросхемы нужно разместить на микросхемном принтере. Разместить в нижнем слоте микросхему и необходимые компоненты для создания интегральной схемы. После создания микросхемы, нужно сделать из неё блок микросхемы. Для этого на верстаке разместить полученную микросхему по центру, и окружить печатными платами. | ||
+ | |||
+ | Сделать микросхем столько же сколько и индикаторов, или больше (если длина текста больше, чем количество индикаторов). |
Версия 10:30, 25 февраля 2016
Для создания бегущей строки понадобятся несколько гейтов сегментного индикатора, интегральных микросхем и таймер.
Логика работы бегущей строки следующая:
- В ряд размещается столько сегментных индикаторов, сколько необходимо.
- По количеству индикаторов устанавливаются интегральные микросхемы, которые представляют из себя 16 разрядный регистр, который получает на входе символ с предыдущего регистра, передает его на индикатор и на следующий регистр.
- Таймер (или другой источник синхронизации), который подключается ко всем регистрам и служит для сдвига надписи на один разряд.
Для начала необходимо сделать несколько индикаторов:
После размещения их в мире, необходимо ПКМ с отверкой в руках - они изменят внешний вид с двухразрядных цифровых индикаторов в одноразрядный символьный индикатор.
Так же нужно разработать ячейку памяти, которая будет хранить символ и передавать его на следующий индикатор.
В Project Red есть прозрачный триггер (D-триггер), он запоминает свое состояние при изменении уровня на запирающем входе. Т.е. у этого триггера есть запирающий вход, один вход и два выхода (снизу, слева, сверху и справа соответственно). Когда на запирающем входе есть сигнал, сигнал на выходе повторяет сигнал на входе. Когда на запирающем входе сигнал пропадает, на выходах фиксируется сигнал, который был на входе.
Этот триггер не подходит для бегущей строки, т.к. если их разместить последовательно, и подать сигнал на запирающий вход, то выходы всех триггеров сбросятся. Для решения данной задачи, необходимо использовать двухступенчатый D-триггер. Этот элемент состоит из двух одинаковый D-триггеров соединенный последовательно, но у одного из триггеров запирающий вход подключен инверсно, т.е. если на одном триггере есть сигнал, то на втором нет, и наоборот.
Таким образом получаем ячейку памяти для хранения 1 бита информации. Для управления индикатором необходим элемент для хранения 16 бит информации, поэтому необходимо 16*3=48 дискретных элементов и много соединительных проводов. Из-за сложности размещения такого количества элементов, необходимо воспользоваться возможностью создания интегральных схем с помощью мода Project Red.
Для этого, на микросхемном верстаке, чертим логическую схему, которая содержит в себе 16 одно-битных ячеек памяти. Справа вход, снизу выход для управления индикатором, слева выход для передачи текущего символа на следующую микросхему памяти, сверху вход для сигнала синхронизации.
После этого полученный чертеж микросхемы нужно разместить на микросхемном принтере. Разместить в нижнем слоте микросхему и необходимые компоненты для создания интегральной схемы. После создания микросхемы, нужно сделать из неё блок микросхемы. Для этого на верстаке разместить полученную микросхему по центру, и окружить печатными платами.
Сделать микросхем столько же сколько и индикаторов, или больше (если длина текста больше, чем количество индикаторов).