Сегодня я не буду распространяться о пользе и незаменимости счетчиков в цифровой технике – если вы читаете эту статью, то уже наверняка в этом не сомневаетесь. Поэтому перейдем сразу к делу. Поскольку все цифровые системы работают только с нулями и единичками, то и система счисления у них двоичная, где каждая цифра в числе может принимать лишь 2 значения – «0» или «1». Я не буду сильно вникать в двоичное счисление, просто взглянем на табличку и попробуем уловить связь и отличия двоичной и десятичной систем. Считать будем от 0 до 16:
Десятичная
|
Двоичная
|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
11 | 1011 |
12 | 1100 |
13 | 1101 |
14 | 1110 |
15 | 1111 |
Хорошо видно, что для записи числа «15» в десятичной системе нам понадобилось всего 2 разряда (единицы, десятки), в то время как в двоичной мы использовали аж четыре разряда. Более того, в десятичной системе разряд десятков прослужит нам вплоть до числа «99», тогда как для отображения чисел больше 15 в двоичной системе потребуется дополнительный пятый разряд. Но зато в двоичной системе мы оперировали только цифрами «1» и «0».
А теперь вспомним триггер – ведь от как раз такими цифрами и оперирует – «0» – низкий уровень, «1» – высокий уровень. Теперь отвлечемся и взглянем на двухразрядный делитель частоты из предыдущей статьи:
Начнем подавать на его вход импульсы и смотрим на результат:
количество импульсов на входе С
|
Выход Q1
|
Выход Q0
|
0 | 0 | 0 |
1 | 0 | 1 |
2 | 1 | 0 |
3 | 1 | 1 |
4 | 0 | 0 |
Все верно, первый разряд (Q0) делит входную частоту на 2, следующий (Q1) еще на 2, все это мы разобрали в прошлый раз, но интересно не это. Сравните таблицы – наша в точности повторяет первые строки из таблицы систем счисления. Получается наш делитель… считает! Вот только до трех. При четвертом импульсе на входе наши триггеры устанавливаются в «0» и дальше процесс повторится. Почему? Не хватает разрядов? Берем еще один корпус К555ТМ2 и добавляем еще два:
Строим таблицу и получаем точную копию той, что я привел в начале статьи!
количество импульсов на входе С
|
выход Q3
|
выход Q2
|
выход Q1
|
выход Q0
|
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
10 | 1 | 0 | 1 | 0 |
11 | 1 | 0 | 1 | 1 |
12 | 1 | 1 | 0 | 0 |
13 | 1 | 1 | 0 | 1 |
14 | 1 | 1 | 1 | 0 |
15 | 1 | 1 | 1 | 1 |
Таким образом, мы получили двоичный четырехразрядный счетчик, умеющий считать до 15. Чтобы считать дальше, понадобятся еще разряды. Каждый новый разряд (его называют старшим) увеличивает возможности счетчика вдвое. Ну и стоит обратить внимание – чем дальше триггер находится от главного тактового сигнала (того, который мы считаем), тем он «старше». В нашей схеме левый триггер – младший разряд и его выход всегда имеет порядковый номер «0» (в нашем случае разряд Q0). Самый правый, четвертый – старший, и это не стоит забывать, когда работаете с двоичными числами – ведь младший разряд в стандартной записи у них самый правый.