Вопрос-2: решение уравнений комбинаторной логики (функция 6 переменных от u до z) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вопрос-2: решение уравнений комбинаторной логики (функция 6 переменных от u до z)

Q=(U*(V+W))+(X*Y")+Z"

Уравнение такого рода решаются с помощью карт Карно или аппарата алгебры булевой логики.

     Предположим, что U и V явл-ся входными выводами порта, W и X - биты состояния двух периферийных контроллеров, а Y и Z - программные флаги, ранее установленные в программе. Окончательный рез-тат должен выдаваться на выходной

вывод порта.

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

      

1 способ - Использование команд с байтовыми операндами.
Здесь не исп-ся команды битового процессора, хотя используется мнемоника MCS-51. Др. процессоры могут выполнить аналогичные действия, используя собственную мнемонику типа INPTUT, OUTPUT, LOAD, STORE и т.д.
2 способ - Использование команд проверки битов.
Благодаря использованию данного способа одна команда MCS-51 может заменить последовательность “переслать\маскировать\условно перейти”. Это позволяет сократить программу. Чтобы не смущаться употреблением “бит”, каждой входной переменной присвоено символическое имя.
3-способ - Использование битового процессора.
Благодаря использованию битового процессора удается написать программу без команд условного перехода. При завершении программы полученный рез-тат присваивается флагу переноса, который копируется на выходной вывод.

(ЭТО НА ВСЯКИЙ СЛУЧАЙ, ЕСЛИ ПОТРЕБУЕТ КОД!!!)

 



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 20; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.214 (0.008 с.)