Двоичный код — это отнюдь не только двоичные числа, им можно закодировать все, что угодно, единственное требование — чтобы в самом коде участвовало лишь два знака, ноль и единица. В этом смысле широко известная азбука Морзе двоичным кодом является лишь по видимости — на самом деле двух символов (точки и тире) в нем недостаточно, там есть как минимум еще один знак — пауза. В цифровой технике паузу можно было бы и не считать за отдельный знак, когда она просто разделяет точки и тире между собой — если бы только не необходимость разделять буквы и слова. В азбуке Морзе количество точек и тире в коде отдельных символов не фиксировано, оно может быть равно всего одному, а может — двум, трем, вплоть до пяти, так что если вы просто формально запишете подряд точки и тире, как единицы и нули, то прочесть ничего не сможете, не зная, где именно в данном случае заканчивается одна буква и начинается другая.
Более распространены в электронике т. н. равномерные коды, в которых число разрядов постоянно и определено заранее, благодаря чему разделители не требуются. Но бывает и иначе, например, почтовая кодировка UTF-8, основанная на 16-битовом Unicode, использует неравномерные коды. За экономию объема сообщения приходится расплачиваться довольно сложным алгоритмом кодирования и декодирования. Известная азбука Брайля для слепых— типичный пример двоичного кода, в котором число разрядов равно 6. По понятным причинам чаще употребляют коды, в которых число разрядов равно 8, и составляет целый байт, или более длинные, с числом разрядов, кратным 8. Типичные представители таких кодов — всем известный ASCII, который составляет основу любой современной компьютерной кодировки, а также Unicode — двухбайтовый код, позволяющий закодировать знаки всех алфавитов мира.
Управление цифровыми индикаторами
В электронике для разных целей необходимы и другие двоичные коды. Мы сейчас рассмотрим код, который для краткости будем называть
Рис. 8.4.
Разумеется, на семисегментных индикаторах можно отобразить и некоторые другие символы (знак «минус», буквы С, A, F, П, Н или Р), но эти возможности мы также оставим пока в стороне. Для того чтобы отобразить больше символов, есть и другие типы цифровых индикаторов, например, шестнадцатисегментные или матричные, но управление ими сложнее и мы остановимся на семисегментных.
Как заставить электронную схему показывать цифру на семисегментном индикаторе? Ведь изначально мы чаще всего имеем цифру в двоичном (а не двоично-десятичном) представлении. Четырехразрядное двоичное число имеет диапазон от 0 до 16, что на одном семисегментном индикаторе отобразить невозможно даже в шестнадцатеричном исполнении, т. к. букву «В» нельзя будет отличить от восьмерки, a «D» — от нуля. Это означает, что. вообще говоря, мы должны провести нашу перекодировку в два этапа: сначала представить число в распакованном двоично-десятичном виде (см.
На рис. 8.5 для примера приведена схема дешифратора двоичного кода в семисегментный, созданная на базовых логических элементах и работающая в положительной логике (светящемуся сегменту соответствует высокий уровень напряжения, предполагается использование индикаторов с общим катодом).
Рис. 8.5.