Минимизация логических функций

Представление логической функции в виде совершенной дизъюнктивной нормальной формы. Минимизация логической функции с помощью карты Карно и на языке Ассемблер. Принципиальная схема логической функции. Релейно-контактная схема логического эквивалента.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 13.05.2019
Размер файла 458,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«Сибирский государственный индустриальный университет»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе:

«Минимизация логических функций»

СТУДЕНТ___________ Маханов М.М.

Руководительст. преподаватель __________Борщинский М.Ю.

кафедры ЭЭиПЭ

Новокузнецк

2016г.

Содержание

Индивидуальное задание

Введение

1. Представление логической функции в виде совершенной дизъюнктивной нормальной формы

2. Минимизация логической функции с помощью карты Карно

3. Принципиальная схема логической функции в базисе И-НЕ

4. Релейно-контактная схема логического эквивалента

5. Минимизация логической функции на языке Ассемблер

Заключение

Список использованной литературы

Индивидуальное задание

логический функция ассемблер минимизация

Таблица 1 - Индивидуальное задание

X1

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

X2

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

X3

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

X4

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

F9

1

1

0

0

1

0

1

0

1

1

0

0

1

1

0

0

1. Записать логическую функцию в виде совершенной дизъюнктивной нормальной формы.

2. Минимизировать одним из известных методов с обоснованием.

3. Составить принципиальную схему в базисе ИЛИ-НЕ в соответствии с ГОСТ.

4. Составить схему релейно-контактного эквивалента логического устройства, поставив в соответствие логической переменной х замыкающий контакт, а - размыкающий, логической функции F-исполнительное устройство (обмотку реле).

5. Составить программу на языке ассемблера.

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

Введение

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

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

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

1. Представление логической функции в виде совершенной дизъюнктивной нормальной формы

Совершенная конъюнктивная нормальная форма (СКНФ) является наиболее распространенной формой аналитического представления логической функции.

Для представления функции в виде СКНФ каждому набору переменных в таблице истинности ставится в соответствие макстерм - конъюнкция всех входных переменных, которые входят в выражение в прямом виде, если значение данной переменной в наборе равно 0, либо в инверсном виде, если значение переменной равно 1.

Запишем макстермы всех входных переменных, представленных в выражении в прямом виде.

Таблица 2 - Таблица истинности логической функции F8

i

X1

X2

X3

X4

F9

Минтерм (mi)

0

0

0

0

0

1

-

1

0

0

0

1

1

-

2

0

0

1

0

0

3

0

0

1

1

0

4

0

1

0

0

1

-

5

0

1

0

1

0

6

0

1

1

0

1

-

7

0

1

1

1

0

8

1

0

0

0

1

-

9

1

0

0

1

1

-

10

1

0

1

0

0

11

1

0

1

1

0

12

1

1

0

0

1

-

13

1

1

0

1

1

-

14

1

1

1

0

0

15

1

1

1

1

0

При переходе от таблицы истинности к СКНФ необходимо:

1 В таблице истинности выделить строки, в которых функция принимает единичные значения;

2 Для каждой выделенной строки составить макстерм;

3 Записать логическую сумму всех составленных макстермов.

В соответствии свыше перечисленными рекомендациями и руководствуясь примером из [1, с.29], представим логическую функция F8 в виде СКНФ.

F9= (

?(1)

2. Минимизация логической функции с помощью карты Карно

Карта Карно представляет собой таблицу, в которой представлены всемакстермы. Каждый макстерм изображается на карте в виде клетки. Макстермы соседних клеток отличаются только значением одной переменной. Соседними также считаются крайние клетки каждого столбца или строки. Символ «1» обозначает прямое значение переменной, а «0» - инверсное значение переменной. Макстермы, входящие в функцию, отмечают единицами в соответствующих клетках карты. Для макстерма, не входящего в функцию, в клетках проставляется нуль или клетка остаётся пустой. Карта Карно логической функции F8 приведена на рисунке 1.

00

01

11

10

00

0

0

1

1

01

0

1

1

0

11

0

0

1

1

10

0

0

1

1

Рисунок 1 - Карта Карно функции F8

Для получения минимальной дизъюнктивной нормальной формы (МДНФ) функции, замкнутыми областями охватываются клетки с единичными ее значениями, и при записи членов логического выражения берутся инверсии аргументов, не изменяющихся при переходе от клетки к клетке.

Каждая группа, выделенная сплошной линией на карте Карно, объединяется по две и четыре ячейки, им соответствует логические преобразования:

1) ()?()=

