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

Как и в десятичной системе счисления, большие двоичные числа часто выражаются с использованием приставок К (кило), М (мега) и Г (гига). В двоичной системе приставка «кило» соответствует множителю 210, например 64 Кбайт (или КБ) памяти. Аналогично, приставка «мега» соответствует множителю 220= 1 048 576, например дискета объемом 1.44 Мбайт (или МБ). Точно так же емкость 20 Гбайт (или ГБ) винчестера составляет 20х230= 21 474 836 480 байт. Естественно, 1-й вариант записи предпочтительнее.

Длинные двоичные числа очень неудобны для человеческого восприятия. В Табл. 1.2 двоичные числа специально были разбиты на 4-битные группы, чтобы их удобнее было читать. Предположим теперь, что адрес какого-либо элемента в памяти равен Ь’1000 1100 0001 0100 0000 1010’. Если каждой комбинации из четырех битов сопоставить свой символ (0…9 и A…F, как показано в Табл. 1.3), то этот адрес можно будет записать в виде h’8СН0А’[14], что гораздо удобнее. Этот код называется шестнадцатеричным, поскольку для обозначения разрядов в нем используется 16 символов. Шестнадцатеричные числа (числа с основанием 16) — это вполне жизнеспособные самостоятельные числа, а не просто какое-то дополнительное представление двоичных чисел. Разряды шестнадцатеричного числа имеют веса соответственно 160, 161, 162…., 16n[15].

Двоично-десятичный код (Binary-Coded Decimal — BCD) является гибридом двоичного и десятичного представлений, широко используемым при работе с портами ввода/вывода цифровых устройств (см. Пример 11.5 на стр. 360). При таком представлении каждый десятичный разряд заменяется своим двоичным эквивалентом. Так, число 1998 записывается в виде (0001 1001 1001 1000)BCD. Это представление очень сильно отличается от эквивалентного обычного двоичного кода, несмотря на то, что при его записи тоже используются только нули и единицы. Как и следовало ожидать, выполнение арифметических операций с числами, записанными таким образом, представляет собой не простую задачу. Поэтому, как правило, на входе системы BCD-числа преобразовываются в обыкновенные двоичные числа, а после обработки преобразовываются обратно (см. Программу 5.7 на стр. 159).

Двоичная арифметика[16] подчиняется тем же правилам, что и более привычная для вас арифметика по основанию 10. Более того, это утверждение справедливо для любой системы счисления. Простейшей арифметической операцией является операция сложения, представляющая сокращенную форму записи операции нахождения общего количества чего-либо по сравнению с более примитивным процессом счета или прибавления единицы. Так, запись 2 + 4 = 6 гораздо удобнее, чем 2 + 1 = 3, 3 + 1 = 4, 4 + 1 = 5, 5 + 1 = 6. Однако при этом необходимо помнить правила сложения. Для десятичных чисел существует 45 правил, если учесть, что порядок слагаемых не важен, — от 0 + 0 = 0 до 9 + 9 = 18. Двоичное сложение гораздо проще, поскольку подчиняется всего трем правилам:

Сначала эти правила применяются к самым младшим значащим битам (Least Significant Bit — LSB); при возникновении переноса он передается в бит, расположенный левее. Процесс вычисления заканчивается старшими значащими битами (Most Significant Bit — MSB). Если из этой позиции происходит перенос, то именно он становится самым старшим битом суммы. Например:

Подобно тому как при сложении осуществляется прямой счет, операция вычитания соответствует обратному счету, при котором от исходного значения отнимаются единицы. Так, операция 8–5 = 3 эквивалентна последовательности операций 8–1 = 7, 7–1 = 6, 6–1 = 5, 5–1 = 4, 4–1 = 3.

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

0 — 0 = 0

10 — 1 = 1 Из старшего бита занимается 1

1 — 0 = 1

1 — 1 = 0

Например:

Несмотря на то что эти знакомые методы прекрасно работают, при реализации их в цифровых схемах возникает ряд проблем:

• Что делать, если вычитаемое меньше уменьшаемого?

• Как нам различать положительные и отрицательные числа?

• Можно ли выполнить вычитание с помощью блока суммирования?

Чтобы понять суть описанных проблем, взгляните на следующий пример:

Перейти на страницу:

Все книги серии Программируемые системы

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

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

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

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки