Метод непосредственного вычисления булевых функций (НВБФ)
Для настройки параллельно-переферийного адаптера (ППА) в режим «0» вводится управляющее слово: 10001010 (поразрядно). Характеристики режима «0»: канал А и разряды С0-С3 канала С настроены на вывод, канал В и разряды С4-С7 канала С – на вывод. Подключаются входные переменные и выходные функции к соответствующим каналам ППА. Входные переменные Х1-Х4 подключены к каналу В (разряды D3-D0) , выходная функция f выводится в канал А ППА (разряд D0).
Основная идея метода состоит в том, что блоки программы вычисляют отдельные части логической формулы в соответствии с законами алгебры логики.
Каждая переменная представляется значениями 0 и 1. Для каждой переменной отводится 1 байт, т.е. одна ячейка памяти (один регистр общего назначения – РОН), имеющая 8 разрядов, из которых используется только один. В общем случае используется произвольный разряд, в нашем – разряд D0. Таким образом, после выбора используемого разряда состояние других (в нашем случае D1-D7) – безразлично. Поэтому значение 1 соответствует слово 00000001, а 0 – 00000000.
Блок-схема алгоритма
Рис. 1
Команда 1 – объявление указателя для ППА, инициализация структурных данных;
Команда 2 – управляющее слово для настройки ППА в режим 0, присвоение каналам адреса;
Команда 3 – преобразование 10-чного 16-битного кода в строку из 4-х символов;
Команда 4 – разрешение работы таймера;
Команда 5 – объявление входных переменных и выходной функции;
Команда 6 – чтение входного набора из канала А и занесение его в поле DataIO;
Команда 7 – выделение 4-х младших разрядов;
Команда 8 – вывод входных переменных на форму;
Команда 9 – занесение входных переменных на форму;
Команда 10 – занесение входных переменных в разряд DO;
Команда 11 – вычисление функции f;
Команда 12 – выделение разрядов DO выходной функции;
Команда 13 – вывод функции f на форму;
Команда 14 – вывод функции f в канал А;
Команда 15 – окрашивание символов и значений входного набора и выходных функций в красный цвет;
Команда 16 – открытие платы ППА;
Команда 17 – инициализация ППА;
Команда 18 – занесение функции в порт 0х103 значения 0х92;
Команда 19 – закрытие платы ППА.
Исходные данные:
Дана функция:
Минимизировать данную функцию и записать таблицу истинности.
Таблица истинности
х1 |
х2 |
х3 |
х4 |
f |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
2 |
0 |
0 |
1 |
0 |
1 |
3 |
0 |
0 |
1 |
1 |
1 |
4 |
0 |
1 |
0 |
0 |
0 |
5 |
0 |
1 |
0 |
1 |
1 |
6 |
0 |
1 |
1 |
0 |
1 |
7 |
0 |
1 |
1 |
1 |
1 |
8 |
1 |
0 |
0 |
0 |
0 |
9 |
1 |
0 |
0 |
1 |
0 |
10 |
1 |
0 |
1 |
0 |
1 |
11 |
1 |
0 |
1 |
1 |
1 |
12 |
1 |
1 |
0 |
0 |
0 |
13 |
1 |
1 |
0 |
1 |
0 |
14 |
1 |
1 |
1 |
0 |
0 |
15 |
1 |
1 |
1 |
1 |
0 |
Функция для ввода в программу:
f= ( (~х1) &x3) | ( ( ~x1) &x4) | ( ( ~x2) &x3) | (~x1) & ( ~x2) &x4)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.