Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по АТ89С51 изд.вариант 2010-54.doc
Скачиваний:
84
Добавлен:
19.11.2019
Размер:
865.22 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Бийский технологический институт (филиал)

государственного образовательного учреждения

высшего профессионального образования

«Алтайский государственный технический университет

им. И.И. Ползунова»

Е.В. Сыпин, Е.С. Повернов, А.Н. Павлов

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

ФИРМЫ ATMEL. ОПИСАНИЕ И ПРОГРАММИРОВАНИЕ

2-е издание, переработанное и дополненное

Допущено научно-методическим советом БТИ АлтГТУ для внутривузовского использования в качестве учебного пособия по курсам «Техника двоичной переработки информации», «Микропроцессорная техника и ЭВМ», «Основы проектирования приборов и систем», «Проектирование и моделирование радиоэлектронных устройств», «Цифровые измерительные устройства», «Аппаратные интерфейсы информационных систем», «Компьютерные технологии в приборостроении» для студентов специальностей 200106 «Информационно-измерительная техника и технологии» и 230201 «Информационные системы и технологии»

Бийск

Издательство Алтайского государственного технического университета им. И.И. Ползунова

2010

УДК 681.326 (031)

С95

Рецензенты: к.т.н., доцент, директор по производству ООО ЦУТ

С.Н. Цыганок;

к.т.н., доцент кафедры ИУС БТИ АлтГТУ

Г.С. Ломакин

Работа подготовлена на кафедре МСИА

С

С95

ыпин, Е.В.

Микроконтроллер AT89C51 семейства AT89 фирмы ATMEL. Описание и программирование: учебное пособие / Е.В. Сыпин, Е.С. Повернов, А.Н. Павлов; Алт. гос. техн. ун-т, БТИ. – 2-е изд., перераб. и доп. – Бийск: Изд-во Алт. гос. техн. ун-та, 2010. – 123 с.

В учебном пособии подробно рассмотрен микроконтроллер АТ89С51 семейства АТ89 фирмы ATMEL. Приведена информация по популярному пакету программирования фирмы 2500 A.D. Основной упор сделан на описание типичных применений микроконтроллера с подробным описанием принципов подключения различных периферийных устройств к нему и примерами управляющих программ.

Приведенный материал будет полезен студентам специальностей 200106 «Информационно-измерительная техника и технологии» и 230201 «Информационные системы и технологии» при выполнении ими лабораторных работ, расчетных заданий, курсовых проектов и для углубленного изучения принципов построения и программирования микроконтроллерных устройств.

УДК 681.326 (031)

Рассмотрено и одобрено на заседании научно-методического совета Бийского технологического института.

Протокол № 2 от 26 ноября 2009 г.

© Сыпин Е.В., Повернов Е.С., Павлов А.Н., 2010

© БТИ АлтГТУ, 2010

Содержание

1 Структура микроконтроллера 7

1.1 Процессор микроконтроллера 9

1.2 Адресное пространство микроконтроллера 11

1.2.1 Подключение EROM и ERAM к микроконтроллеру 13

1.3 Периферийные устройства микроконтроллера 16

1.3.1 Параллельные порты ввода-вывода 17

1.3.2 Таймер-счетчик Т/С0 17

1.3.3 Таймер-счетчик Т/С1 19

1.3.4 Последовательный порт 20

1.3.5 Контроллер прерываний 24

2 Система команд микроконтроллера 28

3 Общие сведения о языке Ассемблер для микроконтроллеров стандарта MCS-51 и о программном пакете фирмы 2500 A.D. 42

3.1 Синтаксис языка Ассемблер 42

3.1.1 Определители основания системы счисления 42

3.1.2 Примеры констант и применения директивы RADIX 43

3.1.3 Комментарии 43

3.1.4 Программный счётчик 43

3.1.5 Метки 43

3.1.6 Директивы 43

3.1.7 Макроопределения 45

3.2 Сообщения о некоторых ошибках ассемблирования 45

3.3 Рекомендуемая процедура инициализации микроконтроллера 46

4 Типичные применения микроконтроллеров 50

4.1 Ввод информации с датчиков 50

4.1.1 Опрос двоичного датчика 50

4.1.1.1 Ожидание события 50

4.1.1.2 Ожидание импульсного сигнала 52

4.1.2 Устранение дребезга контактов 55

4.1.3 Подсчет числа импульсов 59

4.1.3.1 Подсчет числа импульсов за интервал времени между двумя событиями 59

4.1.3.2 Подсчет числа импульсов за заданный промежуток времени 62

4.1.4 Опрос группы двоичных датчиков 68

4.1.5 Ввод информации с матричной клавиатуры 71

4.2 Вывод управляющих сигналов из микроконтроллера 75

4.2.1 Формирование статических сигналов 75

4.2.2 Формирование импульсных сигналов 78

4.2.2.1 Генерация меандра 78

4.2.2.2 Формирование сигнала с заданной скважностью 79

4.2.3 Вывод и отображение информации 80

4.2.3.1 Динамический вывод информации на дисплей из семисегментных индикаторов 82

4.3 Реализация функций реального времени 86

4.3.1 Программное формирование временной задержки 86

4.3.2 Формирование временной задержки с использованием таймеров 88

4.3.3 Измерение временных интервалов 90

4.4 Преобразование кодов 92

4.4.1 Преобразование унитарного кода в двоичный позиционный 92

4.4.2 Преобразование двоичного позиционного кода в унитарный 93

4.4.3 Преобразование кодов из одной системы счисления в другую 94

4.4.4 Преобразование данных из параллельного кода в последовательный и обратно 97

4.4.5 Цифро-аналоговое преобразование 101

4.4.6 Аналого-цифровое преобразование 103

4.4.6.1 Метод последовательного приближения 103

4.4.6.2 Метод двойного интегрирования 105

4.5 Операции с памятью 108

4.5.1 Тестирование ОЗУ 110

4.5.2 Программа тестирования ПЗУ 112

4.6 Обмен данными по шине I2С 113

4.6.1 Общие положения и введение в логику работы шины I2С 113

4.6.2 Пример обмена данными по шине I2C 116

4.7 Приём данных по протоколу Centronics 123

Список сокращений

ALU – арифметико-логическое устройство

CPU – процессор

ERAM – внешнее оперативное запоминающее устройство

EROM – внешнее постоянное запоминающее устройство

I2С – шина соединения микросхем

IRAM – внутреннее оперативное запоминающее устройство

IROM – внутреннее постоянное запоминающее устройство

OSC – генератор тактового сигнала

SP – последовательный порт

SRAM – статическое оперативное запоминающее устройство

UART – универсальный асинхронный приемопередатчик

АЦП – аналого-цифровой преобразователь

ЗУ – запоминающее устройство

ИМ – исполнительный механизм

МК – микроконтроллер

МСИ – матричный светодиодный индикатор

МЦ – машинный цикл

ОЗУ – оперативное запоминающее устройство

ПЗУ – постоянное запоминающее устройство

ССИ – семисегментный индикатор

УС – управляющее слово

ЦАП – цифро-аналоговый преобразователь