Главная страница
Медицина
Экономика
Финансы
Биология
Сельское хозяйство
Ветеринария
Юриспруденция
Право
Языки
Языкознание
Философия
Логика
Этика
Религия
Социология
Политология
История
Информатика
Физика
Вычислительная техника
Математика
Искусство
Культура
Энергетика
Промышленность
Химия
Связь
Электротехника
Автоматика
Геология
Экология
Строительство
Механика
Начальные классы
Доп
образование
Воспитательная работа
Русский язык и литература
Классному руководителю
Другое
Дошкольное образование
Казахский язык и лит
Физкультура
Школьному психологу
Технология
География
Директору, завучу
Иностранные языки
Астрономия
Музыка
ОБЖ
Социальному педагогу
Логопедия
Обществознание

Микроконтроллеры серии 8051. Практический подход (Ю.С. Магда, 2008). Микроконтроллеры серии 8051. Практический подход (Ю.С. Магда, 20. Ю. С. Магда москва 2008микроконтроллерысерии 8051 практическийподхо д удк 621. 396. 6


Скачать 3.68 Mb.
НазваниеЮ. С. Магда москва 2008микроконтроллерысерии 8051 практическийподхо д удк 621. 396. 6
АнкорМикроконтроллеры серии 8051. Практический подход (Ю.С. Магда, 2008).pdf
Дата31.01.2017
Размер3.68 Mb.
Формат файлаpdf
Имя файлаМикроконтроллеры серии 8051. Практический подход (Ю.С. Магда, 20.pdf
ТипДокументы
#1403
КатегорияПромышленность. Энергетика
страница1 из 19
  1   2   3   4   5   6   7   8   9   ...   19

Ю. С. МАГДА
МОСКВА 2008
МИКРОКОНТРОЛЛЕРЫ
СЕРИИ 8051:
П Р А К Т И Ч Е С К И Й П О Д Х О Д

УДК 621.396.6
ББК
32.872
М12
Магда Ю. С.
Микроконтроллеры серии 8051: практический подход. — М.: ДМК Пресс, 2008. —
228 с.
ISBN 5 94074 394 3
В книге рассматривается широкий круг вопросов, связанных с практическим применением популярных микроконтроллеров 8051 и их расширений в системах управления и контроля. Основной упор сделан на практические аспекты разработки цифровых и аналоговых интерфейсов, использова ния таймеров, визуализации результатов измерений в системах сбора информации. Значительная часть материала посвящена практическому программированию в популярной среде разработки Keil uVision. Приводятся многочисленные примеры разработки несложных аппаратно–программных систем сбора аналоговой и цифровой информации, измерительных систем, систем управления внеш ними устройствами и т.д. Все приведенные в книге проекты разработаны и проверены на отладочном модуле Rita 51 фирмы Rigel Corp. и могут служить основой при разработке собственных проектов.
ББК 32.872
УДК 621.396.6
Юрий Степанович Магда
МИКРОКОНТРОЛЛЕРЫ СЕРИИ 8051:
практический подход
Главный редактор
Мовчан Д. А. dm@dmk press.ru
Корректор
Теренина О. А.
Верстка и графика
Старцевой Е. М.
Дизайн обложки
Мовчан А. Г.
Подписано в печать 02.11.2007. Формат 70x100 1/16.
Гарнитура «Abbat». Печать офсетная.
Усл. печ. л. 21. Тираж 2000 экз.
Издательство «ДМК Пресс»
Электронный адрес издательства: www.dmk press.ru
© Магда Ю. С., 2008
ISBN 5 94074 394 3
© Оформление, ДМК Пресс, 2008
М12

3
Введение................................................................................................... 6
Глава 1. Программная архитектура микроконтроллеров 8051..... 10
1.1. Структура внутренней памяти 8051....................................... 12
1.2. Подключение внешней памяти программ и данных........... 16
1.3. Система команд микроконтроллера семейства 8051 ........ 17
1.4. Система прерываний ............................................................... 23
1.5. Параллельные порты ввода/вывода данных ....................... 29
Глава 2. Программирование и отладка в среде Keil uVision ....... 32
2.1. Преимущества и недостатки языков высокого уровня ....... 33
2.2. Создание программ в Keil C51 ............................................... 34
2.3. Синтаксис Keil C51 ................................................................... 45
2.3.1. Символы, ключевые слова и идентификаторы ........... 45
2.3.2. Форматы данных в Keil C51 ........................................... 48
2.3.3. Специальные ключевые слова Keil C51 ...................... 49
2.3.4. Операторы и выражения в Keil C51 ............................. 54
2.3.5. Файлы заголовков Keil C51 ........................................... 55
2.4. Управление вводом/выводом в Keil C51 ............................. 57
2.5. Операции с памятью ................................................................ 59
2.6. Программирование ввода/вывода через последовательный порт................................................................... 60
2.7. Интерфейс с языком ассемблера .......................................... 64
2.7.1. Встроенный ассемблерный код .................................... 64
2.7.2. Подпрограммы на ассемблере...................................... 71
Оглавление

2.8. Программирование на языке ассемблера в среде Keil...... 74
2.9. Отладка программ в среде Keil uVision ................................. 83
Глава 3. Использование последовательного порта ...................... 92
3.1. Запись данных в последовательный порт ............................ 94
3.2. Чтение данных из последовательного порта...................... 102
3.3. Прерывание последовательного порта .............................. 103
3.4. Работа с последовательным портом в Keil C51................. 108
3.5. Интерфейс систем на базе 8051 с персональным компьютером .................................................................................. 110
Глава 4. Встроенные таймеры......................................................... 117
4.1. Режим работы таймера в качестве 16 разрядного таймера ........................................................................................... 119
4.2. Прерывания таймеров .......................................................... 124
4.3. Режим автоперезагрузки...................................................... 128
4.4. Счетчики событий................................................................... 130
4.5. Таймер 2 .................................................................................. 133
4.5.1. Режим автоперезагрузки таймера 2.......................... 134
4.5.2. Режим захвата таймера 2............................................ 137
4.6. Аппаратно программные решения с использованием таймеров ......................................................................................... 145
4.6.1. Измерение частоты....................................................... 145
4.6.2. Широтно импульсная модуляция ................................ 153
Глава 5. Обработка дискретных сигналов .................................... 158
5.1. Обработка входных данных с использованием SPI........... 161
5.2. Пользовательские интерфейсы ввода дискретных данных ............................................................................................ 174
5.3. Пользовательские интерфейсы вывода дискретных данных ............................................................................................ 186
Глава 6. Ввод/вывод аналоговых сигналов ................................. 192
6.1. Обработка аналоговых входных сигналов.......................... 193
6.2. Использование цифро аналоговых преобразователей ......................................................................... 20 4
МИКРОКОНТРОЛЛЕРЫ СЕРИИ 8051: ПРАКТИЧЕСКИЙ ПОДХОД
5

Глава 7. Отображение информации в системах
с микроконтроллерами 8051 ........................................................... 208
7.1. Применение семисегментных индикаторов ....................... 209
7.2. Применение жидкокристаллических индикаторов ........... 213
Заключение ......................................................................................... 224
ОГЛАВЛЕНИЕ

6
Разработка систем управления и контроля с использованием однокристальных микрокон троллеров в настоящее время переживает настоящий бум. Системы на базе микроконтролле ров используются практически во всех сферах жизнедеятельности человека, и каждый день появляются все новые и новые области применения этих устройств. В последнее время в связи с бурным развитием электроники и схемотехники расширились возможности и самих микроконтроллеров, позволяющие выполнять многие задачи, ранее недоступные для реали зации, такие, например, как обработка аналоговых сигналов. Одним из наиболее ранних микроконтроллеров, появившихся на рынке, является микроконтроллер 8051, разработан ный фирмой Intel более двадцати лет назад. Несмотря на столь приличный возраст, классиче ский 8051 и его клоны в настоящее время остаются одними из наиболее популярных при раз работке систем управления и контроля. Хорошо продуманная архитектура и интуитивно понят ная система команд оказывают решающее влияние на выбор многих разработчиков аппаратно программных систем.
Да и сами микроконтроллеры линейки 8051 постоянно развиваются, предлагая разра ботчику все новые и новые возможности. На основе базового кристалла 8051 созданы и успешно применяются устройства с развитой периферией и большими объемами памяти.
Программирование микроконтроллеров в настоящее время значительно упростилось благода ря инструментальным средствам высокого уровня, разработанным ведущими фирмами. Сегодня микроконтроллеры можно программировать на языках С, Pascal, Basic, Forth и др., что во многом облегчает жизнь программистам, не знакомым с аппаратной частью этих устройств.
Эта книга посвящена практическим аспектам разработки систем на основе микрокон троллера 8051. В отличие от большинства книг по данной тематике, здесь приводятся приме ры создания реальных систем и решения задач, с которыми разработчики сталкиваются каж дый день. Любой разработчик знает, какие трудности возникают при решении реальной задачи,
такой, например, как создание системы сбора и анализа аналоговой информации. В первую очередь это трудности с получением необходимой информации по разработке более менее сложных систем, поскольку ни одна фирма в мире или разработчик такую информацию так просто не отдадут.
В настоящее время на рынке присутствует очень много литературы и документации по микроконтроллерам для разработчиков начального уровня, но очень мало литературы для более опытных категорий читателей. Предлагаемая вашему вниманию книга призвана восполнить этот пробел. Здесь наряду с основными сведениями об аппаратно программной архитектуре микроконтроллеров 8051 приводятся многочисленные проекты разработки систем обработ ки аналоговых и дискретных данных, вывода и отображения информации. Все примеры
Введение
аппаратно программных систем, приведенные в книге, разработаны и протестированы на плате развития Rita 51 фирмы Rigel Corp. и являются полностью работоспособными. Читатели без особого труда смогут адаптировать и усовершенствовать приведенный в книге програм мный код при разработке собственных систем обработки данных и контроля.
Книга рассчитана на широкий круг читателей – от начинающих до опытных разработчиков –
и может оказаться полезной для всех, кто желает самостоятельно изучить аппаратно програм мную архитектуру микроконтроллеров 8051 и применить эти знания на практике.
Структура книги
Структура книги такова, что материал можно изучать выборочно, отдельными главами или последовательно, начиная с первой главы. Это позволяет различным категориям читателей изучать тот материал, который им более всего интересен.
Книга состоит из 7 глав; краткий обзор каждой из них:
ᔢ глава 1 «Программная архитектура микроконтроллеров 8051». В этой главе рассма триваются общие вопросы функционирования микроконтроллеров семейства 8051,
аппаратная и программная архитектура базовой модели, включая систему прерыва ний, ввода/вывода, интерфейсы с внешней памятью программ и данных. Значитель ная часть материала посвящена описанию системы команд микроконтроллера 8051;
ᔢ глава 2 «Программирование и отладка в среде Keil uVision». Материал этой главы посвящен вопросам разработки и отладки программ для 8051 в популярной среде
Keil uVision. Рассматриваются вопросы программирования на языке C51 и ассембле ре, отладки программного обеспечения. Приводятся практические примеры разра ботки, компиляции и отладки программ в среде Keil uVision;
ᔢ глава 3 «Использование последовательного порта». В этой главе детально проанали зированы принципы функционирования последовательного порта микроконтроллера
8051. Рассматриваются многочисленные примеры программного кода обмена дан ными с использованием последовательного порта. Приводятся практические приме ры создания программного интерфейса с персональным компьютером, работающим под управлением операционной системы Windows XP;
ᔢ глава 4 «Встроенные таймеры». Эта глава содержит материал по программированию таймеров микроконтроллеров 8051/8052. Дается исчерпывающая информация по аппаратно программной архитектуре таймеров, подкрепленная многочисленными примерами программирования. Значительная часть главы посвящена применению таймеров в разработке реальных систем с детальным анализом программного кода;
ᔢ глава 5 «Обработка дискретных сигналов». Материал главы посвящен вопросам раз работки и программирования систем обработки дискретных сигналов. В главе проана лизированы основные аппаратно программные интерфейсы I2C и SPI, а также приве дены примеры разработки систем ввода вывода дискретных данных с использовани ем этих интерфейсов. Большое внимание уделено разработке пользовательских интерфейсов с детальным анализом их программного кода;
ᔢ глава 6 «Ввод/вывод аналоговых сигналов». В этой главе рассматривается широкий круг вопросов, связанных с обработкой аналоговых входных сигналов, а также прин ципы генерации аналоговых выходных сигналов. На практических примерах показано создание реальных систем сбора данных при использовании аналого цифровых пре образователей с детальным анализом программного кода. Приводится практический пример разработки цифро аналогового преобразователя;
7
ВВЕДЕНИЕ

ᔢ глава 7 «Отображение информации в системах с микроконтроллерами 8051». Мате риал главы затрагивает вопросы, связанные с отображением визуальной информа ции в системах на базе микроконтроллера 8051. Рассмотрены практические приме ры построения простых систем отображения информации с использованием семисег ментных светодиодных и жидкокристаллических индикаторов. Анализируются вопросы создания пользовательских систем отображения информации с использова нием жидкокристаллических дисплеев.
Автор благодарит коллектив издательства «ДМК» за помощь при подготовке книги к изда нию. Особая признательность жене Юлии за поддержку и помощь при написании книги.
МИКРОКОНТРОЛЛЕРЫ СЕРИИ 8051: ПРАКТИЧЕСКИЙ ПОДХОД

1.1.
Структура внутренней памяти 8051 ...................................................12
1.2.
Подключение внешней памяти программ и данных ........................16
1.3.
Система команд микроконтроллера семейства 8051.....................17
1.4.
Система прерываний............................................................................23
1.5.
Параллельные порты ввода/вывода данных ...................................29
Программная
архитектура
микроконтроллеров
8051

В этой главе мы рассмотрим основные функциональные узлы популярных микроконтрол леров семейства 8051/8052 и принципы их работы. Здесь же вкратце рассмотрим и систему команд 8051, которая нам пригодится при создании аппаратно программных проектов после дующих глав.
Аппаратная архитектура 8051 представлена на рис. 1.1.
В микроконтроллере 8051 все вычисления выполняются в арифметико логическом устройстве, являющемся частью базового процессорного модуля (CPU). Обмен данными, нахо дящимися в оперативной памяти микроконтроллера, а также считывание команд выполняет ся по внутренней шине 8051. По этой шине осуществляется и обмен данными с портами вво да/вывода P1 – P3, с последовательным портом и таймерами. Внутренний контроллер шины формирует необходимые сигналы (EA, ALE, PSEN, RD/WR) для работы с внешней памятью про грамм и данных, а также сигнал сброса/начальной установки RST.
Микроконтроллеры 8051 рассчитаны на работу с системами реального времени, которые могут генерировать определенные сигналы, требующие немедленной реакции микроконтрол лера. Для обработки таких сигналов (или событий) служит аппаратно реализованная логика прерываний, позволяющая обрабатывать сигналы внешних источников, таймеров и последо вательного порта.
10
1
Программная архитектура
микроконтроллеров 8051
Рис. 1.1.
Функциональная
схема аппаратной
части 8051

Скорость выполнения операций в системе на базе 8051 зависит от тактовой частоты, с которой работает кристалл и которая может варьироваться от единиц до нескольких десят ков мегагерц. В архитектуру классического микроконтроллера 8051 были внесены некоторые изменения (к двум существующим таймерам добавлен третий, а также расширена внутренняя память), которые привели к созданию устройства 8052, наиболее популярного в настоящее время.
Микроконтроллер 8051 реализован в виде однокристального устройства с внешними выводами, обозначенными, как показано на рис. 1.2.
Входные и выходные сигналы микроконтроллера 8051 имеют следующие назначения:
ᔢ XTAL и XTAL2 – входы подключения кварцевого резонатора для работы генератора тактовой частоты микроконтроллера;
ᔢ PSEN – сигнал, используемый при обращении к внешней памяти программ;
ᔢ ALE – выходной сигнал разрешения фиксации адреса при обращении к внешней памяти программ/данных;
ᔢ EA – сигнал, блокирующий работу с внутренней памятью;
ᔢ RST – сигнал общего сброса;
ᔢ P0 – P3 – выводы портов ввода/вывода микроконтроллера;
ᔢ Vss и Vcc – выводы подачи напряжения питания.
Порты P0, P2 и P3 помимо функционирования в режиме ввода/вывода дискретных сигна лов могут выполнять, в зависимости от аппаратной конфигурации, и другие функции. Так, через порт P0 при обращениях к внешней памяти выставляются младшие 8 бит 16 разрядного адре са, а затем, в фазе записи/чтения данных, через этот порт идет обмен данными. Порт P2 при обращениях к внешней памяти служит источником старших 8 бит 16 разрядного адреса.
Выводы порта P3 микроконтроллера 8051 имеют следующие альтернативные назначения:
ᔢ P3.0 – вход приема данных в последовательный порт;
ᔢ P3.1 – выход передачи данных с последовательного порта;
ᔢ P3.2 – вход внешнего прерывания INT0;
11
ПРОГРАММНАЯ АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ 8051
Рис. 1.2.
Схема расположения
выводов 8051

ᔢ P3.3 – вход внешнего прерывания INT1;
ᔢ P3.4 – вход управления таймером 0;
ᔢ P3.5 – вход управления таймером 1;
ᔢ P3.6 – выход сигнала записи в память;
ᔢ P3.7 – выход сигнала чтения из памяти.
Для использования альтернативных функций порта P3 необходимо настроить соответ ствующим образом программное обеспечение системы 8051.
11..11.. Структура внутренней памяти 8051
Микроконтроллеры 8051 оперируют двумя типами памяти: памятью программ и памятью данных. Память данных может быть реализована как комбинация размещенного на кристал ле (резидентного или on chip) статического ОЗУ и внешних микросхем памяти. Для простых аппаратно программных конфигураций с применением 8051 бывает достаточно резидентной памяти самого микроконтроллера.
Программный код размещается в памяти программ, которая физически может быть реа лизована в виде однократно программируемого устройства (EPROM), перепрограммируемого устройства (EEPROM) или флеш памяти. Если для записи программ используется EPROM или
EEPROM, то программный код обычно располагается во внешнем по отношению к микрокон троллеру устройстве. В подавляющем большинстве современных микроконтроллеров 8051
память программ располагается во флеш памяти, находящейся, так же как и резидентная память данных, на одном кристалле.
Память программ и память данных физически и логически разделены, имеют различные механизмы адресации, работают под управлением различных сигналов и выполняют разные функции.
Память программ может иметь максимальный объем, равный 64 Кб, что обусловлено использованием 16 разрядной шины адреса. Во многих случаях емкость памяти программ, раз мещенной на кристалле 8051, ограничена 4, 8 или 16 Кб. В память программ кроме команд могут записываться константы, управляющие слова инициализации, таблицы перекодировки входных и выходных переменных и т.п. Доступ к содержимому памяти программ осуществляется посредством 16 битовой шины адреса. Сам адрес формируется с помощью либо программного счетчика (PC), либо регистра указателя данных (DPTR). DPTR выполняет функции базового реги стра при косвенных переходах по программе или используется в операциях с таблицами.
Общая структура памяти микроконтроллера 8051 показана на рис. 1.3.
12
ПРОГРАММНАЯ АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРОВ 8051
  1   2   3   4   5   6   7   8   9   ...   19
написать администратору сайта