2) ()?()=

3) ()?()?()?()=

=

4) ()?()?()?()=

=

В результате получаем выражение МДНФ логической функции F8:

F9=

3. Принципиальная схема логической функции в базисе ИЛИ-НЕ

Схема ИЛИ-НЕ состоит из элемента НЕ инвертора, который осуществляет отрицание результата схемы ИЛИ.

Для реализации логической функции на элементах ИЛИ-НЕ преобразуем полученное выражение в базис элементов ИЛИ-НЕ:

F9==

==

==

Рисунок 2 - Принципиальная схема на элементах ИЛИ-НЕ

4. Релейно-контактная схема логического эквивалента

На рисунке 3 приведена релейно-контактная схема логического устройства, в котором логическим аргументам X1, X2, X3, X4 соответствуют замыкающие контакты, а инверсным значениям этих переменных соответствуют размыкающие контакты. Логической функции F9 соответствует исполнительное устройство (обмотка электромагнитного реле К).

Рисунок 3 - Релейно-контактная схема логической функции

5. Минимизация логической функции на языке Ассемблер

Реализация составленной программы будет проведена на учебном микропроцессорном комплекте (УМК), который работает на микропроцессоре КР580ВМ80.

Так как исходная логическая функция и переменные Х 1, Х 2, Х3, Х4 представлены в виде двоичного числа, то вначале переведем их в шестнадцатеричную систему счисления.

(5)

(6)

(7)

(8)

(9)

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

(10)

Старшие байты 00, 0F, 33, 55 занесем в ячейки памяти 08B0, 08B1, 08B2, 08B3 соответственно. А младшие байты FF, 0F, 33, 55 занесем в ячейки памяти 08B4, 08B5, 08B6, 08B7 соответственно. Старший байт логической функции F9будет храниться в ячейки памяти 08B8, а младший в 08B9.

В ходе данной курсовой работы, были использованы следующие команды:

- MVI - выполнение загрузки второго байта в регистр. Операция является двухбайтной;

- СМА - выполнение инверсии содержимого аккумулятора. Операция является однобайтной;

- ORА - выполнение логического сложения с содержимым аккумулятора и регистром. Операция является однобайтной;

- ANА- выполнение логического умножения с содержимым аккумулятора и регистром. Операция является однобайтной;

- MOV - выполнение присвоения значения регистру. Операция является однобайтной;

- INX- увеличение регистровой пары на единицу. Операция является однобайтной;

- STA - выполнение загрузки регистра в ячейку памяти. Операция является трехбайтной;

- HLT - выполнение завершения программы. Операция является однобайтной.

- PUSH - выполнение загрузки значения в стек. Операция является однобайтной.

- POP - выполнение извлечения значения в стека. Операция является однобайтной.

Таблица 3 - Программа минимизации логической функции

Адрес

Н-код

Мнемокод

Комментарий

0800

3E

MVI A, 00

Загрузить число 00 в аккумулятор

0801

00

0802

32

STA, 08B0

Сохранить значение аккумулятора в ячейку памяти 08B0

0803

B0

0804

08

0805

3E

MVI A, 0F

Загрузить число 0F в аккумулятор

0806

0F

0807

32

STA, 08B1

Сохранить значение аккумулятора в ячейку памяти 08B1

0808

B1

0809

08

080А

3E

MVI A, 33

Загрузить число 33 в аккумулятор

080B

33

080C

32

STA, 08B2

