Микроконтроллеры МК – это разновидность микропроцессоров МП, предназначенных для управления техническими устройствами и технологическими процессами в реальном времени. МК встраиваются в системы автоматического управления радиоаппаратурой, сотовыми телефонами, зажигания автомобилей и др.
Особенности МК. МК по структуре и выполняемым функциям соответствует микропроцессорной системе, но проще чем МПС. Понятие центральный процессор для МК не применяется, так как ЦП – это отдельное устройство. Функции ЦП в МК выполняет арифметико-логическое устройство АЛУ. Кроме АЛУ МК содержит: тактовый генератор, память данных, память программ, устройства ввода-вывода (АЦП, ЦАП, модемы, параллельные и последовательные интерфейсы), таймеры и др. Все эти элементы соединены между собой внутренними шинами данных и адреса и размещаются на одном кристалле, поэтому МК называют также «Однокристальные микроЭВМ».
С внешним устройствами МК общается при помощи нескольких портов ввода-вывода. Современные МК всегда имеют развитую систему прерываний. За счёт применения механизма прерываний основная программа выполняется как бы сама по себе, а прерывающая программы – независимо от неё. Например, работа манипулятора «мышь». При выполнении любой программы курсор всегда выполняет её указания. По прерываниям работают: клавиатура, жесткий диск, порт принтера и многое другое.
Так как основное применение МК – в системах реального времени, обязательным их элементом являются таймеры-счётчики, число которых в некоторых модификациях МК доходит до 32.
В МК реализуются заранее известные несложные алгоритмы, поэтому ёмкость памяти в сотни и тысячи раз меньше, чем у МПС широкого применения. Блоки програм-мной памяти и памяти данных обычно раздельные и разной ёмкости, что соответствует гарвардской архитектуре и повышает производительность. При необходимости возможно подключение внешних БИС ОЗУ и ПЗУ для расширения памяти. Применение флэш-памяти позволяет вносить изменения в программы.
Комбинации кодов операций тщательно подобраны так, чтобы их можно было выполнять за один такт тактового генератора. За счёт этого упрощается аппаратная реализация, уменьшаются площадь кристалла, потребляемая мощность и стоимость, повышается производительность МК.
Для связи с удалёнными устройствами применяются последовательные порты стандарта RS-232. Кроме RS-232 часто применяются порты, поддерживающие прото-колы RS-485 (двунаправленная связь по двухпроводной линии); SPI (последовательный периферийный трёхпроводный интерфейс); Bitbus (последовательная магистраль управ-
ления); CAN (межконтроллерный сетевой интерфейс); USB (универсальная последова-
тельная шина).
Для уменьшения числа выводов ИМС широко применяется мультиплексирование. Например, одни и те же выводы используются для выдачи сначала адреса, потом для
ввода данных, а затем и ввода/вывода управляющих сигналов.
Число выводов тысяч разновидностей выпускаемых МК составляет от 8 до 356, их рабочие частоты от 32 кГц до 200 МГц, имеются МК, работающие при напряжении питания 1,2 в и потребляющие ток, не превышающий единиц мкА.
Первые МК были выпущены фирмой Intel в 1976 году.
3.1.2 Микроконтроллеры 8051 (К1816ВЕ51 и К1830ВЕ51)
Упрощённая структурная схема МК 8051 (отечественные аналоги – ИМС К1816ВЕ51 и К1830ВЕ51) приведена на рисунке 3.1.1, а; подробная – на рисунке 3.1.2; назначение выводов ИМС – в таблице 3.1.1; цоколёвка ИМС – на рисунке 3.1.1, б.
Тактовый генератор вырабатывает импульсы для синхронизации работы всех узлов МК. При частоте кварцевого резонатора 12 МГц большинство команд выполняется за 1 мкс (12 тактов), некоторые команды выполняются за 2 мкс.
ПЗУ ёмкостью 4 Кбайта предназначено для хранения программ и выполнено по технологии Flash. В некоторых моделях ёмкость ПЗУ увеличена до 32 Кбайт.
При обращении к внешней памяти программ все МК семейства 8051 используют 16-разрядный адрес, что обеспечивает доступ к 64 Кбайт ПЗУ.
ОЗУ,обычно ёмкостью 128 или 256 байт предназначено для хранения данных. Адресное пространство АП ОЗУ – 8-разрядное, что соответствует 256 байтам памяти. Старшие адреса АП используются для обращения к функциональным регистрам МК (регистров специальных функций SFR. Первые 32 байта ОЗУ организованы в четыре банка, содержащий каждый по 8 регистров общего назначения РОН. Их физические адреса зависят от содержимого 3 и 4 разрядов 8-разрядного регистра состояния МК.
Таймеры/счётчики Т0 и Т1 –16-разрядные, программируемые. Могут быть использованы для точного формирования временных интервалов, подсчёты выходных импульсов МК, тактирования последовательного приёмо-передатчика, способны вырабатывать запросы на прерывания.
Последовательный порт – используется как канал информационного обмена МК с внешними удалёнными устройствами на значительные расстояния по двухпроводным двунаправленным линиям. Выполнен как универсальный асинхронный последовательный приёмо-передатчик в соответствии со стандартом RS-232.
Параллельные двунаправленные порты ввода/вывода Р0, Р1, Р2, Р3 обычно используются для связи с датчиками и исполнительными механизмами. Выводы портов Р0 и Р2 могут использоваться для и как регистры ввода-вывода и как шины адреса и данных для подключения внешних устройств (памяти программ и данных, УВВ). Выводы порта Р3 могут использоваться для работы контроллера прерываний.
Контроллер прерыванийобеспечивает высокую скорость реакции системы управ-ления на внешние события при работе в реальном времени, а также устанавливает приоритет событий. При поступлении запроса на прерывание от ВУ он прерывает выполнение центральным процессором ЦП текущей программы и переключает его на выполнение подпрограммы обработки прерывания. После окончания обработки прерывания ЦП переключается на выполнение прерванной программы. Система прерываний обслуживает 2 внешних запроса, 2 запроса от таймеров и 1 – от последовательного порта.
3.1.3 Структурные схемы и назначение выводов МК 8051 (К1816ВЕ51 и К1830ВЕ51)