Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Применение микроконтроллеров MCS-51 при проектировании электронных устройств. Учебное пособие
.pdf
ЭТАП 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 Register). Адресация к внешней памяти программ сопровождается выработкой сигналов 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
