PIC-микроконтроллеры. Все, что вам необходимо знать | страница 27
Значение с выхода АЛУ может быть загружено обратно в рабочий регистр W по сигналу «Исполнение» либо передано вовне по шине данных. Такая структура показана на Рис. 3.2 (стр. 60).
Существуют также и другие разновидности регистров. Четырехбитный сдвиговый регистр, показанный на Рис. 2.22, а, является примером структуры с последовательным вводом и последовательным выводом (SISO). В данном случае бит данных, хранящийся в n-м D-триггере, поступает на вход следующего ((n + 1) — го) каскада. При подаче тактового импульса (или, в данном контексте, импульса сдвига) этот бит перегружается в (n + 1) — й триггер, т. е. сдвигается с n-й позиции в позицию n + 1. Поскольку все триггеры тактируются одним сигналом, по каждому импульсу сдвига все слово данных сдвигается вправо.
Рис. 2.22. Сдвиговый регистре последовательным вводом и выводом
В примере, приведенном на Рис. 2.22, б, по тактовому сигналу в левую позицию побитно вдвигается 4-битное число. После 4-го импульса новое слово полностью окажется в регистре. Для его считывания потребуется еще четыре импульса, во время которых произойдет побитная выдача содержимого сдвигового регистра. Если обеспечить доступ к выходу каждого триггера, чтобы данные можно было считать за один раз, получим структуру с последовательным входом и параллельным выходом (SIPO).
На Рис. 2.22, в символ «->» в обозначении тактового входа используется для указания операции сдвига. Аббревиатура SRG4 означает «4-битный сдвиговый регистр». Пример 8-битного сдвигового регистра приведен на Рис. 12.2 (стр. 370).
Существуют и другие разновидности структур, в том числе структура с параллельным входом и последовательным выходом (PISO), часто применяемая для преобразования параллельного кода в последовательный. Инкрементирование или декрементирование счетных регистров (счетчиков) производится по каждому импульсу тактового сигнала в соответствии с двоичной последовательностью. Обычно n-битный счетчик может отсчитывать 2>n состояний. Некоторые счетчики можно загружать в параллельном режиме, т. е. использовать как память.
Рассмотрим D-триггер, тактируемый по спадающему фронту (Рис. 2.23), инверсный выход Q¯ которого подключен к входу 1D. По каждому спадающему фронту на входе С1 данные с входа 1D будут защелкиваться и появляться на выходе Q. Поскольку инверсный сигнал этого выхода подается обратно на вход, то в следующий раз триггер переключится в противоположное состояние. Это периодическое переключение между двумя состояниями помечено на временной диаграмме символом «Т». В результате при подаче на вход триггера сигнала некоторой частоты на его выходе будет сформирована последовательность импульсов, частота которых в 2 раза ниже. Если частота входного сигнала не изменяется, то выходной сигнал представляет собой точный прямоугольный сигнал (меандр). Иногда такой Т-