Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники_ЦБП / ПиНК_Конспект.doc
Скачиваний:
44
Добавлен:
12.03.2016
Размер:
1.98 Mб
Скачать

Реализация логических функций ( вариант 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

Управление пуском – остановом электродвигателя

На рис. показана упрощенная схема подключения датчиков к МКС управления, контроля напряжения силовой сети и выдачи сигнала для включения или выключения двигателя.

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

Для проверки и отладки программы на модели будем предполагать, что кнопка «Пуск» имитируется разрядом Р1.0 порта контроллера, кнопка останова «Ост» имитируется разрядом Р1.1 , датчик наличия напряжения сети имитируется разрядом Р1.2, а сигнал управления на включение электродвигателя формируется через порт Р2.5. Алгоритм работы пускателя электродвигателя представлен на рис.8.

Рис . Структурная схема МКС управления пуском двигателя

Если напряжение в сети отсутствует (Дн=0), то двигатель останавливается, а если напряжение есть (Дн=1), то проверяется состояние управляющих кнопок «Ост» и «Пуск». Кнопка «Ост» имеет более высокий приоритет и поэтому проверяется раньше. Если кнопка «Ост» нажата («Ост»=1) , то двигатель останавливается, иначе переходим к проверке кнопки «Пуск». Если кнопка «Пуск» нажата («Пуск=1» , то двигатель включается , иначе состояние двига

теля не изменяется.

Для подключения датчиков будем использовать порт Р1, а для двигателя – порт Р2 . Таблица истинности, отражающая алгоритм управления двигателем, имеет следующий вид:

Дн

(Р1.2)

Ост

(Р1.1)

Пуск

(Р1.0)

Дв

(Р2.5)

0

х

х

0

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

0


Для подключения датчиков будем использовать порт Р1, а для двигателя – порт Р2 . Таблица истинности, отражающая алгоритм управления двигателем, имеет следующий вид:

Дн

(Р1.2)

Ост

(Р1.1)

Пуск

(Р1.0)

Дв

(Р2.5)

0

х

х

0

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

0


В таблице символ «х» отражает, что при значении Дн =0 значение кнопок «Пуск» и «Ост» не имеет значения. Подключение датчика Дн , кнопок Пуск, Ост, а также двигателя Дв к портам контроллера показаны в таблице истинности.

Текст программы имеет следующий вид :

$mod812

M1: CLR P2.5

М2: JNB P1.2 , M1; проверка датчика напряжения

JB P1.1 , M1 ; проверка кнопки останов

JNB P1.0 , M1; проверка кнопки пуск

SETB P2.5 ; пуск двигателя

JMP M2

END

Время выполнения: 11 мкс.

Размер программы: 18 Байт

Соседние файлы в папке Заочники_ЦБП