Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
400
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

О. М. Кочуров

ПРОГРАММИРОВАНИЕ ВСТРАИВАЕМЫХ

СИСТЕМ НА ОСНОВЕ МИКРОКОНТРОЛЛЕРОВ

LPC214X

Учебное пособие

Министерство образования и науки РФ

Владимирский государственный университет

Кафедра управления и информатики в технических и экономических системах

Учебное пособие

ПРОГРАММИРОВАНИЕ ВСТРАИВАЕМЫХ СИСТЕМ

НА ОСНОВЕ МИКРОКОНТРОЛЛЕРОВ LPC214X

О. М. Кочуров

Владимир 2011

УДК 004.31 УДК 004.031.6

ББК 32.973–04 К75

Кочуров О. М., Программирование встраиваемых систем на основе микроконтроллеров LPC214x. — Владимир: ВлГУ — 2011, 258 с.

Настоящее учебное пособие, состоящее из трех частей, предназначено для изучения архитектуры и основных приемов программирования микроконтроллеров LPC214x (производства NXP) семейства ARM7TDMI. В первой части изложен справочный материал по аппаратным средствам микроконтроллера. Вторая часть посвящена средствам разработки и отладки программ, прежде всего, среде Keil µVision на основе языка Си. Третья часть содержит описание решения типовых задач, представляющих интерес в практике разработки микропроцессорных систем.

Учебное пособие предназначено для широкого круга специалистов в области электроники и микропроцессорной техники. Также может быть рекомендовано студентам бакалавриата и магистратуры, изучающим дисциплину «Микропроцессорная техника» и родственные дисциплины.

Перечень сокращений

АЛУ — арифметико-логическое устройство АЦП — аналого-цифровой преобразователь ЖК(И) — жидкокристаллический (индикатор) МК — микроконтроллер МП — микропроцессор

МПС — микропроцессорная система МПУ — микропроцессорное устройство

ОЗУ — оперативное запоминающее устройство ПД — память данных ПЗУ — постоянное запоминающее устройство

ПК — персональный компьютер ПП — память программ ПУ — периферийное устройство

РОН — регистр общего назначения РСФ — регистр специальных функций

СИФУ — система импульсно-фазового управления УУ — устройство управления ФАПЧ — фазовая автоподстройка частоты

ЦАП — цифро-аналоговый преобразователь ШИМ — широтно-импульсный модулятор

3

Предисловие

Настоящее учебное пособие предназначено для изучения архитектуры и основных приемов программирования встраиваемых однокристальных микроконтроллеров серии LPC214x фирмы NXP. Материал изложен в трех частях.

Первая часть преимущественно содержит материал справочного характера — описание архитектуры и аппаратных средств микроконтроллера. Предложенное описание, затрагивая важнейшие узлы LPC2148, не является полным. Некоторые из аппаратных средств не рассмотрены. Изучив материал настоящего учебного пособия читатель без труда дополнит свои знания с помощью известных книг [1, 2] а также официальной документации компаний ARM и NXP, ссылки на которые приведены в приложении.

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

Вторая часть посвящена программным и аппаратным средствам, которые необходимы для разработки программ. Здесь читатель найдет основы представления числовой информации в памяти вычислительных устройств, а также экскурс в программирование на языке Си. Привнести что-либо новое в описание самого распространенного языка программирования трудно, кроме краткости. Поэтому авторы касаются лишь наиболее важных вопросов, без знания которых невозможна разработка ни одной программы. Авторы стремились не обойти вниманием некоторые приемы программирования и конструкции, которые часто возникают при программировании микроконтроллеров и редко в практике программирования для персональных ЭВМ. Для углубленного изучения языка рекомендуем иметь под рукой один из известных учебников [3, 4]. Значительное внимание уделено описанию популярной среды программирования Keil µVision 4. Авторы предложили методику отладки программ.

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

жили учебные платы EA-EDU-001 и EA-EDU-011 фирмы Embedded Artists.

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

4

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

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

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

5

Введение

Исторически первый четырехразрядный микропроцессор был разработан фирмой Intel в 1971 году для применения в настольных микрокалькуляторах. Микросхема i4004 выпускалась в корпусе PDIP16, выполняла 92,6 тысяч действий в секунду и адресовала всего 640 байт памяти. Система команд первого процессора включала 46 инструкций. Давно известные принципы программного управления впервые были применены в интегральной микросхеме. Это положило начало новому направлению микросхемотехники.

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

Универсальные микропроцессоры, предназначенные для решения широкого круга задач, связанных с обработкой цифровой информации, стали основой для построения персональных компьютеров. Благодаря высокому быстродействию, разрядности и объему адресуемой памяти такие микропроцессоры отличаются способностью выполнять громоздкие алгоритмы за приемлемое время.

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

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

Разрешить возникшие противоречия позволило создание микроконтроллеров. Эти устройства представляют собой совмещение всех элементов микропроцессорной системы на одном кристалле.

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

6

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

Первый микроконтроллер i8051 также был разработан фирмой Intel в 1980 году. Это был 8-разрядный микроконтроллер, выполненный в виде микросхемы в корпусе PDIP40. Архитектура 8051 (или ее развитие 8052), реализованная во множестве модификаций микроконтроллеров, чрезвычайно популярна до настоящего времени и будет оставаться популярной еще, по меньшей мере, десять лет.

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

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

7