6.1.7.6. «Методические указания по отдельным видам занятий»
МИНИСТЕРСТВО ПУТЕЙ СООБЩЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Кафедра: ”Автоматика и телемеханика на железных дорогах”
ПРОГРАММНАЯ РЕАЛИЗАЦИЯ КОМБИНАЦИОННЫХ СХЕМ НА МИКРОКОНТРОЛЛЕРЕ К1-20
Методические указания к лабораторной работе №3 по дисциплине “Микропроцессорные информационно-управляющие системы на железнодорожном транспорте”
САНКТ-ПЕТЕРБУРГ
1995
Цель лабораторной работы - изучение методов программной реализации булевых функций, являющихся математическим аппаратом описания однотактных конечных автоматов (комбинационных схем).
1. ДВА МЕТОДА ПРОГРАММНОЙ РЕАЛИЗАЦИИ БУЛЕВЫХ ФУНКЦИЙ
Широкое практическое использование методов программной реализации булевых функций( БФ ) стало возможном только с появлением микропроцессоров, как широко доступного и дешевого универсального базиса.
Различают два метода программной реализации БФ: компиляционный и интерпретирующий.
При компиляционном методе для каждой БФ строится своя программа и при ее выполнении пробуется ввод только наборов входных переменных. К компиляционным методам относятся метод непосредственного вычисления БФ и метод бинарных программ.
При интерпретирующем методе строится универсальная программа, которая настраивается на реализацию конкретной БФ с помощью массива исходных данных. К интерпретирующим методам относятся метод отображения входного набора и метод адресных переходов.
В дальнейшем будем рассматривать методы программной реализации БФ с использованием микроконтроллера К 1 20 и языка ассемблер К 580. Структура технических средств и программная модель микроконтроллера рассмотрены в [1. рис.1, табл.1. табл.2]. Для ввода и вывода входных и выходных переменных используется параллельный периферийный адаптер ( ППА ), который обозначен на структурной схеме и программной модели как D 58 (1). Формирование входных переменных XI....,Х4, где XI является младшим разрядом двоичного набора, осуществляется 4-разрядным двоичным счетчиком; для индикации выходных функций используются светодиоды. Электрическое подключение входных переменных и выходной функции к соответствующим разрядам ППА происходит с помощью перемычек на лицевой панели лабораторного макета, который более подробно рассмотрен в [2. рис.2].
2. КОМПИЛЯЦИОННЫЕ МЕТОДЫ ВЫЧИСЛЕНИЯ БУЛЕВЫХ ФУНКЦИЙ
2.1Методнепосредственноговычисления булевыхфункций
Рассмотрим метод непосредственного вычисления БФна примере функции . На рис.1 показано управляющее слово ( УС ) для настройки ППА D 58 в режим О (канал А и разряды СО....СЗ, канала С настроены на вывод, канал В и разряда С4 ...С7 капала С настроены на ввод), а также подключение входных переменных и выходной функции к соответствующим каналам ППА. Входные переменные XI.....,Х4 подключены к каналу В (разряда D3,.... D0), выходная функция F выводится в канал А ППА (разряд D0).
D7 D6 D5 D4 D3 D2 D1 D0
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
УС ППА D 58
Разряд канала В ППА
Разряды капала А ППА
Рис. 1
На рис.2 представлена блок-схема программы вычисления рассматриваемой функции методом непосредственного вычисления БФ. Основная идея метода состоит в том, что блоки программы вычисляют отдельные части логической формулы в соответствии с законами алгебры логики. На рис.3 приведена программа СР1 вычисления рассматриваемой БФ на языке ассемблер К 580. Цифры в поле комментария блок-схемы программы указывают порядковые номера команд текст программы, с помощью которых реализуется соответствующий блок программы. Каждая переменная представлена значениями 0 и 1. Для каждой- переменной отводится один байт, т.е. одна ячейка памяти (или один регистр общего назначения ( РОН ), имеющая 8 разрядов, из которых используется только один разряд. В общем случае выбор используемого разряда делается произвольно ( в нашем случае это будет разряд D0 ). Таким образом, после выбора используемого разряда состояние других разрядов ( в пашем случае D1.....D7 ) безразлично. Поэтому, например, значению 0 соответствует слово 0000000[0], а значению 1 - слово 0000000 [1] (разряд D0 отличен знаком []). Рассмотрим назначение команд программы СР 1.
Команды 1 и 2 настраивают ППА в режим 0. Команда 3 осуществляет ввод входных переменных из канала В в аккумулятор процессора. Команды 4и 23 инвертируют входные переменные и выходную функцию. Известно ( ЭТО является особенностью микроконтроллера К1-20 ). Что все каналы ППА на своих входах и выходах имеют инверторы. Поэтому, для того чтобы оперировать с истинными значениями входных (выходных) переменных, после приема данных в аккумулятор ( перед выдачей входных данных в канал ) необходимо произвести их инверсию. Команды 5.....11 заносят входные переменные Х1.Х2.ХЗ.Х4 в разряд D0 регистров РОН E,D,С, В соответственно. Это делается потому, что все логические операции в процессоре выполняются поразрядно и, следовательно, входные переменные, промежуточные результаты и выходная функция должны располагаться в одноименных разрядах своих ячеек памяти или РОН( в нашем случае это разряд D0 ). Команды 12. ....22вычисляют логическую формулу. Регистры РОН II и I, используются для хранения промежуточных результатов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.