Описание проекта
Средствами HTML, CSS и JavaScript создать Web-приложение, иллюстрирующее работу триггеров цифровой электроники. Тип триггера для различных вариантов задания приведен в Табл. 7.1.
Таблица 7.1
Вариант |
Тип триггера |
10 |
RS-триггер с прямыми входами |
13 |
RS-триггер с инверсными входами |
19 |
Синхронный D-триггер со статическим управлением |
24 |
T-триггер с обратным динамическим управлением |
26 |
T-триггер с прямым динамическим управлением |
На Web-странице приложения, в виде рисунка должно быть представлено условное изображение триггера, согласно ГОСТ, с текстовыми полями форм на входах и выходах триггера, в которые могут вводиться или выводиться логические сигналы, в виде символов “0” и “1”. На странице необходимо представить расширенную таблицу истинности триггера, которая в столбце состояния прямого выхода триггера Qn+1 в n+1 такте имеет текстовые поля форм. В эти поля будет выводиться значение Qn+1, соответствующее данному набору.
Для триггеров со статическим управлением (варианты 10,13,19) страница должна содержать три кнопки для запуска скриптов: «Включить триггер», «Выключить триггер», и «Построить таблицу истинности». Возможный вид Web-страницы для таких триггеров показан на рис. 7.1. При нажатии на кнопку «Выключить триггер» должен запускаться скрипт, обеспечивающий очистку всех полей форм на странице. Нажатие на кнопку «Построить таблицу истинности» должно обеспечивать автоматическое заполнения полей форм расширенной таблицы истинности. Заполнение полей форм должно происходить попарно, одновременно для тех наборов, которые имеют одинаковые значения старших бит (биты Sn и Rn на рис. 7.1, биты Tn и Qn на рис. 7.2). Обеспечить временной интервал между заполнением парных наборов 2 секунды. При полном заполнении наборов, соответствующих состоянию хранения триггера, справа от таблицы истинности напротив строк таблицы, содержащих эти наборы должна появляться надпись «Состояние хранения». Для RS триггеров с прямыми и инверсными входами против строк таблицы, содержащих наборы, соответствующие запрещенному состоянию должна появляться надпись «Запрещенное состояние». Для последовательного во времени заполнения парных наборов таблицы истинности с указанным выше интервалом рекомендуется использовать таймер, созданный с помощью методов setTimeout() и clearTimeout() объекта Date языка JavaScript. Для визуализации надписей можно воспользоваться свойством visibility объекта style.
Приложение должно обеспечивать иллюстрацию работы триггера с одновременным заполнением строк таблицы истинности в режиме, когда пользователь вводит символы логических значений “0” и ”1” в поля форм на входах триггера. Этот режим должен реализовать скрипт, который запускается при нажатии кнопки «Включить триггер». В этом случае необходимо учитывать, что триггер является последовательностным автоматом, т. е. его состояние в последующем такте Qn+1 зависит от состояния Qn в предыдущем такте. Поэтому формирование нового выходного состояния триггера и построение таблицы истинности следует выполнять, когда поля форм на прямом и инверсном выходе триггера заполнены символами “0” и ”1”. По этой причине в скрипте необходимо обеспечить проверку состояния текстовых полей форм на выходах триггера. Если эти поля не заполнены или содержат символы отличные от “0” и ”1” после нажатия кнопки «Включить триггер» должно открываться окно с сообщением "Задайте начальное состояние выходов триггера".
|
Рис. 7.1. Возможный вид Web-страницы для задания 7 (вариант 10)
|
Если в поля форм на прямом и инверсном выходе триггера пользователь ввел одинаковые логические сигналы, либо “0” либо ”1”, после нажатия кнопки «Включить триггер» должно открываться окно с сообщением "Запрещенное состояние!!! Сигналы на выходах триггера должны быть инверсными".
Если не заполнены или заполнены символами отличными от “0” и ”1” текстовые поля форм на входах триггера, также должны открываться окна с соответствующими сообщениями.
Когда входные и выходные поля форм заполнены корректно при нажатии кнопки «Включить триггер» в полях форм на выходах триггера и в соответствующем поле Qn+1 расширенной таблицы истинности должны появиться символы “0” либо ”1” в соответствии с логикой работы триггера.
Для Web-приложений, моделирующего работу Т-триггеров с динамическим управлением необходимо дополнительно разработать скрипт эмулирующий перепады логических сигналов на входе Т из “0” в ”1” и из ”1” в “0”. Возможный вид страницы приложения для варианта задания 26 показан на рис. 7.1.
При нажатии на кнопку «Включить формирователь» должна происходить очистка текстового поля формы на входе Т триггера.
При нажатии на кнопку «Перепад из 0 в 1» в поле формы на входе Т должен появиться логический “0”. Он удерживается 1 секунду, после чего в это поле записывается символ логической “1”. Одновременно с записью “1” в поля форм выходов триггера и соответствующей строки расширенной таблицы истинности выводятся символы “0” либо ”1”, согласно логике работы триггера. Логическая “1” в поле на входе Т удерживается в течение секунды, после чего в это поле записывается пустая строка.
|
Рис. 7.1. Возможный вид Web-страницы для задания 7 (вариант 26)
|
При нажатии на кнопку «Перепад из 1 в 0» в поле формы на входе Т должна появиться логическая “1”. Она удерживается 1 секунду, после чего в это поле записывается символ логического “0”. Одновременно с записью “0” в поля форм выходов триггера и соответствующей строки расширенной таблицы истинности выводятся символы “0” либо ”1”, согласно логике работы триггера. Логическая “1” в поле на входе Т удерживается в течение секунды, после чего в это поле записывается пустая строка.
Для реализации описанных выше действий в скриптах следует использовать таймеры, реализованные с помощью методов setTimeout() и clearTimeout() объекта Date языка JavaScript.
Расширенные таблицы истинности для триггеров разных вариантов заданий приведены в Табл. 7.2.
Таблица 7.2
Расширенные таблицы истинности для триггеров задания 7
RS-триггер с прямыми входами |
RS-триггер с инверсными входами |
Синхронный D-триггер со статическим управлением |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
_ Sn
_ Rn
Qn
Qn+1
0
0
0
1 Неопределенное состояние
0
0
1
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0 Состояние
хранения
1
1
1
1 Состояние
хранения
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
T-триггер с обратным динамическим управлением |
T-триггер с прямым динамическим управлением |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
