Катцен Сид

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

Предисловие ко второму изданию



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

Поводом к выпуску второго издания данной книги стало большое количество предложений и замечаний от моих студентов и читателей из разных уголков земного шара — от Шотландии до Гавайских островов. Со времени выхода первого издания книги в конце 1990-х микроконтроллеры PIC компании Microchip стали самыми продаваемыми 8-битными микроконтроллерами. Возможности моделей среднего уровня, рассматривавшихся в первом издании, значительно возросли, так что некоторые из использовавшихся ранее моделей безнадежно устарели. Кроме того, значительно увеличилось количество моделей с 16-битным словом команд. В то же время появились новые представители линейки микроконтроллеров младшего (или базового) уровня. Поскольку все выпускаемые линейки микроконтроллеров имеют очень много общего, в новом издании основное внимание будет по-прежнему уделяться микроконтроллерам среднего уровня.

Практически все рисунки были изменены, причем многие довольно существенно; было добавлено множество новых иллюстраций. При переработке книги особое внимание уделялось ясности изложения базовых концепций. По этой причине, а также для улучшения связи с 4-й и 5-й главами третья глава была значительно переработана. К слову сказать, в обеих упомянутых главах от первоначального текста вообще практически ничего не осталось. Также с целью подробного разъяснения сложных для понимания вопросов была существенно переработана глава 7, посвященная обработке прерываний. Третья часть книги была не только обновлена в связи с использованием современных моделей микроконтроллеров, но и расширена, с тем чтобы охватить новые периферийные модули, такие как аналоговый компаратор и встроенный источник опорного напряжения. Кроме того, была добавлена глава, знакомящая читателя с линейкой наиболее развитых микроконтроллеров PIC18XXX.

Все главы книги, за исключением двух первых и последней, снабжены рабочими примерами, а также вопросами для самопроверки. Кроме того, к вашим услугам имеется сайт[1]

http://www.engi.ulst.ac.uk/sidk/quintessential,

на котором вы сможете найти:

• Ответы к вопросам для самопроверки.

• Дополнительные вопросы для самопроверки.

• Дополнительные материалы.

• Исходные тексты всех примеров и задач, встречающихся в книге.

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

• Список опечаток.

• Отзывы читателей.

Рукопись книги[2] набиралась автором на различных ПК, работающих под управлением Microsoft® Windows™ с использованием среды LATEX2ε (реализация Y&Y) и шрифта Lucida Bright. Векторные иллюстрации были созданы или отредактированы в программе Autocad R13 и внедрены в файл рукописи в виде EPS-файлов. Все фотографии были сделаны самим автором при помощи различных цифровых фотоаппаратов фирмы Olympus, кстати, битком набитых микроконтроллерами!

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

Сид Катцен

Ольстерский университет, Джорданстаун

Июль, 2005 г.

Предисловие к первому изданию

Микропроцессоры и производные от них — микроконтроллеры — являются широко распространенным и при этом незаметным элементом инфраструктуры современного общества, основанного на электронике и коммуникациях. Исследования[3], проведенные в 1998 году, показали, что в каждом доме незаметно для нас «живет» около 100 микроконтроллеров и микропроцессоров. Они присутствуют буквально всюду: в звуковых открытках, стиральных машинах, микроволновых печах, телевизорах, телефонах, персональных компьютерах и разных других устройствах. Даже в самом обыкновенном автомобиле скрывается более двадцати таких элементов, где они, в частности, контролируют состояние беспроводных датчиков давления в шинах и отображают критичные данные, получаемые по сети CAN.

Каждый год продается около четырех миллиардов подобных изделий, предназначенных для реализации «мозгов» разнообразных «умных» устройств, начиная от интеллектуальных таймеров для яйцеварок и заканчивая системами управления самолетом. Эволюция микропроцессоров, первые из которых были выпущены компанией Intel в далеком 1971 году, привела к коренному изменению структуры общества, спровоцировав в начале XXI века вторую промышленную революцию. Несмотря на то что микропроцессоры, являясь основным компонентом вездесущих ПК, известны лучше, объем продаж различных микропроцессоров, таких как Intel Pentium, составляет всего около 2 % от общего объема продаж подобных устройств. Подавляющее же большинство продаж приходится на дешевые микроконтроллеры, встраиваемые в специализированные электронные устройства, такие как смарт-карты. Причем если основной задачей микропроцессоров является обеспечение собственно вычислительной мощности, то во втором случае акцент смещается в сторону объединения на одном кристалле центрального процессора, памяти и устройств ввода/вывода. Такая интегрированная вычислительная система называется микроконтроллером.

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

Учитывая практический характер излагаемого материала, для его иллюстрации используется реально существующее аппаратное и программное обеспечение. Основную долю на рынке занимают устройства, оперирующие 8-битными данными (хотя имеются как 4-, так и 16-битные устройства), во многом схожие с первыми микропроцессорами и кардинальным образом отличающиеся от современной «тяжелой артиллерии» в лице микропроцессоров Intel Pentium и Power PC. В отличие от последних, сущностью микроконтроллера является высокая степень системной интеграции при низкой стоимости. Суммарная вычислительная мощность системы может быть увеличена путем распределения процессоров по системе. Так, в каждом сочленении манипулятора робота может использоваться свой микроконтроллер, выполняющий простые локальные операции и обменивающийся данными с более мощным процессором,‘определяющим функционирование всего робота.

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

Компания Microchip Inc. — относительно молодой игрок на рынке микроконтроллеров, на который она вышла в 1989 году после разработки нового семейства микроконтроллеров с гарвардской архитектурой. К концу 1999 года компания Microchip была уже вторым по величине производителем 8-битных микроконтроллеров, уступая только компании Motorola.

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

Вторая часть книги посвящена главным образом различным аспектам программирования PIC-микроконтроллеров среднего уровня: набор команд, написание. программ на ассемблере и языке высокого уровня (Си), поддержка подпрограмм и прерываний. Несмотря на то что при изложении материала используется линейка 14-битных моделей, рассмотренные принципы и архитектура справедливы как для 12-битных, так и для 16-битных[4] представителей семейства.