Я обозначил выходы буквами от Q0 до Q7. Они расположены так, что выход первого триггера в цепочке (Q0) является крайним справа. Если вы подключите к этим выходам лампочки, сможете прочитать 8-битное число. Временн а я диаграмма такого счетчика может отображать все восемь выходов отдельно или вместе следующим образом.
При каждом положительном переходе сигнала Clk некоторые выходы Q могут измениться, некоторые — нет, однако вместе они отражают последовательность возрастающих двоичных чисел.
Ранее в этой главе я говорил, что мы найдем способ определения частоты осциллятора. Итак, если вы подключите осциллятор к входу Clk 8-битного счетчика, последний покажет, сколько колебаний совершил осциллятор. Когда общее число достигнет 11111111 (255 в десятичной системе счисления), счетчик вернется к 00000000. Вероятно, самый простой способ определения частоты осциллятора заключается в том, чтобы подключить восемь лампочек к выходам 8-битного счетчика. Теперь подождите, пока значения всех выходов не станут равны 0, то есть пока не погаснут все лампочки, и запустите секундомер. Остановите секундомер, когда все лампочки погаснут снова. Это время, необходимое для 256 колебаний. Скажем, для этого требуется десять секунд. Таким образом, частота осциллятора составляет 256 / 10 = 25,6 герца.
С появлением в триггерах дополнительных функций они становятся более сложными. На следующем рисунке изображен D-триггер с предустановкой и очисткой, срабатывающий по фронту .
Входы Pre (от «рreset» — «предустановка») и Clr обладают более высоким приоритетом, чем входы Clk и «Данные». Обычно эти два входа равны 0. Когда вход Pre равен 1, выход Q становится равным 1, а выход — 0. Когда вход Clr равен 1, выход Q — 0, а выход — 1. Как и в случае со входами S и R RS-триггера, входы Pre и Clr не должны одновременно быть равными 1. В остальном этот триггер ведет себя как обычный D-триггер со срабатыванием по фронту.
D-триггер с предустановкой и очисткой, срабатывающий по фронту, обозначается следующим образом.
Теперь наши телеграфные реле умеют складывать, вычитать и производить подсчет в двоичном формате. Это значительное достижение, особенно учитывая то, что используемое оборудование было доступно более ста лет назад. Впереди у нас еще множество открытий. Однако давайте немного отдохнем от конструирования схем и вернемся к системам счисления.
Помимо упомянутых RS- и D-триггеров, существуют еще два основных вида: JK-триггеры (Jerk/Kill, внезапное включение / внезапное отключение) и Т-триггеры (Toggle, переключатель; он же счетный триггер). Таблица истинности JK-триггера отличается от таковой для RS-триггера наличием перехода при J = K = 1, где ввод J аналогичен вводу S, а ввод K — вводу R. Таким образом, это отличие можно записать следующим образом.
Получается, J = K = 1 инвертирует предыдущее состояние триггера. Во всем остальном принцип работы аналогичен RS-триггеру.
Принцип действия Т-триггера заключается в том, что он инвертирует входной сигнал.
Глава 15
Байты и шестнадцатеричные числа
Две усовершенствованные счетные машины, описанные в предыдущей главе, хорошо иллюстрируют концепцию потоков данных . Восьмибитные значения перемещаются по цепи от одного компонента к другому. Эти значения подаются на входы сумматоров, защелок и селекторов, а также появляются на выходах этих устройств. Кроме того, 8-битные значения задаются с помощью переключателей и отображаются рядом лампочек. Таким образом, поток данных в этих схемах имеет ширину восемь бит . Но почему? Почему не шесть, не семь, не девять и не десять?
Можно было бы ответить, что основой наших усовершенствованных счетных машин является исходный сумматор из главы 12, работающий с 8-битными значениями. Однако нет никаких особых причин конструировать эту машину именно так. Просто при ее создании мы сочли эту величину удобной. Как бы то ни было, признаю, что схитрил, поскольку с самого начала знал (возможно, и вы тоже), что восемь бит данных соответствуют одному байту.
Читать дальше
Конец ознакомительного отрывка
Купить книгу