Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Применение микроконтроллеров MCS-51 при проектировании электронных устройств. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
ЭТАП IV. К следующему этапу очень подошел бы лозунг: «Парал­лельте!». Конечно, может возникнуть вполне законный вопрос: А чего тут параллелить, когда всего одна голова и две руки? и в данной кон­кретной ситуации, возможно, вы правы, но ведь когда-нибудь, вероят­но, вы будете работать не в гордом одиночестве, а
в дружной компа­нии. Поэтому предусмотрительно заглядывая вперёд, давайте обсудим, что можно параллелить. Во-первых, отличительная особенность мик­ропроцессорных систем – наличие программного и аппаратного обес­печения, которые могут разрабатываться одновременно разными ис­полнителями (если, разумеется, вы удачно прошли этап III разработки и сумели донести до ваших единомышленников результаты работы по этому этапу
). Во-вторых, кто-то все же запомнил, что структурирован­ное программирование и модульность – это хорошо. И тогда можно параллелить работу по проектированию аппаратного обеспечения (по модулям) и работу по созданию программного обеспечения (по... – подставьте здесь пропущенные слова). Отметим, что в [3] рекомендуе­мый объем программных модулей составляет 20…30 команд. Тот, кто предусмотрел
наличие средств отладки, на этом этапе закладывает средства контроля, определяет контрольные точки и разрабатывает тест-программы. Финал этого этапа – разработка принципиальной схемы устройства, программного обеспечения и отладка его с помо­щью кросс-средств. Для выполнения курсового проекта это последний этап. Однако давайте посмотрим, что же должно происходить дальше в реальной
жизни.
ЭТАП V. Интеграция аппаратных и программных средств. No
comments.
ЭТАП VI. Отладка в резидентном режиме. С использованием те­стовых программ и технических средств отладки (эмулятора, анализа­тора, сигнатурного анализатора или осциллографа [4]) проверяется функционирование разрабатываемого устройства в реальном масштабе времени. Как бы вы ни старались, в одном вы можете быть уверены: вновь собранные устройства
никогда не работают. Поэтому время, по­траченное на этапе IV на средства отладки, сейчас окупается сторицей. Обычно приходится делать откат назад. И здесь можно произвести косвенную оценку качества работы. Если откат происходит на этапы IV–V (ну, с кем не бывает!!!), откат на этап III означает, что мы чего-то не понимаем, а откат
на этап II – мы ничего не понимаем, и нам надо серьезно заняться самообразованием и работой над собой. Если пове­зет, через разумный промежуток времени система, как нам кажется,
11
начинает функционировать правильно (на самом деле обольщаться не стоит – все равно пользователь когда-нибудь чего-нибудь обнаружит). Но пока мы гордимся плодами своего труда.
ЭТАП VII. Измерение параметров системы, заложенных в техниче­ских требованиях. Здесь действует та же система оценки нашей квали­фикации, что и на этапе VI. И если приходится возвращаться
к этапу I, то следует, как говаривали в старину, «срочно переквалифицироваться в управдомы» (при наличии вакансий, естественно).
ЭТАП VIII. Если заказчик и исполнитель довольны, подписывают­ся соответствующие документы. Можно переходить к этапу I с новой темой (заказчики, ау!).
12
3. ОСНОВНЫЕ СВЕДЕНИЯ
О МИКРОКОНТРОЛЛЕРАХ СЕМЕЙСТВА MCS-51
Теперь шутки в сторону. Рассмотрим систему обозначений, ис­пользуемую фирмой Intel, для микроконтроллеров семейства MCS-51. Все изделия этого семейства можно разделить на две группы. В первую группу входят младшие модели семейства. В обозначении это проявляется наличием в конце букв A, B, H или отсутствием лю­бых букв. Старшие модели в конце имеют буквенные индексы, начи­нающиеся с символов F, G, J, S.
В младших моделях приняты следующие соглашения:
8 0 5 1
Признак
микропроцессора
фирмы Intel
Микроконтроллеры, в названии которых последней стоит цифра 1, имеют пять источников прерываний ные – по 6 источников прерываний и по три таймера-счётчика. Следу­ющие за последней цифрой буквы в основном связаны с битами защи­ты ПЗУ. Внимательный и вдумчивый читатель уже на данном этапе сможет оценить прелести замечательной модели i8731.
В старших моделях есть отличия. Во-первых, во старших моделей объём ОЗУ на кристалле составляет 256 байт. Во-
Тип памяти
на кристалле
0 – ROM
7 – EPROM
Наличие памяти`
на кристалле
ROM
5 – память есть
6 – памяти нет
и два таймера-счетчика, а осталь-
13
Объём памяти
на кристалле
RAM
1–128 байт 2–256 байт
ROM:
1–4 Кбайт 2–8 Кбайт 4–16 Кбайт 8–32 Кбайт
всех изделиях
вторых, минимальный объём ПЗУ на кристалле уже равен 8 Кбайт. Для
фир
–
–
старших моделей кодировка выглядит следующим образом:
8 0 5 1
Признак
микропроцессора
мы Intel
Тип и наличие
памяти
на кристалле
отсутствует
0
3 – ROM
7
EPROM
Наличие памяти`
на кристалле
Признак принадлежности
к семейству MCS-51
Объём памяти
на кристалле
Основные отличия старших моделей обозначаются буквенной ко­дировкой, следующей за цифрами. Микроконтроллеры, имеющие в конце букву F – линия F (FA, FB, FC), содержат на кристалле ROM объёмом 8 Кбайт (A), 16 Кбайт (B), 32 Кбайт (C). В этой линии число источников прерываний равно 7. В линии F впервые появился массив программируемых счетчиков (PCA – Programmable Counter Array), предназначенный для генерации и измерения параметров импульсных сигналов и состоящий из пяти счетчиков
.
Линия G отличается увеличенным числом линий ввода-вывода (48 вместо обычных 32), расширенным числом источников прерыва-
ний – 15 и имеет 10 счетчиков в составе PCA. Среди всех микро­контроллеров MCS-51 линия G является чемпионом по числу входных аналоговых каналов – их 8. На кристалле имеется восьмиразрядный АЦП. Кроме того, эта линия обладает расширенным последователь­ным портом (SEP – Serial Expansion Port).
Для линии J характерно различное
количество разрядов ввода­вывода (40 для JA и 56 для JB). Здесь используется 11 источников пре­рываний, 1 SEP. На кристалле отсутствует PCA и число таймеров­счётчиков уменьшено с трех до двух. Зато имеются два канала прямого доступа к памяти (DMA – Direct Memory Accessing) и глобальный по­следовательный канал связи (GSC – Global Serial Channel). Эта линия специализирована в качестве контроллеров связи. И в отличие от всех старших моделей в названии вместо числа 51 используется число 152.
Микроконтроллеры линии SL разрабатывались как клавиатурные контроллеры, поэтому число линий ввода-вывода уменьшено до 24, число таймеров-счётчиков также уменьшено до двух. Имеется десять источников прерываний, четыре аналоговых канала с АЦП и один гло­бальный последовательный канал связи (GSC).
Если в середине имени любого контроллера встречается
буква C,
то это означает, что данный микроконтроллер выполнен по CHMOS-
14
технологии, со всеми вытекающими последствиями. К таким послед­ствиям можно отнести наличие двух программно устанавливаемых режимов.
1. Холостой режим (Idle Mode), при котором работают все компо-
ненты, кроме центрального процессора (ЦП, CPU – Central Processor
Unit). В этом режиме потребляемый ток уменьшается примерно на 15 % по сравнению со стандартным режимом.
2. Режим низкого потребления (Power Down Mode), когда подавля-
ется активность
всех компонентов, но оперативная память сохраняет всю информацию. Потребляемый ток в этом режиме не превышает 10 мкА.
Кстати, микроконтроллеры, выполненные по технологии HMOS, не
рекомендуется использовать в новых разработках.
Наличие в названии буквы L обычно означает питание от источни-
ка напряжения 3.3 ±0.3 В.
Базовой моделью семейства микроконтроллеров MCS-51 (далее
просто MCS-51) и основой для всех поздних
модификаций служит микроконтроллер 8051 (рис. 3.1). Он имеет следующие отличительные особенности [5, 6].
Внешние
прерывания
Контроллер прерываний
ЦП
Тактовый
генератор
Рис. 3.1. Структурная схема микроконтроллера 8051
4 Кб айт
ПЗУ
Контроллер
шины
ОЭУ
128 байт
4 порта
ввода/вывода
P0 P1 P2 P3
АДРЕС / ДАННЫЕ
15
Счетчик 1 Счетчик 0
Последовательный
порт
TxD Rx
1. Восьмибитный ЦП, оптимизированный для выполнения опера-
ций управления.
2. Дополнительные возможности по выполнению операций алгеб-
ры Буля (побитных операций).
3. Адресное пространство памяти программ – 64 Кбайт.
4. Адресное пространство памяти данных – 64 Кбайт.
5. 4 Кбайт памяти программ размещены непосредственно на кри-
сталле.
6. 128 байт памяти данных также расположены на кристалле.
7. Имеется 32 двунаправленные и индивидуально
адресуемые ли-
нии ввода-вывода.
8. Два 16-битных таймера-счётчика.
9. Полностью дуплексный универсальный асинхронный приёмопе-
редатчик (UART – Universal Asynchronous Receiver Transmitter).
10. Система прерываний с двумя уровнями приоритета, с шестью
источниками и пятью векторами.
11. Встроенный тактовый генератор.
16
(
)
4. ОРГАНИЗАЦИЯ ПАМЯТИ
В МИКРОКОНТРОЛЛЕРАХ MCS 51
Все устройства семейства MCS-51 имеют раздельные адресные
пространства для памяти программ и для памяти данных (рис. 4.1).
Память программ
(только для чтения)
FFFFh:
EA=0
Внешн.
PSEN
EA=1
Внутрен.
FFH
80H
00H
FFFFh:
Внешняя
Внутренняя
0000h:
Память данных
для чтения-записи
WR
RD
Рис. 4.1. Распределение памяти в 8051
Логическое разделение памяти данных и памяти программ позво­ляет для работы с памятью данных (внутренней) использовать вось­мибитную адресацию, что существенно ускоряет выполнение про-
17
грамм. При желании можно использовать и шестнадцатиразрядную адресацию – через регистр указателя данных DPTR (Data PoinTer Reg­ister). Адресация к внешней памяти программ сопровождается выра­боткой сигналов RD\ и WR\.
Объем памяти программ, располагаемой на кристалле, в зависимо­сти от модели может меняться от 0 (ROMless) до 32 Кбайт. При обраще­нии к внешней памяти генерируется сигнал PSEN\ (Program Store ENable). Если необходимо, внешнюю
память программ и внешнюю па­мять данных можно объединить. Это достигается подачей на входы вен­тиля 2И сигналов PSEN\ и RD\ и подачей выходного сигнала вентиля в качестве стробирующего на внешнюю память программ/данных.
После подачи сигнала RESET микроконтроллер начинает выпол­нять команду, расположенную в ячейке с адресом 0000h. Распределе­ние памяти в области младших
адресов показано на рис. 4.2. Адреса обслуживания подпрограмм обработки прерывания расположены с интервалом в 8 байт. Если подпрограмма должна содержать большее количество байт, необходимо использовать команду перехода. Если не предполагается использовать прерывания, то эти ячейки памяти можно использовать для общих целей.
(0033Н)
0023Н
Область
прерываний
RESET
Рис. 4.2. Распределение памяти в области младших
адресов
001ВН
0013Н
000ВН
0003Н 0000Н
Нижние 4 Кбайт (8 Кбайт или 16 Кбайт) памяти могут быть как на кристалле микроконтроллера, так и на внешнем кристалле ROM. Вы­бор осуществляется подачей на вход EA\ (External Access) потенциа­ла Vcc (PWR, +5V) или Vss (GND, 0V). Например, для устройства с 4 Кбайт ROM на кристалле при подсоединении вывода EA\ к Vcc вы­бор команд по адресам 0000H – 0FFFH будет происходить из внутрен-
18
ней ROM. Выбор команд по адресам 1000H – FFFFH будет осуществ­ляться из внешней памяти программ. Для устройств, не имеющих внутренней памяти программ, вывод EA\ всегда должен быть снаружи подсоединен к Vss.
Сигнал чтения команд из внешнего кристалла ROM PSEN\ выраба­тывается всегда при выборе команд из внешнего ПЗУ. PSEN\ не акти­визируется при работе с внутренней памятью программ.
Принципы подключения внешней перепрограммируемой памяти программ (external erasable program memory) показаны на рис. 4.3. 16 линий ввода-вывода (порт P0 и P2) предназначены для обеспечения процесса выбора команд из внешней памяти. Порт P0 служит мульти­плексированной шиной адреса/данных. В начале цикла на его восьми разрядах появляется младший байт программного счетчика (PCL –
Program Counter Low byte), являющийся частью адреса. Затем выводы P0 переходят в Z
состояние до получения байта кода из памяти про­грамм. Во время присутствия на линиях P0 PCL вырабатывается сиг­нал ALE (Address Latch Enable), служащий для записи («защелкива­ния») байта адреса в регистр адреса. В это же самое время на линиях порта P2 выставляется старший байт адреса из программного счетчика (PCH – Program Counter High byte). Затем сигналом PSEN\ стробирует­ся внешняя память программ и
байт кода команды считывается в мик­роконтроллер. Разрядность адреса программ всегда равна 16, незави­симо от реально используемого объема памяти. Выбор команд из внешней памяти всегда требует использования двух восьмибитных портов P0 и P2 для формирования адреса.
MCS-51
P1
P3
Рис. 4.3. Подключение внешней программируемой памяти
P0
EA
ALE
Защёлка
P2
PSEN
19
EPROM
КОМАНДА
АДРЕС
OE
На рис. 4.4 показано подключение внешней памяти данных (exter-
nal RAM) объёмом до 2 Кбайт. В этом случае ЦП работает с внутрен-
ней памятью программ. Порт P0 работает в режиме мультиплексиро­ванной шины адреса/данных для RAM. Кроме того, три линии порта P2 используются для адресации страниц (блоков памяти по 256 байт) в RAM. ЦП генерирует сигналы RD\ и WR\ в
соответствии с циклом обращения к внешней памяти данных. В принципе внешняя память данных может достигать 64 Кбайт. В этом случае должен использо­ваться двухбайтный адрес. Очень часто применяется однобайтная ад­ресация с подключением одной или нескольких дополнительных ли­ний для выбора страниц, как это показано на рис. 4.4.
MCS-51
P1
P3
RD
WR
PSEN
MCS-51 с
внутренней
ROM
P0
EA
ALE
P2
Vcc
Защёлка
I/O
страниц
RAM
Данные
Адрес
WE OE Биты
Рис. 4.4. Подключение внешней памяти данных
Карта памяти для внутренней памяти данных показана на рис. 4.5.
Пространство делится на три блока.
1. Нижние 128 байт (Lower 128).
2. Верхние 128 байт (Upper 128).
3. Регистры специальных функций (SFR – Special Function Registers).
Хотя для обращения к внутренней памяти программ используется однобайтная адресация, с помощью простого трюка обеспечивается доступ к 384 байтам. Прямая адресация к адресному пространству, ле­жащему выше 7FH, дает доступ
к одному адресному пространству, а
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]