Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

В основе информационных технологий лежит обработка, вычисление и передача информации, представленной в цифровом виде. Эта информация в подавляющем большинстве случаев представлена в виде множества двоичных разрядов (битов[10])). Как правило, такая обработка осуществляется с использованием микропроцессоров[11] и микроконтроллеров. Интересно отметить, что вычислительная мощность современной звуковой открытки превышает совокупную мощность всех вычислительных устройств, имевшихся на планете в 1950 году!

Двоичная система — это универсальный способ представления данных, поскольку простейшим устройством, которое можно реализовать на одном транзисторе, является электронный ключ. Такие ключи, имеющие только два состояния, очень малы; они способны очень быстро изменять свое состояние и потребляют незначительный ток. Более того, поскольку требуется различать только два состояния, очевидно, что двоичное представление менее подвержено воздействию помех. Из сказанного становится ясно, что и плотность компоновки элементов на кристалле, и скорости переключения этих элементов могут достигать очень больших значений. Хотя сам ключ как таковой не обладает какой-либо вычислительной мощностью, 5 миллионов ключей, переключающихся 100 миллионов раз в секунду, способны продемонстрировать, по крайней мере, видимость интеллекта!

Два состояния бита обычно называются логическим нулем (лог. 0) к логической единицей (лог. 1) или просто 0 и 1. Один бит может быть представлен двумя состояниями любой физической величины, например напряжения или силы электрического тока, освещенности, давления воздуха. В большинстве микроконтроллеров состоянию лог. 0 соответствует напряжение 0 В (или «земля»), а состоянию лог. 1 — напряжение +3…5 В, хотя это правило и не универсально. Например, в последовательном порту RS-232 вашего ПК для индикации состояния лог. 0 используется напряжение +12 В, а для индикации состояния лог. 1 — напряжение -12 В.

Итак, один бит может представлять только два состояния. Более сложные элементы можно выразить с помощью комбинаций битов. Например, обычные алфавитно-цифровые символы[12] можно представить с помощью 7-битных групп двоичных разрядов, как показано в Табл. 1.1. Таким образом, ASCII-представление строки «Microcontroller» будет иметь вид

1001101 1101001 1100011 1110010 1101111 1100011 1101111 1101110

1110100 1110010 1101111 1101100 1101100 1100101 1110010

В кодировке Юникод (Unicode), являющейся дальнейшим развитием кодировки ASCII, используются уже 16-битные группы, поэтому с ее помощью можно выразить символы всех существующих языков, а также различные математические и прочие специальные символы.

Код ASCII называется невзвешенным, поскольку отдельные биты не несут какого-либо смысла; значение имеет только вся совокупность битов. В качестве других примеров невзвешенных кодов можно отметить код значения на гранях игральной кости и семисегментный код, изображенный на Рис. 6.8 (стр. 183). Мы же в основном будем работать с обычным двоичным взвешенным кодом, в котором позиция бита определяет его величину или, иначе, вес. В целом двоичном числе самый правый бит имеет вес 20 = 1, находящийся слева от него — 21 = 2 и так далее до n-й позиции, бит в которой имеет вес 2n-1. В частности, десятичное число 1998 представляется таким образом:

103 102 101 100

1     9    9    8

т. е. 1х103 + 9х102 + 9х101 + 8х100, или 1998. В обычном двоичном коде то же самое число представляется следующим образом:

210 29 28 27 26 25 24 23 22 21 20

1   1   1   1   1   0   0  1  1  1  0

т. е. 1х210 + 1х29+ 1х28 + 1х27 + 1х26 + 0х25 + 0х24 + 1х23 + 1х22 + 1х21 + 0x20, или b’111111001110’[13]. Точно так же можно представлять и дробные числа, при этом позициям, расположенным справа от десятичной точки, соответствуют отрицательные степени двойки. Так, двоичное число b’1101.11’ эквивалентно десятичному 13.75. Из примера видно, что двоичное представление чисел гораздо длиннее их десятичных эквивалентов — в среднем не менее чем в 3 раза. Однако 2-позиционный ключ гораздо проще 10-позиционного, поэтому двоичное представление предпочтительнее.

Биты любой n-разрядной двоичной последовательности могут образовывать в общей сложности 2n комбинаций. При этом большинство компьютеров хранят и обрабатывают биты группами. Например, первый микропроцессор Intel 4004 обрабатывал данные по четыре бита (полубайт) за раз. Большинство современных процессоров оперируют с 8-битными (байт), 16-битными (слово), 32-битными (двойное слово) и 64-битными (счетверенное слово) блоками. Характеристики некоторых из указанных групп перечислены в Табл. 1.2. Приведенные названия являются в какой-то мере стандартом де-факто, однако иногда встречаются и другие варианты.

Похожие книги