Счетчик не двоичной системой счисления
Основные понятия о системах счисления.
Системы счисления, которыми мы пользуемся в настоящее время, основаны на методе, открытом индусскими математиками около 400 г. н. э. Арабы стали пользоваться подобной системой, известной как арабская система счисления, приблизительно в 800 г. н. э., а примерно в 1200 г. н. э. ее начали применять в Европе и в настоящее время используют повсеместно — это десятичная система счисления (по числу пальцев на руках).
Приведем известные из истории системы счисления, основанные на тех же принципах, что и десятичная: пятеричная (количество пальцев на одной руке); двенадцатеричная (дюжина — количество фаланг на пальцах руки, за исключением большого); двадцатеричная; шестидесятеричная.
Основной системой счисления, применяемой в электронно- вычислительных машинах (ЭВМ), является двоичная система, поскольку вычислительные машины построены на схемах с двумя устойчивыми состояниями. Для удобства представления информации в ЭВМ были созданы восьмеричная и шестнадцатеричная системы.
Понятие об основных системах счисления
Под системой счисления понимается способ представления любого числа с помощью некоторого алфавита символов, называемых цифрами. Все системы счисления делятся на непозиционные и позиционные.
Непозиционными называются такие системы счисления, в которых каждый символ сохраняет свое значение независимо от места его положения в числе. Примером непозиционной системы счисления является римская система, в которой символам I, V, X, L, С, D, М соответствуют числа 1, 5, 10, 50, 100, 500, 1000. Недостатком этой системы является сложность формальных правил записи чисел и выполнения арифметических действий над ними.
Система счисления называется позиционной, если значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа. Это значение находится в однозначной зависимости от позиции, занимаемой цифрой, по некоторому закону. Примером позиционной системы счисления является десятичная система, используемая в повседневной жизни.
Количество различных цифр, употребляемых в позиционной системе, определяет название системы счисления и называется основанием такой системы. Так, в десятичной системе используются 10 цифр (от 0 до 9), основанием этой системы является число 10.
Помимо десятичной, в ПК применяются и другие позиционные системы счисления: двоичная, восьмеричная, шестнадцатеричная.
Компьютеры не могут использовать обычную человеческую систему исчисления, так как один транзистор не может иметь десять различных состояний. Технически это не реализуемо, даже добиться третьего (полувключенного) и прочих промежуточных состояний от транзистора очень сложно. Для этого надо заставить транзистор работать на высоких частотах без сбоев.
С двоичной системой микроэлектроника справляется успешно. Компьютер оперирует только нулями и единицами. Каждая переключаемая ячейка (транзистор) именуется битом. Современные компьютеры имеют стандартный кластер в 1 байт, что равняется восьми битам (2 в степени 8), его максимальное значение равняется 256 знакам вместе с нулем:
- 1 бит — один разряд и два значения (от 0 до 1);
- 4 бита – четыре разряда и 16 значений (от 0000 до 1111)
- 8 бит — восемь разрядов и двести пятьдесят шесть значений (от 00000000 до 11111111).
1 бит – это минимальная единица для цифровых устройств.
Компьютер считывает число в двоичной форме, а потом преобразует его в удобный для человека вид. На картинке ниже представлено число «142» в двоичной системе.
Фотография Бинарная система исчиления
Пробуем онлайн-курсы
Идём на «Прометеус» — там в курсе по программированию на Питоне касаются этой темы (таймкод 11:00).
Что мы видим? Сухая схема. За несколько минут вам предстоить разобраться в довольно сложной теме двоичного исчисления, просто глядя на схему. Думаю, никого не удивит, что разобраться таким методом будет немыслимо тяжело.
Ну хорошо, ну может распиаренный американский курс по компьютерным наукам CS50 поможет? Смотрим (таймкод 3:00).
Американский парнишка просто вам говорит, что «0 это 0», «1 это 1», а потом будет 10, потом 11. Понятно?
Вот спросите не-программиста, а следующее число какое? Отож.
Принцип переноса разряда проскочили, и все, уже непонятно.
WhatRoughBeast
Поскольку вы не предоставили подробных сведений о своей физической реализации и данных о том, что фактически делает ваша физическая схема, невозможно точно диагностировать вашу проблему.
Тем не менее, я предлагаю (основываясь на вашей диаграмме), что вы не правильно инициализируете свою схему, особенно свою цепочку 7 FF. Когда вы подаете питание на реальную логическую схему, нет никакой гарантии, что все элементы памяти (триггеры) автоматически запустятся в состоянии 0. Это будет иметь два возможных эффекта:
1) Выход из цепочки 7 FF, вероятно, не будет содержать 7 нулей, за которыми следуют 7 и т. Д., И ваши счетчики будут менять направление чаще, чем вы ожидаете.
2) Даже если это произойдет, если три встречных триггера также не начнутся с нуля, переход вверх / вниз не произойдет при 000 и 111.
Наконец, вы не показываете свой источник часов. Если это кнопочный выключатель, вроде так
тогда вы испытаете отскок контакта, и простое нажатие кнопки сгенерирует более одного перехода.