.
Бит - (англ. binary digit; также игра слов: англ. bit — немного) — единица измерения информации, один разряд двоичного кода (двоичная цифра). Бит может принимать только два значения "0" или "1", да или нет, включено/выключено, и т. п. В вычислительной технике "0" и "1" передаются различными уровнями напряжения, к примеру, в микросхемах ТТЛ "0" соответствует напряжением в диапазоне от +0 до + 0,8 В, а "1" в диапазоне от 2,0 до 5,0 В"..
«Бит» часто применяется в значении «двоичный разряд»(старший бит — старший двоичный разряд байта или слова, младший бит - младший разряд слова , о которых идёт речь). Относительно к микроконтроллерам, мы часто будем сталкиваться с битами. В семействе микроконтроллерах PIC18XXXX существуют специальные БИТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ. с помощью которых можно будет сбрасывать/устанавливать определенные биты в байтах (регистрах).
Байт (англ. byte) — единица измерения количества информации. В стандартном виде байт считается равным восьми двоичным цифрам (битам). Он может принимать 256 (2 в 8 й степени) различных значений. Значениями одного байта можно кодировать довольно большие объемы информации. Например, все заглавные и строчные буквы алфавита, цифры, знаки препинания, символы и служебные коды, используемые при передаче данных.Емкость различных устройств хранения информации, в том числе и в микроконтроллерах, измеряется тоже в байтах. Так же как при работе с битами, в семействе микроконтроллерах PIC18XXXX существуют и БАЙТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ, которые позволяют изменять байт "целиком" (сбрасывать, записывать в него данные (0-255) и т.д.). Младший бит находится справа, соответственно старший слева.
Многие путают производные единицы — килобиты с килоБайтами. Заметьте я специально написал байты с большой буквы, вот на это и следует обращать внимание. Если написано кб - имеется в виду килобит, если написано кБ - то имеется ввиду килобайт. И килобайт соответственно больше в восемь раз килобита. То же самое Мегабиты ( Мб ) и МегаБайты (МБ) и т.д..
В битах (килобитах, мегабитах) в секунду и в байтах (килобайотах, мегабайтах) в секунду измеряется скорость передачи данных (к примеру скорость Вашего Интернета ).
В предыдущей главе мы выяснили, что двоичные числа, так же как и десятичные, можно складывать, умножать, вычитать и делить. Естественно, что эти операции можно производить и над байтами. А в микроконтроллерах кроме этого, предусмотрены различные команды сравнения, сдвига, в том числе и команды, выполняющие простые логические операции. Если Вы сталкивались ранее с логическими микросхемами, то соответственно сталкивались и с побитовыми логическими операциями "И", "ИЛИ", "НЕ" и исключающие ИЛИ. Для тех кто слабо понимает что это такое попробуем разобраться.
Побитовое отрицание (NOT) (или побитовое "НЕ", или дополнение) — это бинарная операция, действие которой эквивалентно применению логического отрицания к каждому биту двоичного представления операнда. Простыми словами, там где в двоичном представлении операнда был 0, после выполнения операции будет 1, и, наоборот, где была 1, там будет 0. В семействе микроконтроллерах PIC18XXXX есть такая команда "COMF", которая инвертирует содержимое регистра (байта). Обозначение:
Пример:
1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
Побитовое И (AND)— это бинарная операция, действие которой эквивалентно применению логического "И" к каждой паре битов, которые стоят на одинаковых позициях в сравниваемых байтах . Другими словами, если оба соответствующих бита байтов равны 1, то результат двоичного разряда будет 1; если же хотя бы один бит из пары равен 0, то результат двоичного разряда будет 0. По отношению к микроконтроллерам существуют команда "ANDWF", к стати первые три буквы AND как раз и говорят об операции "И" над регистром (байтом) "F" и "W" (пока не будем вникать и назовем его то же байт, по сути так и есть). Обозначение: a & b
Пример:
1 | 0 | 0 | 1 | 1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
Побитовое ИЛИ (OR) — это бинарная операция, действие которой эквивалентно применению логического "ИЛИ" к каждой паре битов, которые стоят на одинаковых позициях в сравниваемых байтах. Другими словами, если оба соответствующих бита байтов равны 0, то результат двоичного разряда будет 0; если же хотя бы один бит из пары равен 1, то результат двоичного разряда будет 1. Опять же по отношению к микроконтроллерам существуют команда "IORWF". Обозначение: a | b
Пример:
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
Сложение по модулю два (XOR) (исключающее ИЛИ) — это бинарная операция, результат действия которой равен 1, если число складываемых единичных битов нечетно, если же их число четно, то результат ,будет 0. По отношению к микроконтроллерам существуют команда "XORWF". Обозначение: a^b
Пример:
1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
К логическим битовым операциям можно также отнести битовые сдвиги. Их несколько - это логический, циклический и арифметический. Нас интересует только циклический сдвиг. При циклическом сдвиге, значение последнего бита по направлению сдвига копируется в первый бит .
В семействе микроконтроллерах PIC18XXXX есть такие команды, как RLCF, RLNCF- сдвиг регистра влево через перенос и без переноса и RRCF, RRNC - то же самое только сдвиг регистра (байта) происходит вправо. Более подробно мы остановимся, когда будет рассматривать команды микроконтроллера.
Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2021 © ChipMK.ru
![]() |
|