Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Калькулятор на основе простых логических элементов.docx
Скачиваний:
38
Добавлен:
16.07.2022
Размер:
3.25 Mб
Скачать

Оглавление

1 Принцип работы калькулятора как восьми разрядного сумматора-вычитателя 4

4

2 Клавиатура 0-9. Принцип работы вывода двух десятичных чисел на индикатор. 6

2.1 Обзор работы схемы 6

2.2 Составные части клавиатуры для вывода одного числа 7

2.2.1 Шифратор клавиш 1-9 в четырех разрядный двоичный код для вывода соответствующей цифры на семисигментный индикатор 7

2.2.2 Реле переключения сигналов на два индикатора 9

2.3 Работа клавиатуры для вывода двух чисел на индикатор 11

2.3.1 Работа двух преобразователей 11

2.3.2 Реле для переключения 12

3 Сумматор 14

3.1 Сумматор с переносом 14

3.2 Работа сумматора в схеме калькулятора 14

4 Преобразователь пяти разрядного двоичного кода в двоично-десятичный код 16

4.1 Схема преобразователя на восемь разрядов 16

4.2 Преобразователь двоичного кода 1-2-4-8 в двоично-десятичный код 1-2-4-5 16

Литература 19

Калькулятор на основе простых логических элементов в приложении «Logic Circuit Simulator Pro»

В общем сумматор рабочий, но вычитатель, при некоторых значениях, может сбоить и выводить неверные значения. Сама схема сложная и делалась на коленке, при помощи множества «костылей» из-за незнания и изначально сложных критериев к калькулятору: должен выводить значения на семисигментные индикаторы и работать от кнопок. К тому же это был «вводный инструктаж» в работу логических элементов и цепей с их использованием. Все схемы были сделаны после пары минут размышлений и не брались из интернета, кроме сумматора-вычитателя и преобразователя 1-2-4-8 в 1-2-4-5.

Изначально хотелось сделать калькулятор с использованием преобразователя двоичного кода в двоично-десятичный. Но данная схема не была найдена, и пришлось использовать «костыли». В конечном итоге все равно пришлось найти и использовать данный преобразователь.

В создании калькулятора не было плана, он постепенно создавался отдельными блоками, не осознавая цельного принципа работы. С постепенно образующимися проблемами, также постепенно находились выходы их решения.

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

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

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

Проблемы не решены, т. к проект большой и морально устаешь от этого, работа на телефоне, не лучшее решение. Нет смысла продолжать т.к. это были основы знакомства с логическими элементами и изначально был выбран неправильный подход.

В любом случае при должном усердии можно перенести эти схемы на свой телефон или сделать по ним калькулятор в программе на ПК(есть вероятность, что это будет сделано). Но нужно учитывать, что в других программах, хоть и основные элементы, но будут работать по-другому, в основном ошибки могут быть из-за задержек, буферов и таймеров.

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

  1. Принцип работы калькулятора как восьми разрядного сумматора-вычитателя

Рисунок 1 — Схема калькулятора в программе Logic Circuit Simulator Pro

Рассмотрим работу сумматоров 2.1 и 2.2 после вывода информации на четыре индикатора, схемы из пункта 2.3. Сумматор 2.1 складывает единицы, отправляя информацию через преобразователь 4.1 на первый индикатор, перенос десятков при складывании единиц отправляется на сумматоры 3.3 для последующего суммирования. Десятки складываются в группе сумматоров 3.2, отправляются в преобразователь 4.2 и суммируются в сумматорах 3.3 с переносом после суммирования единиц, отправляются через преобразователь 4.3 на индикаторы. Сотня напрямую отправляется после преобразователя 4.2 на индикаторы, для учета переноса значения с единиц сотня также отправляется с переноса значения последнего сумматора группы 3.3, через преобразователь 4.3.

При отнимании значений индикаторов необходимо включить переключатель «-n» (сверху), после чего активируются элементы исключающее ИЛИ. После перевода всех значений в обратный код они складываются, после посылаются на индикаторы как и со сложением. При вычитании малых значений (9-1) создается перенос единицы, который передается через блок Р1 или Р2, таймер нужен для исключения зацикливания сигнала при перезаполнении сумматора (1.1111). а также подается единица на реле 1.1 или 1.2, которое делает инверсию сигнала и подает его сразу на индикаторы. Вместо реле можно было использовать исключающее ИЛИ, как на входе сумматоров, но из-за незнания теории была переделана группа элементов исключающих ИЛИ 2.1 и 2.2 в реле.

На реле подаются одинаковые значения, а выводятся при нуле на входе S на нижние выходы, при S=1 активируются инверсные верхние выходы. Под реле находится «3 исключающее ИЛИ».

Схема не работает, если вводить вычитаемое без десятков, и оно будет больше значения единиц у уменьшаемого(82-05=83, т. е. 5>3). Кажется, для этого нужно поработать над блоком 3.3.

Рисунок 1 — «Возможно улучшенная версия калькулятора 2.0»

В следующий раз нужно подойти более обдуманно. Набравшись теоретических знаний пришел такой проект, но возможны изменения.

  1. Клавиатура 0-9. Принцип работы вывода двух десятичных чисел на индикатор.

    1. Обзор работы схемы

Рисунок 2.1 — Схема работы клавиатуры 0-9

При подаче положительного сигнала на блок «1», сигнал преобразуется в восьми битный, складывается при помощи 4ИЛИ и отправляется на JK-триггер для переключения сигнала управления реле «2» и отправляется на вход реле, входы реле подключены друг к другу параллельно.

В первом случае, когда на вход реле S подан сигнал «0», записывается первая цифра в индикатор, т.е. работает первая группа выводов. Подается необходимый сигнал на ЗУ индикатора, и переключаются выводы на Т-триггерах «3».Система из таймеров необходима для подачи положительного сигнала, только после обнуления триггеров. Далее сигнал через дешифратор сигнал поступает на индикатор.

При положительном сигнале «1» на вход реле S, работает вторая группа выводов реле, сигнал сразу поступает на Т-триггеры «4».

При второй подаче сигнала через реле на выходы «1» срабатывает схема обнуления «5» двух индикаторов, через элемент 4ИЛИ подается положительный сигнал на элемент 3И «6», это означает, что записывается первая цифра, также на элемент 3И «6» через буфер и таймер «5» для задержки сигнала подаются положительные сигнала с выходов JK-триггера.

При нажатии на клавишу ноль «7», подается сигнал на JK-триггер для перехода на следующий индикатор и на логический элемент 2И, при положительном выходе JK-триггера Q, обнуляется группа Т-триггеров «3». При положительном инверсном выходе Q` JK-триггера, обнуляется «4» группа Т-триггеров.