Читать «Цифровая электроника для начинающих» онлайн - страница 12

Дмитрий Витальевич Елисеев

Кстати, откуда взялись подобные ограничения? Это связано с тем, что физически данные хранятся в виде бит, в так называемой двоичной системе счисления.

Один бит - это минимально возможная величина, способная принимать значения “0” или “1”. 8 бит объединяются в байт. Любое число можно представить в виде двоичной записи, как сумму чисел степени 2 (1,2,4,8,16,32,...), например:

5 = 0*128 + 0*64 + 0*32 + 0*16 + 0*8 + 1*4 + 0*2 + 1*1 = 00000101.

Нетрудно подсчитать, что максимально возможное число при таком виде записи будет составлять 128+64+32+16+8+4+2+1 = 255. Это так называемое беззнаковое целое число (unsigned integer). Если один из разрядов зарезервировать под знак (+ или -), то останется 7 разрядов для чисел, что и соответствует -127..128.

Для 16-битных чисел диапазон значений соответственно больше, при желании их нетрудно подсчитать самостоятельно.

Вещественные числа хранятся в немного более сложном формате, так называемом формате “чисел с плавающей точкой”, состоящего из двух хранимых величин - мантиссы и экспоненты. К примеру, число 3.14 в двоичном виде будет храниться так: 01000000010010001111010111000011. Первый 0 - это знак (+), 1000000 = 128 - это экспонента, а 10010001111010111000011 - это мантисса. Вещественное число получается по формуле:

value = (1 + b0/2 + b1/4 + b2/8 + b3/16 + … ) * 2e-127

Действительно, нетрудно подсчитать, что:

(1 + 1/2 + 1/16 + ...) * 21 = 3.14

Важно отметить, что в отличие от целых чисел, вещественные числа представляются с некоторой небольшой погрешностью, она невелика, но она есть.

Разумеется, для пользователя все это прозрачно - можно написать float pi = 3.14, и не задумываться как оно внутри хранится. Но чтобы писать эффективные программы, про хранение данных хотя бы в общих чертах необходимо знать.

Теперь, вооруженные всеми этими знаниями, мы можем вновь взять плату Arduino обратно, и продолжить эксперименты с “железом”.

2.3 Мигаем светодиодом

В предыдущей части мы уже подключали светодиод к источнику питания. Arduino Nano содержит уже подключенный светодиод, для его использования достаточно лишь написать программу.

Каждый вывод микроконтроллера может работать в двух режимах: как вход (input), или как выход (output). Режим “выход” - это то, что нам нужно, при подаче на вывод “1” на выводе появляется напряжение 5В, при подаче на вывод “0” напряжение становится равным 0.

Для того, чтобы запрограммировать Arduino, нам понадобится:

- Скачать и установить Arduino IDE со страницы https://www.arduino.cc/en/Main/Software

- Подключить плату к компьютеру, в системе при этом должен появиться новый порт, например COM7