Сохранить значение аккумулятора в ячейку памяти 08B2

080D

B2

080E

08

080F

3E

MVI A, 55

Загрузить число 55 в аккумулятор

0810

55

INX

0811

32

STA, 08B3

Сохранить значение аккумулятора в ячейку памяти 08B3

0812

B3

0813

08

0814

3E

MVI A, FF

Загрузить число FF в аккумулятор

0815

FF

0816

32

STA, 08B4

Сохранить значение аккумулятора в ячейку памяти 08B4

0817

B4

0818

08

0819

3E

MVI A, 0F

Загрузить число 0F в аккумулятор

081А

0F

081B

32

STA, 08B5

Сохранить значение аккумулятора в ячейку памяти 08B5

081C

B5

081D

08

081E

3E

MVI A, 33

Загрузить число 33 в аккумулятор

081F

33

0820

32

STA, 08B6

Сохранить значение аккумулятора в ячейку памяти 08B6

0821

B6

0822

08

0823

3E

MVI A, 55

Загрузить число 55 в аккумулятор

0824

55

0825

32

STA, 08B7

Сохранить значение аккумулятора в ячейку памяти 08B7

0826

B7

0827

08

0828

21

LXI,H 08B2

Переслать содержимое ячейки 08B2 в регистр М

0829

B2

082А

08

082B

7E

MOV A, M

Присвоить аккумулятору значение регистра М

082C

2F

CMA

Инверсия числа X3 (33)

082D

2B

DCX H

Перейти в ячейку памяти 08B1

082E

B6

ORA М

Операция "Логическое ИЛИ" ()

082F

2B

DCX H

Перейти в ячейку памяти 08B0

0830

B6

ORA М

Операция "Логическое ИЛИ" ()

0831

57

MOV D, A

Присвоить регистру D значение аккумулятора

0832

D5

PUSH D

Переслать содержимое регистра D в стек

0833

21

LXI,H 08B3

Переслать содержимое ячейки 08B3 в регистр М

0834

B3

0835

08

0836

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0837

2F

CMA

Инверсия числа X4 (55)

0838

4F

MOV C,A

Загрузить значение аккумулятора в регистр С

0839

2B

DCX H

Перейти в ячейку памяти 08B2

083А

2B

DCX H

Перейти в ячейку памяти 08B1

083B

7E

MOV A, M

Присвоить аккумулятору значение регистра М

083C

2F

CMA

Инверсия числа X2 (0F)

083D

B1

ORA C

Операция "Логическое ИЛИ" ()

083E

2B

DCX H

Перейти в ячейку памяти 08B0

083F

B6

ORA M

Операция "Логическое ИЛИ" ()

0840

57

MOV D, A

Присвоить регистру D значение аккумулятора

0841

D5

PUSH D

Переслать содержимое регистра D в стек

0842

21

LXI,H 08B2

Переслать содержимое ячейки 08B2 в регистр М

0843

B2

0844

08

0845

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0846

2F

CMA

Инверсия числа X3 (33)

0847

4F

MOV C,A

Загрузить значение аккумулятора в регистр С

0848

2B

DCX H

Перейти в ячейку памяти 08B1

0849

2B

DCX H

Перейти в ячейку памяти 08B0

084А

7E

MOV A, M

Присвоить аккумулятору значение регистра М

084B

2F

CMA

Инверсия числа X1 (00)

084C

B1

ORA C

Операция "Логическое ИЛИ" ()

084D

57

MOV D, A

Присвоить регистру D значение аккумулятора

084E

D5

PUSH D

Переслать содержимое регистра D в стек

084F

21

LXI,H 08B3

Переслать содержимое ячейки 08B3 в регистр М

0850

B3

0851

08

0852

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0853

2F

CMA

Инверсия числа X4 (55)

0854

4F

MOV C,A

Загрузить значение аккумулятора в регистр С

0855

2B

DCX H

Перейти в ячейку памяти 08B2

0856

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0857

2F

CMA

Инверсия числа X3 (33)

0858

