В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром, а также обработки прерываний. Разумеется, параллельно продолжается изучение аппаратных и программных средств микроконтроллера. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, формирование сигналов и измерение их временных параметров, обработка аналоговых сигналов и использование EEPROM. В заключение рассматривается процесс разработки реального устройства, позволяющий объединить разрозненные знания, полученные при чтении книги, в одно целое. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.
Часть I
ОСНОВЫ
Эта книга посвящена микроконтроллерам. Микроконтроллеры представляют собой цифровые устройства, построенные по образу и подобию ЭВМ с хранимой программой и объединенные вместе со вспомогательными узлами, памятью различного типа и блоками сопряжения в микросхемах сверхвысокой степени интеграции. Хотя, говоря о микроконтроллерах, часто имеют в виду их более известных «двоюродных братьев» — микропроцессоры, которые являются важнейшим узлом персональных компьютеров, подавляющее большинство как микроконтроллеров, так и микропроцессоров, помимо ПК, используются и во многих других электронных устройствах. Первые микропроцессоры, появившиеся на рынке в начале 70-х, позиционировались в качестве альтернативного способа реализации цифровых схем. Выполняемые функции определялись последовательностью инструкций, хранящихся в виде двоичных чисел в постоянном запоминающем устройстве (ПЗУ). Это решение обладало большей гибкостью по сравнению с традиционной схемой соединения различных микросхем. Современный микроконтроллер является одним из воплощений такого интегрированного вычислителя.
Использованию встраиваемых микроконтроллеров в контексте собственно цифровых вычислений посвящены 2-я и 3-я части книги. Пока же нам требуется заложить фундамент для понимания этого материала. Итак, в первой части мы с вами рассмотрим:
• Цифровые коды.
• Двоичную арифметику.
• Основы цифровой схемотехники.
• Архитектуру вычислительных устройств и их программирование.
Разумеется, мы не сможем в полной мере охватить все указанные вопросы, однако существует много других превосходных книг[5] по этой тематике, с помощью которых вы сможете продолжить изучение на более глубоком уровне.
Глава 1
Цифровое представление
Как для компьютера, так и для микроконтроллера окружающий мир представляется в виде различных чисел. В
Электронные схемы не очень хорошо подходят для хранения и обработки множества различных значений. Да, первая американская цифровая вычислительная машина ENIAC (электронный цифровой интегратор и калькулятор), созданная в 1964 году, выполняла арифметические операции в десятичном виде[8], однако все компьютеры, появившиеся впоследствии, оперировали уже данными в
• Поймете, почему двоичное представление данных является наиболее удобным для цифровых схем.
• Узнаете, как одну и ту же величину можно выразить в двоичном, шестнадцатеричном и двоично-десятичном (BCD) виде.
• Научитесь выполнять сложение и вычитание двоичных чисел.
• Узнаете, как выполнять умножение посредством сдвига влево.
• Узнаете, как выполнять деление посредством сдвига вправо с копированием знакового бита.
• Познакомитесь с логическими операциями НЕ, И, ИЛИ и Исключающее ИЛИ.