Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники_ЦБП / Методичка_по_КР_ПиНК / К_Раб_(текст+рис.).DOC
Скачиваний:
18
Добавлен:
12.03.2016
Размер:
398.34 Кб
Скачать

1.2. Обработка информации, поступающей с дискретных датчиков (х1, …, Хn)

МКС опрашивает двоичные датчики Х1, …, Хn и вычисляет логическую (булеву ) функцию Y1= f(Х1, …, Хn) в соответствии с табл. 1 вариантов заданий. При единичном значении функции МКС вырабатывает в ИМ выходной сигнал Y1 = 1 заданной длительности t1. Это означает, что через t1 после выдачи единичного сигнала Y1 необходимо выработать нулевое значение сигнала Y1. Реализация длительности импульса t1 будет рассмотрена ниже. Номер варианта соответствует порядковому номеру студента в группе и представлены в табл.1.

&

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

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

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

Пример реализация логической функции У= Х1 & Х2 V/ Х3

(Вариант 1 )

Примечание: (& -функция «И» ; / - «Инверсия» )

1.Разработка структурной схемы подключения входных и выходных сигналов к портам контроллера для заданной функции приведена на рисунке:

2. Разработка таблицы истинности для заданной функции и алгоритм ее реализации, представленный на рисунке для рассматриваемого примера.

Таблица истинности

Х3

Х2

Х1

У

0

0

0

1

0

0

1

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

3.Разработка алгоритма выполнения функции. Алгоритм представлен на рисунке ниже.

Рис. Алгоритм реализации логической функции

4.Реализация функции у= х1&х2 V /х3.

$Mod812

M4: CLR P2.5 ;у=0

JNB P1.0, M1

JNB P1.1, M1

M2: SETB P1.3 ; y =1

JMP M4

M1: JNB P1.2, M2

JMP M4

END

Выполнение логических функций ( вариант 2)

Второй вариант предусматривает вначале формирование значений всевозможных наборов входных сигналов хранящихся в виде массива данных в резидентной памяти данных контроллера. Значения функций также формируются в отдельном массиве этой же памяти данных. Таким образом, во внутренней памяти данных контроллера необходимо выделить буфер наборов входных сигналов х1,х2,….хn и буфер выходных сигналов y. Автоматическое построение таблицы истинности выполняется самим контроллером. Пусть в некоторой области памяти данных , например с ячейки 20H , формируется таблица истинности, а с ячкйки 30 формируются значения вычисляемой функции У.

Память данных:

Память данных в симуляторе

0

1

2

3

4

5

6

7

0

1

2

0

1

2

3

4

5

6

7

3

1

1

1

1

0

0

0

1

Комбинации входных сигналов (Х3,Х2,Х1) хранятся, начиная , например с 20 ячейки РПД;

Выходные сигналы У формируются в РПД, начиная с 30 ячейки.

Пример: у = х1 х2 V /х3

R0 – регистр адреса памяти данных (входные Х), R0 = 20H

R1 - регистр адреса памяти данных (выходных Y), R1 = 30H

R2 – Cч. количества комбинаций переменных Х, R2 = 08H

;Программа

$Mod812

; начальная установка регистров

START: MOV R0, #20H

MOV R2, #08H

; формирование массива таблицы истинности

CLR A

M1: MOV @R0, A

INC A

INC R0

DJNZ R2, M1

; установка регистров

MOV R0, #20H

MOV R1, #30H

MOV R2, #08H

M5: MOV A, @R0 ; Ввод {X}

; вычисление функции У=Х1Х2 V /Х3

JNB acc.0, M3

JNB acc.1, M3

M2: MOV A, #01H ; y =1

JMP M4

M3: JNB acc.2, M2

MOV A, #00H ; y=0

M4: MOV @R1, A ; вывод y в память данных

; формирование адресов R0, R1

INC R0

INC R1

DJNZ R2, M5

JMP $ ; имитация остановки программы

END

Примечание: В пояснительной записке сравнить два варианта выполнения логической функции .

Соседние файлы в папке Методичка_по_КР_ПиНК