B1

ORA C

Операция "Логическое ИЛИ" ()

0859

D1

POP D

Переслать значения стека в регистр D

085А

A2

ANA В

Операция «И» ()?()

085B

D1

POP D

Присвоить регистру D значение стека

085C

A2

ANA В

Операция «И»()?()?()

085D

D1

POP D

Переслать значения стека в регистр D

085E

A2

ANA В

Операция «И» ()?()?()?()

085F

32

STA 08B8

Переслать содержимое аккумулятора в ячейку памяти 08B8. В данной ячейку будет храниться старший байт логической функции F8

0860

B8

0861

08

0862

21

LXI,H 08B6

Переслать содержимое ячейки 08B6 в регистр М

0863

B6

0864

08

082B

7E

MOV A, M

Присвоить аккумулятору значение регистра М

082C

2F

CMA

Инверсия числа X3 (33)

082D

2B

DCX H

Перейти в ячейку памяти 08B5

082E

B6

ORA М

Операция "Логическое ИЛИ" ()

082F

2B

DCX H

Перейти в ячейку памяти 08B4

0830

B6

ORA М

Операция "Логическое ИЛИ" ()

0831

57

MOV D, A

Присвоить регистру D значение аккумулятора

0832

D5

PUSH D

Переслать содержимое регистра D в стек

0833

21

LXI,H 08B7

Переслать содержимое ячейки 08B7 в регистр М

0834

B7

0835

08

0836

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0837

2F

CMA

Инверсия числа X4 (55)

0838

4F

MOV C,A

Загрузить значение аккумулятора в регистр С

0839

2B

DCX H

Перейти в ячейку памяти 08B6

083А

2B

DCX H

Перейти в ячейку памяти 08B5

083B

7E

MOV A, M

Присвоить аккумулятору значение регистра М

083C

2F

CMA

Инверсия числа X2 (0F)

083D

B1

ORA C

Операция "Логическое ИЛИ" ()

083E

2B

DCX H

Перейти в ячейку памяти 08B4

083F

B6

ORA M

Операция "Логическое ИЛИ" ()

0840

57

MOV D, A

Присвоить регистру D значение аккумулятора

0841

D5

PUSH D

Переслать содержимое регистра D в стек

0842

21

LXI,H 08B6

Переслать содержимое ячейки 08B6 в регистр М

0843

B6

0844

08

0845

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0846

2F

CMA

Инверсия числа X3 (33)

0847

4F

MOV C,A

Загрузить значение аккумулятора в регистр С

0848

2B

DCX H

Перейти в ячейку памяти 08B5

0849

2B

DCX H

Перейти в ячейку памяти 08B4

084А

7E

MOV A, M

Присвоить аккумулятору значение регистра М

084B

2F

CMA

Инверсия числа X1 (FF)

084C

B1

ORA C

Операция "Логическое ИЛИ" ()

084D

57

MOV D, A

Присвоить регистру D значение аккумулятора

084E

D5

PUSH D

Переслать содержимое регистра D в стек

084F

21

LXI,H 08B7

Переслать содержимое ячейки 08B7 в регистр М

0850

B3

0851

08

0852

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0853

2F

CMA

Инверсия числа X4 (55)

0854

4F

MOV C,A

Загрузить значение аккумулятора в регистр С

0855

2B

DCX H

Перейти в ячейку памяти 08B6

0856

7E

MOV A, M

Присвоить аккумулятору значение регистра М

0857

2F

CMA

Инверсия числа X3 (33)

0858

B1

ORA C

Операция "Логическое ИЛИ" ()

0859

D1

POP D

Переслать значения стека в регистр D

085А

A2

ANA В

Операция «И» ()?()

085B

D1

POP D

Присвоить регистру D значение стека

085C

A2

ANA В

Операция «И»()?()?()

085D

D1

POP D

Переслать значения стека в регистр D

085E

A2

ANA В

Операция «И» ()?()?()?()

085F

32

STA 08B9

