Д.А.Иванов
ПРОЕКТИРОВАНИЕ
МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ
Учебное пособие для начинающих разработчиков
Выпуск 1
АРХИТЕКТУРА
И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ
МИКРОКОНТРОЛЛЕРОВ
Санкт-Петербург
УДК 681.325
Иванов Д.А.
Проектирование микропроцессорных устройств. Учебное пособие для начинающих разработчиков. Вып.1: Архитектура и технология программирования микроконтроллеров. – СПб.: СПбГТУ, 1997. – 101 с.
Серия посвящена проектированию микропроцессорных узлов средств измерений и систем автоматики.
В первом выпуске рассмотрены фундаментальные вопросы логической организации микропроцессорных систем на примере базовой архитектуры микроконтроллерного семейства MCS-51 фирмы Intel. Подробно описана технология программирования микропроцессоров с помощью персонального компьютера и эмулятора ПЗУ.
Для студентов старших курсов высших технических учебных заведений и инженеров-проектировщиков микропроцессорных систем.
Учебное пособие рекомендовано к изданию кафедрой “Измерительные информационные технологии” факультета технической кибернетики Санкт-Петербург-ского государственного технического университета.
Рецензенты к.т.н. Б.М.Павлов и к.т.н Т.И.Кривченко
© Иванов Д.А., 1997
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ.............................................................................................................................. 5
2. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ 80С51................................................. 18
2.1. Общие сведения о микроконтроллерах 80С51................................................... 18
2.2. Особенности архитектуры.................................................................................... 19
2.3. Организация памяти.............................................................................................. 21
2.4. Программная память.............................................................................................. 23
2.5. Память данных....................................................................................................... 25
2.6. Слово состояния программы................................................................................ 29
2.7. Общая характеристика системы команд.............................................................. 30
2.8. Способы адресации.............................................................................................. 39
2.9. Синхронизация процессора.................................................................................. 40
2.10. Параллельные порты........................................................................................... 44
2.11. Таймеры-счетчики................................................................................................ 44
2.12. Последовательный порт...................................................................................... 50
2.13. Программный счетчик......................................................................................... 57
2.14. Стек........................................................................................................................ 58
2.15. Подпрограммы..................................................................................................... 60
2.16. Система прерываний........................................................................................... 61
2.17. Аппаратный сброс............................................................................................... 68
2.18. Энергосберегающие режимы работы................................................................ 70
3. ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ............... 73
3.1. Общие положения.................................................................................................. 73
3.2. Подготовка исходного текста программы.......................................................... 76
3.3. Трансляция программы......................................................................................... 79
3.4. Компоновка программы........................................................................................ 82
3.5. Отладка программы............................................................................................... 85
ЛИТЕРАТУРА...................................................................................................................... 87
ПРИЛОЖЕНИЕ 1. Система команд МК семейства MCS-51........................................... 88
ПРИЛОЖЕНИЕ 2. Эмулятор ПЗУ ЧИП-32–02................................................................. 93
ПРИЛОЖЕНИЕ 3. Англо-русский словарь специальных терминов и сокращений.... 95
ВВЕДЕНИЕ
“Понапечатали тут всякой макулатуры”, – скажет специалист в области микропроцессорной техники, прочитав оглавление этого учебного пособия, и будет в чем-то прав, поскольку пособие практически не содержит никаких новых (для специалистов) сведений о микроконтроллерах и технологии их программирования. Однако, автор и не ставил перед собой цели удивить профессионалов. Пособие предназначено, прежде всего, для студентов старших курсов специальности “Информационно-измерительная техника” высших технических учебных заведений, а также для инженеров, делающих свои первые шаги в области проектирования микропроцессорных систем.
Книга является первым выпуском серии учебных пособий для начинающих разработчиков. В нее вошли материалы, используемые в лекционных и практических курсах для студентов Санкт-Петербургского государственного технического университета. К опубликованию книги автора подтолкнуло то обстоятельство, что на сегодняшнем книжном рынке, заваленном литературой для пользователей персональных компьютеров, нет ни одного издания, в котором бы были собраны сведения, достаточные для того, чтобы (при соответствующей начальной подготовке в области цифровой электроники) довести проект микропроцессорной системы от идеи до “запрограммированного железа”. Главная цель данной книги состоит в том, чтобы помочь молодым разработчикам преодолеть трудности начального периода обучения. Для опытных же инженеров книга может служить справочником по архитектуре микроконтроллеров 80С51 фирмы Intel.
Прежде, чем перейти к изложению содержания учебного пособия, уточним некоторые определения [ 3 ]:
* Процессор (processor) – устройство или функциональная часть вычислительной системы, предназначенная для интерпретации (т.е. покомандного выполнения) программы.
* Микропроцессор (microprocessor) – большая интегральная схема, выполняющая функции процессора.
* Контроллер (controller) – специализированный процессор, предназначенный для управления внешними устройствами.
* Микроконтроллер (microcontroller) – специализированный микропроцессор для использования в контроллерах внешних устройств или приборов.
Данная книга посвящена микроконтроллерам – самому распространенному классу средств вычислительной техники.
Раздел 1 предназначен для самых неподготовленных читателей. В этом разделе рассмотрены способы представления информации в вычислительной технике и простейшие арифметические операции над двоичными числами.
Раздел 2 содержит описание микроконтроллеров 80С51, архитектура которых является базовой архитектурой микроконтроллерного семейства MSC-51 фирмы Intel. Содержание этого раздела базируется на технической документации фирмы Intel [ 5 ]
и тесно переплетается с хорошо известной профессионалам но, к сожалению, ставшей библиографической редкостью книгой В.В.Сташина, А.В.Урусова и О.Ф.Мологонце-вой [ 4 ].
В разделе 3 рассмотрена технология программирования МК, включающая этапы подготовки исходного текста, трансляции, компоновки и отладки программы с помощью персонального компьютера и эмулятора постоянного запоминающего устройства (ПЗУ).
В приложениях приведены система команд МК семейства MCS-51, описание эмулятора ПЗУ модели ЧИП32-02, а также англо-русский словарь специальных терминов и сокращений, встречающихся в учебном пособии.
В настоящее время готовится к печати второй выпуск серии “Проектирование микропроцессорных устройств”, который имеет рабочее название “Универсальный контроллер. Типовые инженерные решения и программы на языке ассемблера”.
Автор выражает глубокую благодарность Б.М.Павлову и Т.И.Кривченко за рецензирование учебного пособия.
Таблица 1.2
ПРЕДСТАВЛЕНИЕ АЛФАВИТНО-ЦИФРОВЫХ И УПРАВЛЯЮЩИХ СИМВОЛОВ В КОДЕ ASCII
Код (hex) | Символ | Код (hex) | Символ | Код (hex) | Символ | Код (hex) | Символ |
NUL | SP | @ | ` | ||||
SOH | ! | A | a | ||||
STX | “ | B | b | ||||
ETX | # | C | c | ||||
EOT | $ | D | d | ||||
ENQ | % | E | e | ||||
ACK | & | F | f | ||||
BEL | ‘ | G | g | ||||
BS | ( | H | h | ||||
HT | ) | I | I | ||||
0A | LF | 2A | * | 4A | J | 6A | j |
0B | VT | 2B | + | 4B | K | 6B | k |
0C | FF | 2C | , | 4C | L | 6C | l |
0D | CR | 2D | - | 4D | M | 6D | m |
0E | SO | 2E | . | 4E | N | 6E | n |
0F | SI | 2F | / | 4F | O | 6F | o |
DLE | P | p | |||||
DC1 | R | q | |||||
DC2 | S | r | |||||
DC3 | T | s | |||||
DC4 | U | t | |||||
NAK | V | u | |||||
SYN | W | v | |||||
ETB | X | w | |||||
CAN | Y | x | |||||
EM | Z | y | |||||
1A | SUB | 3A | : | 5A | [ | 7A | z |
1B | ESC | 3B | ; | 5B | \ | 7B | { |
1C | FS | 3C | < | 5C | ] | 7C | | |
1D | GS | 3D | = | 5D | ^ | 7D | } |
1E | RS | 3E | > | 5E | _ | 7E | ~ |
1F | US | 3F | ? | 5F | 7F | DEL |