
- •Санкт-петербургский государственный технический университет
- •Оглавление
- •Введение
- •1. Арифметические основы вычислительной техники
- •Позиционные системы счисления
- •1.2. Двоичная система счисления
- •1.3. Алгоритмы преобразования десятичных чисел в двоичные
- •В двоичную систему счисления методом вычитания
- •1.4. Восьмеричная и шестнадцатеричная системы счисления
- •Представление чисел в различных системах счисления
- •1.5. Представление символьной информации
- •Представление алфавитно-цифровых и управляющих символов в коде ascii
- •1.6. Представление отрицательных чисел
- •1.7. Сложение и вычитание двоичных чисел
- •Правила сложения двоичных чисел
- •Архитектура микроконтроллеров 80c51
- •Общие сведения о микроконтроллерах 80c51
- •2.2. Особенности архитектуры
- •2.3. Организация памяти
- •2.4. Программная память
- •2.5. Память данных
- •Адресное пространство внутренней памяти данных, доступное для побитовой адресации
- •Регистры специальных функций мк 80с51
- •2.6. Слово состояния программы
- •Формат слова состояния программы
- •2.7. Общая характеристика системы команд
- •Система команд микроконтроллеров семейства mcs-51
- •Команды, модифицирующие флаги psw
- •2.8. Способы адресации
- •2.9. Синхронизация процессора
- •А. Для всех команд, кроме movx; в. Для команды movx
- •2.10. Параллельные порты
- •2.11. Таймеры/счетчики
- •Альтернативные функции портов p0, p2 и p3 мк 80с51
- •Регистр управления режимом таймера/счетчика
- •Регистр управления таймера/счетчика
- •2.12. Последовательный порт
- •Регистр управления последовательного порта
- •Регистр управления мощностью
- •Программирование таймера 1 для обеспечения работы последовательного порта в режимах 1 и 3
- •2.13. Программный Счетчик
- •2.14. Стек
- •2.15. Подпрограммы
- •2.16. Система прерываний
- •Адреса векторов прерываний мк 80с51
- •Регистр разрешения прерываний
- •Регистр приоритетов прерываний
- •2.17. Аппаратный сброс
- •Включении электропитания
- •2.18. Энергосберегающие режимы работы
- •3. Технология программирования микроконтроллеров
- •3.1. Общие положения
- •3.2. Подготовка исходного текста программы
- •3.3. Трансляция программы
- •Трансляции программы
- •Ошибки в программе
- •3.4. Компоновка программы
- •3.5. Отладка программы
- •Литература
- •Система команд мк семейства mcs-51
- •Эмулятор пзу чип32-02
- •1. Назначение
- •2. Технические характеристики
- •3. Инструкция по эксплуатации
- •Англо-русский словарь специальных терминов и сокращений
- •195251, Г. Санкт-Петербург, ул. Политехническая, д. 29
Санкт-петербургский государственный технический университет
Д.А.Иванов
ПРОЕКТИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ
Учебное пособие для начинающих разработчиков
Выпуск 1
АРХИТЕКТУРА И ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ
Санкт-Петербург
1997
УДК 681.325
Иванов Д.А.
Проектирование микропроцессорных устройств. Учебное пособие для начинающих разработчиков. Вып.1: Архитектура и технология программирования микроконтроллеров. –СПб.: СПбГТУ, 1997.–101 с.
Серия посвящена проектированию микропроцессорных узлов средств измерений и систем автоматики.
В первом выпуске рассмотрены фундаментальные вопросы логической организации микропроцессорных систем на примере базовой архитектуры микроконтроллерного семейства MCS-51 фирмы Intel. Подробно описана технология программирования микропроцессоров с помощью персонального компьютера и эмулятора ПЗУ.
Для студентов старших курсов высших технических учебных заведений и инженеров-проектировщиков микропроцессорных систем.
Учебное пособие рекомендовано к изданию кафедрой “Измерительные информационные технологии” факультета технической кибернетики Санкт-Петербург-ского государственного технического университета.
Рецензенты к.т.н. Б.М.Павлов и к.т.н Т.И.Кривченко
©Иванов Д.А., 1997
Оглавление
ВВЕДЕНИЕ5
1. АРИФМЕТИЧЕСКИЕ ОСНОВЫ ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ7
Позиционные системы счисления 7
Двоичная система счисления 8
Алгоритмы преобразования десятичных чисел в двоичные 9
Восьмеричная и шестнадцатеричная системы счисления 12
Представление символьной информации 14
Представление отрицательных чисел. 16
Сложение и вычитание двоичных чисел 17
2. АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ 80С5118
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, а также англо-русский словарь специальных терминов и сокращений, встречающихся в учебном пособии.
В настоящее время готовится к печати второй выпуск серии “Проектирование микропроцессорных устройств”, который имеет рабочее название “Универсальный контроллер. Типовые инженерные решения и программы на языке ассемблера”.
Автор выражает глубокую благодарность Б.М.Павлову и Т.И.Кривченко за рецензирование учебного пособия.