Переслать содержимое аккумулятора в ячейку памяти 08B9. В данной ячейку будет храниться младший логической функции F8

0860

B9

0861

08

0862

76

HTL

Конец программы

08B0

00

Расположение старших байтов

08B1

0F

08B2

33

08B3

55

08B4

FF

Расположение младших байтов

08B5

0F

08B6

33

08B7

55

08B8

CA

Хранение старшего байта результата вычисления

08B9

CC

Хранение младшего байта результата вычисления

Заключение

В ходе курсовой работы была составлена совершенная коньюктивная нормальная форма заданной логической функции. Проведена минимизация функции при помощи карты Карно. Составлены принципиальная и релейно-контактная схема заданной логической функции, с соблюдением правил ГОСТ.

Список использованной литературы

1. Элементы систем автоматики : учеб. пособие для студ. высш. учеб. заведений / А. М. Водовозов. - М. : Издательский центр «Академия», 2006. - 224с. ISBN 5-7695-2934-2

2. Основы микропроцессорной техники : учебное пособие / Ю. В. Новиков, П. К. Скоробогатов. - 4-е изд., испр. - М. : Интернет-Университет Информационных Технологий ; БИНОМ. Лаборатория знаний, 2009. - 357 с. : ил. - (Основы информационных технологий). ISBN 978-5-9969-0023-5 (БИНОМ.Л3)

3. Минимизация логических функций : практикум / Сиб. гос. индустр. ун-т ; сост. Ю. А. Жаров. - Новокузнецк : Изд. Центр СибГИУ, 2016. - 12с.

Размещено на Allbest.ru


Подобные документы

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

    отчет по практике [725,6 K], добавлен 01.10.2013

  • Построение карт Карно. Переход от булевых выражений к функциональным схемам. Минимизация заданной функции. Схемная реализация факторизированного покрытия. Перевод схемы в универсальный базис. Соединение транзисторов с нагрузкой в цепи коллектора.

    курсовая работа [468,7 K], добавлен 01.12.2014

  • Разработка функциональных схем основных узлов сумматора-умножителя. Минимизация функции алгоритмом Рота. Поиск простых импликант. Минимизация картами Карно-Вейча. Эффективность минимизации. Логический синтез комбинационного устройства с шестью входами.

    контрольная работа [36,3 K], добавлен 31.03.2013

  • Реализация экспертных систем любой сложности, решение любых головоломок и шарад с помощью языка логического программирования Prolog. Основные понятия в языке Prolog. Правила логического вывода и запросы. Процедуры логического вывода и принятия решений.

    курсовая работа [19,0 K], добавлен 24.05.2012

  • Строение схемы микропроцессора: все устройства, необходимые для приема из памяти, хранения, и выполнение команд, заданных согласно варианту режима адресации. Описания языка Ассемблера и его функции. Основные функции макропроцессора, варианты построения.

    курс лекций [44,1 K], добавлен 06.03.2009

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

    контрольная работа [215,8 K], добавлен 22.06.2012

  • Определение состава аппаратной части компьютера Samsung NP355V4C-S01RU с помощью программного обеспечения и стандартных средств Windows. Построение логической структуры. Синтез комбинационного устройства в базисах логических элементов И-НЕ, ИЛИ-НЕ.

    курсовая работа [648,0 K], добавлен 10.12.2013

  • Решение задачи по методу Адамса. Блок-схема функции main. Блок-схема функции Adams. Листинг программы. Блок-схема функции MMinor. Блок-схема функции MatrixMultiply. Блок-схема функции Determinant. Результат решения задачи на ЭВМ.

    курсовая работа [68,9 K], добавлен 16.04.2004

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

    курсовая работа [1,2 M], добавлен 13.01.2016

  • Разработка обучающей программы на языке программирования Borland C++ Bilder 6.0 с использованием объектно-ориентированного подхода. Особенности алгоритмической и логической реализации выполняемых системой операций. Основные формы программы и ее функции.

    курсовая работа [3,5 M], добавлен 12.03.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.