Цифровые устройства и микропроцессор. Программирование микроконтроллеров семейства MCS-51. Жаринов О.О. - 26 стр.

UptoLike

Составители: 

26
Пусть требуется формировать конечную последовательность типа
"бегущий огонь" в порту P0, так чтобы количество сдвигов логической
единицы задавалось бы кодом на входах порта P2 (полных периодов
последовательности, очевидно, будет в 8 раз меньше, чем заданное зна-
чение кода).
Приведенная далее программа использует передачу в подпрограмму
одного параметра (переменной цикла), это осуществляется через гло-
бальную переменную, размещенную в регистре R0.
Следует подчеркнуть, что при использовании подпрограмм необходи-
мо принимать специальные меры к тому, чтобы доступ к ним мог осу-
ществиться только через команды вызова подпрограмм типа CALL и
никак иначе.
Использование косвенной адресации операндов. Косвенная адреса-
ция удобна при последовательном переборе элементов массива данных.
В зависимости от местоположения массива используются различные
команды для доступа к его элементам. Для примера рассмотрим задачу
циклической перестановки элементов массива данных: т.е. выполнения
последовательности операций вида X[i]X[i+1] для i=1,2, ... N (с одно-
временной пересылкой исходного содержимого X[1] на место X[N]) над
последовательностью операндов, размещенных во внутреннем ОЗУ
микроконтроллера. Данный пример также иллюстрирует применение
команд работы со стеком.
Пример 5
Решение поставленной задачи для N=32 (т. е. 20h в шестнадцатерич-
ной записи) и при размещении исходного массива данных во внутрен-
нем ОЗУ по адресам с 30h по 4Fh может иметь следующий вид:
Приведенный алгоритм циклической перестановки данных может
быть использован как составная часть алгоритмов цифровой фильтра-
ции (см. задания к лабораторной работе № 7), применяемых при реали-
зации корректирующих звеньев цифровых систем автоматического уп-
равления [3, 8].
Организация арифметических вычислений. Одной из типовых за-
дач, возлагаемых на микроконтроллеры в цифровых системах автома-
тического управления, является коррекция статических характеристик
динамических звеньев [3]. Например, статическая характеристика угло-
вого дискриминатора вида
() ()
sin
U
ϑ= ϑ
может быть линеаризована по-
средством перевода напряжения U в цифровой код, вычисления функ-