Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Консп лек по ЭиУА.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
934.4 Кб
Скачать

9.4 Триггеры и регистры

Существует много различных реализаций бистабильных ячеек. Например, за­мена элементов ИЛИ-НЕ на элементы И-НЕ приведет к образованию RS-триггера, в котором активным входным сигналом является логический ноль.

Дальнейшим развитием RS-триггера является D-защелка. В этом элементе вы­ходной сигнал (Q) повторяет входной (D), если на входе управления С присутству­ет активный уровень (в данном случае — высокий), и сохраняет предыдущее значение при неактивном уровне на входе управления. Таким образом, D-защелку можно рассматривать как 1-битную ячейку памяти, запоминающую значение, ко­торое присутствует на ее входе на момент завершения импульса управления.

На рисунке 9.4 взаимное влияние входов D и С обозначается символами «C1» и «1D». Префикс «1» у D указывает на то, что этот вход зависит от любого сигнала в обозначении которого имеется суффикс «1», в данном случае от входа С, то есть фиксация значения 1D происходит по сигналу С1.

Рассмотрим триггер, тактируемый по спадающему фронту (см. рисунок 9.4), ин­версный выход Q которого подключен к входу 1D. D-триггер тоже представляет собой 1-битную ячейку памяти. Однако в нем данные передаются на выход только по активному фронту сигнала на управляющем (тактовом) входе. Наборы D-триггеров обычно называются регистрами, т.е. устройствами памя­ти, хранящими одно слово данных.

По каждому спадающему фронту на входе С1 данные с входа 1D будут защелкиваться и появляться на вы­ходе Q. Поскольку инверсный сигнал этого выхода подаётся обратно на вход, то в следующий раз триггер переключится в противоположное состояние. Это перио­дическое переключение между двумя состояниями помечено на временной диа­грамме символом «Т». В результате при подаче на вход триггера сигнала некото­рой частоты на его выходе будет сформирована последовательность импульсов, частота которых в 2 раза ниже. Такой триггер называют Т-триггером счетного типа или делителем на два.

Рисунок 9.4 - Т-триггер

Разумеется, Т-триггеры тоже можно каскадировать, как показано на рисунке 9.5. В данном случае 4 триггера с запуском по спадающему фронту соеди­нены таким образом, чтобы выход N-го разряда управлял тактовым входом разря­да N + 1. Соответственно, если частота сигнала на входе С равна 8 МГц, то на выхо­де Qa будет прямоугольный сигнал частотой 4 МГц, на выходе Qb — 2 MГц, на Qc — 1 MГц и на Qd — 0,5 МГц.

Рисунок 9.5 – Каскадирование Т-триггеров

10 Структура микроконтроллера. Индикатор

Цель лекции: применение операций сдвига, перевод чисел в двоично-десятичную систему. Рассмотрение структуры микроконтроллера.

Краткое содержание лекции. Применение операций сдвига. Вывод цифр в цифровой индикатор. Структурная схема микроконтроллера.

10.1 Применение операций сдвига

Одним из использований операций сдвига является побитовая проверка данных. Предположим, что состояние 8 кнопок мобильного телефона сохранено в регистре данных h'20' см. таблицу 10.1.

Таблица 10.1 – Состояние кнопок

Кнопка

К7

К6

К5

К4

К3

К2

К1

К0

Состояние

0

0

1

0

1

1

1

1

Требуется определить самую левую разомкнутую кнопку, при этом считаем, что разомкнутой кнопке соответствует 1, замкнутой — 0. Рабочий регистр W в программе используется в качестве счетчика. Поскольку флаг переноса сбрасывается перед каждым сдвигом, вдвигается всегда логический 0. В какой-то момент значение регистра h’20’ становится равным нулю, и процесс завершается. Циклический сдвиг регистра на один бит вправо показан на рисунке 10.1.

Рисунок 10.1- Циклический сдвиг регистра на один бит вправо

П оследовательность сдвигов: 00101111 (0)00010111 (1)  00001011 (2)  00000101 (3)  00000010 (4)  00000001 (5)  00000000 (6). Всё на шестом шаге регистр равен нулю (при этом Z=1), следовательно, кнопка К5 является самой левой разомкнутой кнопкой.

На рисунке 10.2 показана блок-схема рассмотренного алгоритма.

При сдвиге вправо во флаг переноса выдвигается самый правый (младший) бит. Мы смо­жем определить позицию самой правой разомкнутой кнопки, заменив команду BTFSC STATUS, Z командой BTFSC STATUS, С.

Во многих случаях циклическое выдвигание бита во флаг переноса может использоваться для побитовой провер­ки данных. Например, мы можем модифицировать свою программу таким обра­зом, чтобы она подсчитывала число установленных битов в байте.