Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Микроконтроллеры серии «Twido».doc
Скачиваний:
38
Добавлен:
27.08.2019
Размер:
1.84 Mб
Скачать

5.5. Регистры сдвига

В пакете «TwidoSoft» существует два вида регистров сдвига:

  • регистры сдвига битов;

  • регистры сдвига строк слов.

5.5.1. Регистры сдвига битов. (блок %sbRi )

Функциональный блок регистра сдвига битов (блок %SBRi ) обеспечивает сдвиг влево или вправо двоичных битов. Функциональная схема такого блока показана на Рис. 26.

Рис.26. Функциональная схема битового регистра сдвига в пакете «TwidoSoft»

На этой схеме:

%SBRi - символ для обозначения битового регистра сдвига на схеме;

%SBRi.j - биты регистра сдвига;

i - номер битового регистра сдвига (от 0 до 7);

J - номер бита в слове регистра сдвига (от 0 до 15);

R - входной сигнал обнуления всех битов;

CU - входной сигнал сдвига влево;

CD - входной сигнал сдвига вправо.

Принцип работы битового регистра сдвига рассмотрим на примере задачи, структура которой представлена на Рис.27.

Рис.27. Программа исследования характеристик битового регистра сдвига.

В этой программе битовый регистр с номером «0» располагается в отдельном программном блоке (RUNG 0), в то время как в другом блоке помещены как контакты его шесть битовых разрядов, начиная с бита номер два

(%SBR0.2) . Сдвиг влево выполняется кнопкой «К1» (%I0.0), а сдвиг вправо выполняется уже кнопкой «К2» (%I0.1). Нажатием кнопки «К3» (%I0.2) перед сдвигом в нулевой бит (%SBR0.0) записывается единичный символ. Каждый разряд регистра сдвига (начиная со второго) выводится соответственно на лампы (L2, L3, L4, L5, L6, L7,).

Набейте, перенесите в оперативную память контроллера «Twido» и запустите программу представленную на Рис.27. После запуска этой программы при каждом нажатии на кнопку «К1» лампы «L2-L7» будут загораться в зависимости от того, что кнопкой «К3» будет внесено в нулевой бит. При обратном сдвиге регистра кнопкой «К2» лампы должны загораться в обратном порядке.

5.5.2. Регистры сдвига строк слов. (блок памяти %Ri )

Функциональный блок регистра сдвига строк слов (блок памяти типа %Ri) предназначен для хранения до 16-и битовых слов. Регистры сдвига строк слов бывают двух типов:

  • Типа - стековый регистр. (Называется LIFO)

  • Типа «FIFO» - регистр очереди.

Функциональная схема строкового регистра сдвига показана на Рис. 28.

Рис.28. Функциональная схема строкового регистра сдвига в пакете «TwidoSoft»

На этой схеме:

%Ri - символ для обозначения строкового регистра сдвига на схеме;

i - номер строкового регистра сдвига (от 0 до 3);

%Ri.I - входное слово строкового регистра сдвига;

%Ri.O - выходное слово строкового регистра сдвига;

I - входной сигнал для записи числа (слова) в регистр;

O - входной сигнал для считывания числа (слова) из регистра;

R - входной сигнал обнуления всех битов;

E - выход пуст;

F - выход полон.

5.5.2.1. Строковый регистр сдвига типа «lifo».

Строковый регистр сдвига типа «LIFO» (Last In, First Out) работает по принципу (последним записан – первым прочитан). Совокупность регистровой памяти такого типа называется «стеком». При получении запроса на сохранение содержимое входного слова «%Ri.I» сохраняется в вершине стека. Когда стек полон, то «F=1» и дальнейшее сохранение невозможно. При получении запроса на извлечение верхнее слово данных стека загружается в выходное слово «%Ri.O». Когда регистр пуст то «Е=1» и дальнейшее извлечение не возможно. При этом выходное слово «%Ri.O» не меняется.