Программная реализация комбинационных схем на микроконтроллере К1-20: Методические указания к лабораторной работе № 3 по дисциплине “Микропроцессорные информационно-управляющие системы на железнодорожном транспорте”, страница 5

Символом ~ обозначены переменные, не входящие в рассматриваемую конъюнкцию. Построенные таким образом наборы далее будем называть словами-конъюнкциями. Очевидно, что если входной набор совпадает по всем разрядам с одним из слов-конъюнкций рассматриваемой функции, то значение функции на данном вход­ном наборе будет равно 1. В противном случае функция равна 0. Если слово-конъюнкция образовано не всеми переменными, то сравниваются ( с входным набором ) только те разряды сло­ва-конъюнкции, которые но содержат символ ~. Для исключения влияния неопределенных разрядов в слово - конъюнкции каждому из них сопоставляется маскирующее слово. В разрядах маскиру­ющего слова записаны 1, если соответствующие разряды сло­ва-конъюнкции являются определенными, т.е. содержат 1 или 0. Если некоторый разряд слова-конъюнкции является неопределен­ным, т.е. содержит символ ~ , то в соответствующий разряд маскирующего слова записывается 0. Например, маскирующее слово для слова-конъюнкции 00~1 имеет вид 1101. Хранение маскирующих слов и слов -конъюнкций осуществляется в прог­раммном стеке (например, если верхушка стека имеет адрес 2300 (Н)). Обращение к стеку осуществляется через регистро­вую пару II, I, в которой хранится адрес первого слова стека. Последним словом стека всегда является слово, все разряды которого равны 0.

  Иа рис. 6 показана карта памяти констант и переменных, необходимых для вычисления рассматриваемой функции. Посколь­ку микропроцессор К 580 оперирует 8-разрядными словами, а число переменных, от которых зависит рассматриваемая функ­ция, равно четырем, то разряды D4....D7 стека не использу­ются, т.е. эти разряды будут равны 0. Первым словом стека является маскирующее слово первой конъюнкции , затем следует ее слово - конъюнкции и т.д. В реальной программе в разрядах стека, где стоит знак ~, можно записать 0 или 1, для однозначности будем записывать 0. Тогда содержимое адре­сов карты памяти, показанной на рис. 6, в разрядах которых содержится знак ~, можно представить следующим образом: (22FF(II))   01(II)   (22FD(II))  02(II)   

Рис. 6

Овал: НАЧАЛОНа рис. 7 приведена блок схема алгоритма программы вы­числения БФ но методу отображения входного набора, на рис. 8 программа IР1. соответствующая блок схеме, написанная па ассемблере К 580. На блок схеме, в поле комментариев, цифра­ми обозначены команды программы IР1, реализующие соответс­твующие блоки программы. Подключение входных переменных Х1...,Х4. выходной функции fа также настройка ППА D58,

 


 

                                                                                                                                  Команда 1,2

 


                                                                                                                                  Команда 3…6

 


                                                                                                                                  Команда 7

2

 
 


                                                                                                                                      Команда 8

 


                                                                                                                                      Команда 9

 


                                                                                                                                       Команда 10

 


                                                                                                                                    Команды 11…14