Table Of ContentМинистерство образования и науки Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
В.К. МАКУХА
ПРИМЕНЕНИЕ
МИКРОКОНТРОЛЛЕРОВ MCS-51
ПРИ ПРОЕКТИРОВАНИИ
ЭЛЕКТРОННЫХ УСТРОЙСТВ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
НОВОСИБИРСК
2014
1
УДК 004.315(075.8)
М 178
Рецензенты:
канд. техн. наук, профессор Е.А. Подъяков
канд. техн. наук, доцент С.А. Чипурнов
Работа подготовлена кафедрой электронных приборов
для студентов направления подготовки
Электроника и наноэлектроника по профилю
«Электронные приборы и устройства»
Макуха В.К.
М 178 Применение микроконтроллеров MCS-51 при проектирова-
нии электронных устройств : учеб. пособие / В.К. Макуха. –
Новосибирск: Изд-во НГТУ, 2014. – 68 с.
ISBN 978-5-7782-2505-3
УДК 004.315(075.8)
ISBN 978-5-7782-2505-3 Макуха В.К., 2014
Новосибирский государственный
технический университет, 2014
2
Предисловие к переизданию
Впервые эта работа была издана в 1996 году. Прошло почти 20 лет,
и возник вопрос: нужно ли ее переиздавать? В 1996 году это пособие
было точно актуальным: Интернет находился в зачаточном состоянии,
книги не издавались, информация о новых электронных компонентах
была доступна лишь только в виде документов от фирм-производи-
телей на английском языке, которые можно было получить лишь у
дистрибьюторов, а их тогда было гораздо меньше, чем в настоящее
время. Возникало сомнение – представляет ли сейчас интерес инфор-
мация о микроконтроллерах семейства MCS-51? Попробую проком-
ментировать эти позиции.
Да, сегодня Интернет вполне доступен, справочную информацию
легко получить и у производителя, обычно на английском языке, и у
дистрибьюторов на русском, изданы книги, выложены электронные
версии документов на сайтах различных университетов. Некоторые из
них приведены в списке использованной литературы. Однако предла-
гаемая работа не является справочником в чистом виде. Ее следует
скорее рассматривать как учебное пособие, кратко освещающее основ-
ные этапы разработки, начиная от идеи и заканчивая снятием с произ-
водства. Конечно, в работе приведены сведения об архитектуре базо-
вых версий микроконтроллеров семейства MCS-51, справочная ин-
формация о системе команд, но уделено внимание и оформлению про-
граммных продуктов, и использованию интегрированных средств раз-
работки. Эти вопросы до сих пор широко в учебной литературе не рас-
сматриваются. Поэтому студентам будет полезно изучить представ-
ленную в данном пособии общую информацию о разработке микро-
контроллерных систем.
По поводу актуальности микроконтроллеров MCS-51. Да, сейчас
всё более широкое применение на практике находят микроконтролле-
ры семейств ARM Cortex-M3 и ARM Cortex-M4. Однако говорить, что
микроконтроллеры MCS-51 не представляют интереса, пока рановато.
Здесь есть две причины.
Во-первых, в учебном процессе в большинстве технических уни-
верситетов рассматриваются именно микроконтроллеры MCS-51, счи-
тающиеся классическим примером организации микроконтроллеров.
3
И во многих всероссийских и международных студенческих олимпиа-
дах присутствуют задания по MCS-51.
Во-вторых, некоторые (причём достаточно давно) выпускаемые
промышленностью микроконтроллеры этого семейства обладают уни-
кальной аналоговой периферией. Примером может служить микро-
контроллер C8051F060 фирмы Silicon Laboratories, имеющий два
16-битных АЦП со скоростью выборки 106 выборок в секунду.
В-третьих, и сейчас ведутся разработки по созданию новых моде-
лей. Например, в 2014 году фирма CAST объявила о создании нового
8051-совместимого ядра – S8051XC3, демонстрирующего производи-
тельность 0.252 DMIPS/MHz (Dhrystone 2.1), что в 26.85 раза превыша-
ет скорость оригинального кристалла 80C51, работающего на той же
самой частоте. Кроме того, эта модель обладает очень малым энерго-
потреблением – 2.4 мкВт/МГц, что пока недостижимо в малопотреб-
ляющих 32-битных микроконтроллерах и меньше, чем в MCS-51-сов-
местимых микроконтроллерах.
Таким образом, с учётом гигантского накопленного программного
обеспечения можно перефразировать известное выражение из сказки
А.Н. Толстого «Золотой ключик, или Приключения Буратино», что
«8051 скорее жив, чем мёртв».
Перечисленные выше доводы и послужили основанием для пере-
издания работы. Текст полностью идентичен изданию 1996 года, за
исключением комментариев в сносках. Таким образом, читатель может
судить о динамике развития характеристик микроконтроллеров, про-
цессов разработки электронных устройств, оформления программного
обеспечения и интегрированных сред разработки.
Информация о приложении ApBuilder будет полезна студентам,
использующим учебный лабораторный стенд «Классик-1» при изуче-
нии дисциплин «Основы микропроцессорной техники» и «Микропро-
цессорные системы и персональные компьютеры», а сведения о мик-
роконтроллерах MCS-51 – дисциплины «Автоматизация эксперимен-
та».
Д-р техн наук, профессор В.К. Макуха
19.07.2014
4
1. РЕГЛАМЕНТАЦИЯ ПРОЦЕССА РАЗРАБОТКИ
ЭЛЕКТРОННЫХ УСТРОЙСТВ
Оказывается, что жизнь электронных приборов и устройств (как,
впрочем, и любой другой продукции) – это вовсе не такая уж простая
штука. Только подумайте, эта жизнь в обязательном порядке должна
пройти 8 фаз! Если, конечно, вы хотите, чтобы ваши приборы и
устройства прожили полноценную жизнь. Вот каковы эти фазы.
1. Исследования1, аванпроект.
2. Опытно-конструкторские работы (ОКР) или опытно-технологи-
ческие работы (ОТР).
3. Производство (постановка на производство, единичное, повто-
ряющееся, массовое).
4. Поставка (обращение).
5. Эксплуатация (применение, хранение).
6. Ремонт (увы!).
7. Обеспечение эксплуатации и ремонта предприятиями промыш-
ленности.
8. Снятие с производства (ничто не вечно под луной!).
Если вам это кажется фантастикой, то вам следует просто познако-
миться с официальным документом ГОСТ Р 15.000-942 [1], имеющим
такое название: «Система разработки и постановки продукции на произ-
водство. Основные положения», Госстандарт, России, Москва, 1994 г.
Буквы ГОСТ означают, что мы имеем дело с государственным стан-
дартом, буква Р – что это стандарт Российский, 15 – что стандарт отно-
1 Обычно этап исследований называют «Научно-исследовательская рабо-
та – НИР».
2 Что интересно, при подготовке первого издания в 1995 году это был со-
вершенно новый ГОСТ, и при размышлении о переиздании в 2014 году автор
был уверен, что в обращение должен был быть введён новый ГОСТ. Однако
оказалось, что и в 2014 году ГОСТ Р 15.000-94 является действующим (по-
следнее переиздание было в 2008 году).
5
сится к системе разработки и постановки продукции на производство в
части народнохозяйственной продукции, следующий 0 – шифр класса
группы, две последние цифры – порядковый номер стандарта в группе.
В частности, в 0-й группе стандарт номер 0 относится к основным по-
ложениям, номера с 1-го по 8 описывают перечисленные выше фазы.
Другие номера присваиваются прочим стандартам. Например, ГОСТ Р
15.013-94 «Система разработки и постановки продукции на производ-
ство. Медицинские изделия» [2]. Последние две цифры означают год
введения ГОСТа (предполагается, что они введены в XX веке)3.
Поскольку нам предстоит познакомиться с самым начальным эта-
пом разработки – исследованиями и аванпроектом, нам было бы по-
лезно узнать, что на этот счёт говорит ГОСТ Р15.001-94. Но к моменту
написания текста4 данный ГОСТ, по-видимому, ещё не был выпущен,
и мы воспользуемся документом ГОСТ 15.001-88. Из него становится
ясно, что основным документом, который требуется на данном этапе,
является техническое задание (ТЗ), которое «... должно содержать тех-
нико-экономические требования к продукции, определяющие её по-
требительские свойства и эффективность применения, перечень доку-
ментов, требующих совместного рассмотрения, порядок сдачи и при-
ёмки результатов разработки». Тем, кто решил связать свою деятель-
ность с медицинскими электронными приборами и устройствами (и
вообще с медицинскими изделиями), следует иметь в виду, что в соот-
ветствии с [2] в медицинских изделиях роль ТЗ выполняют медико-
технические требования (МТТ).
ГОСТ 15.001-88 допускает некоторую свободу: «2.4. В качестве ТЗ
допускается также использовать любой документ (контракт, протокол,
эскиз и др.), содержащий необходимые и достаточные требования для
разработки и признанный заказчиком и разработчиком, а также обра-
зец продукции, предназначенный для воспроизведения». Однако при
выполнении курсового проекта или подготовке выпускной квалифика-
ционной работы будем считать признаком хорошего тона составление
3 В стандартах, изданных в XXI веке, год издания кодируется четырьмя
разрядами.
4 В 1995 году. Более того, ГОСТ с номером 15.001 вообще не был выпущен, а
в 2001 году в качестве замены ГОСТ15.001-88 был выпущен ГОСТ Р 15.201-2000,
последнее переиздание которого было произведено в 2008. В этом ГОСТе
рассматриваются вопросы порядка разработки и постановки на производство
продукции производственно-технического назначения.
6
ТЗ, содержащего, по крайней мере, две части. Первую часть, описыва-
ющую основные технические параметры, будем называть технически-
ми требованиями. Вторую часть, отражающую основные принципы
функционирования разрабатываемого устройства, в соответствии с [3]
назовём функциональной спецификацией.
Кроме ТЗ очень полезно разработать раздел, который должен быть
посвящён тому, что у нас скучно называется «Руководство по эксплуа-
тации 07.00.00.00.000. РЭ», а в [3] – маняще-притягательно «Интер-
фейс пользователя». Почувствуйте разницу! – и выбирайте подходя-
щее для вас название раздела.
7
2. ЭТАПЫ РАЗРАБОТКИ
МИКРОПРОЦЕССОРНЫХ СИСТЕМ
Обязательным атрибутом пакета документации, подготовляемой к
договору по исследованиям, является календарный план – тоже до-
вольно скучный, на первый взгляд, объект. Но если вы читаете эти
строки в связи с необходимостью выполнить курсовой проект по дис-
циплине «Микропроцессорные системы и персональные компьютеры»
или сдать план работ в соответствии с графиком выполнения выпуск-
ной квалификационной работы, то вам ничего не остаётся делать, как
начать составлять этот самый календарный план. Причём ненавязчиво
предлагается включить следующие пункты.
1. Подготовка проекта ТЗ и интерфейса пользователя.
2. Согласование проекта с заказчиком (в данном случае с препода-
вателем).
3. Разработка функциональной схемы устройства.
4. Выбор элементной базы.
5. Разработка принципиальной схемы (и при необходимости топо-
логии печатной платы).
6. Составление функциональной схемы программного обеспечения
(не забывайте магические слова «Проектирование сверху вниз» и
«Структурированное программирование»).
7. Разработка блок-схемы алгоритмов на уровне идеи (на языке
проектирования) и на уровне ассемблера.
8. Составление исходных текстов программ.
9. Отладка (насколько это возможно) программы.
Несмотря на обилие приведенной выше информации, у некоторых,
возможно, пока еще нет ответа на очень простой вопрос: «Так как же
создать требуемое устройство?». Необходим какой-то алгоритм дей-
ствий. Согласно [3] удобно в процессе проектирования выделить сле-
дующие этапы.
ЭТАП I. Формулировка проблемы – осознание цели разработки,
анализ набора требований, определение основных функций, описание
8
входных и выходных параметров. Основное здесь – начинать анализ не
с конкретных узлов и блоков, а с системы в целом, а затем переходить
к составляющим системы (концепция проектирования «Сверху вниз»).
Совсем не вредно оценить критические параметры. Чем раньше в цик-
ле проектирования обнаружена проблема, тем меньше затрат на кор-
ректировку. Именно здесь к месту вспомнить очень характерную по-
словицу: поспешишь – людей насмешишь, поскольку опыт разработ-
чиков говорит о том, что затрата часа на начальном этапе проектиро-
вания экономит сотни часов впоследствии. Полезно также рассмотреть
возможность расширения и объединения с имеющимися системами.
В процессе работы над этим этапом должен быть выработан проект ТЗ.
Здесь следует не забывать об очень хорошем правиле, что «... закон-
ченная система должна выполнять только то, что ожидает от неё по-
требитель, и не должна делать ничего такого, чего потребитель не
хочет от неё». Это, конечно, не значит, что разработчик не должен
ничего предлагать – должен, но с учётом мнения потребителя. Неда-
ром ГОСТ 15.001-88 требует: «Заказчик должен во всех случаях ру-
ководствоваться интересами потребителя»! Финалом этого этапа
должно быть согласование ТЗ с заказчиком.
ЭТАП II. Выработка базовой концепции посредством системного
анализа – поиск различных путей решения проблемы в целом (в виде
системы), анализ достоинств и недостатков каждого из вариантов.
Непременно найдите несколько (по крайней мере, два) способов до-
стичь поставленной цели. На этом этапе определяется возможный
набор аппаратных средств, набор программных средств, оценивается
предварительная стоимость проекта. Наиболее предусмотрительные
могут позаботиться о принципах организации контроля в процессе от-
ладки и нормального функционирования устройства. Вы сильно облег-
чите себе жизнь сейчас и потом, если примите на веру, что модульный
принцип организации (если вы еще не слышали этих слов, проштуди-
руйте [1]) – это хорошо. Результат деятельности на этом этапе – функ-
циональная схема самого лучшего в России (а возможно, и в мире) ва-
рианта требуемого устройства.
ЭТАП III. Распределение решения задачи по аппаратным и про-
граммным средствам. Постарайтесь всё переложить на программное
обеспечение (software), поскольку вы уже знаете, что за монитором си-
деть куда приятнее, чем за паяльником, являющимся пока основным
средством реализации аппаратных средств (hardware). Но не забывайте,
что и то и другое вредно для здоровья! Не вредно лишь думать, особен-
9
но перед тем, как начать что-нибудь делать. Немаловажным фактором
является также то, что тиражирование программных средств – более
удобный выгодный процесс, чем тиражирование аппаратных средств.
Обычно необходимость применять аппаратные средства связана с тре-
бованием получить высокое быстродействие. На этом этапе определя-
ется тип микроконтроллера или микропроцессора исходя из следую-
щих факторов: требуемая разрядность данных, требуемый объем памя-
ти, ограничения на потребляемую мощность, наличие и стоимость
средств разработки и отладки программного обеспечения, необходи-
мость в дополнительных возможностях (АЦП, каналы связи и т. д.),
наличие интерфейсных схем, стоимость самих микроконтроллеров или
микропроцессоров. Ранее существовавшая проблема «возможность
приобретения» в настоящее время не возникает. Поскольку обучение
на кафедре электронных приборов НГТУ включено в международную
программу фирмы Intel5 по поддержке технических университетов, нет
ничего удивительного в том, что вам рекомендуется использовать для
выполнения данного курсового проекта микроконтроллеры семейства
MCS-51 (MCS-251) фирмы Intel, или семейства MCS96, или встраива-
емые микропроцессоры i386EX. Но учтите, что при массовом произ-
водстве вашего устройства вклад микропроцессора в стоимость будет в
среднем составлять 5$, или 40$, или 60$ в ценах 1995 года в г. Но-
восибирске. Впрочем, если бы обучение и не поддерживалось фирмой
Intel, все равно имеет смысл использовать эти микроконтроллеры и
микропроцессоры, ибо они действительно обеспечивают лучшие ха-
рактеристики по параметру стоимость/производительность6.
На этом же этапе следует позаботиться о выборе физических и фи-
зико-химических принципов, на которых будут работать датчики пер-
вичной информации; о выборе исполнительных устройств и об их со-
пряжении с системой.
5 С 2006 года обучение на кафедре электронных приборов поддерживается
Университетской программой фирмы Texas Instruments, но это не значит, что
не рекомендуется использовать изделия фирмы Intel. В учебном стенде
«Классик 1» в качестве объектов изучения как раз используются встраивае-
мый микропроцессор i80386EX и микроконтроллер C8052F340 фирмы Silicon
Laboratories, относящийся к семейству MCS51.
6 На самом деле ситуация меняется достаточно быстро и нужно внима-
тельно следить за рынком. Например, в 2014 году наиболее перспективными
для разработок (но не для обучения!) считаются ARM микроконтроллеры се-
мейства Cortex M3 – M4.
10