- •Кафедра информационных систем и технологий
- •Программирование и отладка
- •Программных модулей для омк Intel 8051 (к1816 ве51)
- •Методические указания к лабораторной работе
- •1. Структурная организация Intel 8051
- •1.1. Арифметико‑логическое устройство
- •1.2. Резидентная память
- •1.3 Внешняя память
- •1.4 Устройство управления и синхронизации
- •2. Программная модель омк
- •3.Система команд 8051
- •4.Периферийные устройства омк
- •4.1.Порты ввода/вывода.
- •4.2. Счетчик/Таймер
- •4.3. Последовательный порт
- •4.4 Система прерываний
- •5. Особые режимы работы
- •6. Особенности архитектуры микроконтроллеров 8x52 и 8xС52
- •7. Тенденции развития mcs-51/151/251
- •8. Проектирование устройств сбора и обработки информации на основе 8051
- •8.1. Разработка алгоритмов функционирования
- •Арифметический правый сдвиг на один разряд записывается в виде
- •Например, сравнение двух слов а и b можно описать в виде
- •8.2. Программирование на ассемблере 8051.
- •Система команд омк Intel 8051
- •Подготовка программ для отладКи в dos - эмуляторе.
- •Полноэкранный отладчик ассемблерных программ для однокристальной микро-эвм кр1816 ве51 (Intel 8051)
- •1. Запуск отладчика.
- •2. Ввод команд.
- •3. Описание команд.
- •3.1. Функциональные клавиши.
- •3.2. Команды отладчика
- •4. Полноэкранное редактирование
- •5. Режим ассемблера
- •5. Работа с точками останова
- •Приложение 3 Задание на проектирование
- •Алгоритм функционирования усои
1.3 Внешняя память
Память программ и память данных, может быть расширена до 64 Кбайт путем подключения внешних БИС. Варианты организации памяти в МК системе поясняет рисунок 2. Связь ОМК с внешней памятью обеспечивают параллельные порты Р0, Р2, Р3, работающие в системном режиме. Особенности этого режима будут рассмотрены далее.
Память программ должна располагаться в диапазоне адресов 1000h-0FFFFh, т.е. дополнять внутреннее ПЗУ ОМК до 64 Кбайт (0FFFFh). Реализация этого режима требует, чтобы на входе ЕА был установлен уровень логической единицы.
Возможен режим отключения резидентной памяти программ (сигнал на линии EA равен 0). В этом случае внешняя память программ имеет объем 64КБ, начиная с нулевого адреса. Использование этого режима целесообразно при отладке программного обеспечения.
Пространство внешней памяти данных не зависит от размеров резидентного ОЗУ и может занимать диапазон адресов с 0000 по 0FFFFh.
Особенности использования памяти программ и данных будут рассмотрены далее.
1.4 Устройство управления и синхронизации
Устройство управления (управляющий автомат) функционирует под действием внешних сигналов и внутренних, формируемых в процессе выполнения команд. Устройство управления работает по жесткому временному циклу, определяемому частотой внутреннего или внешнего генератора.
К внешним сигналам относятся:
XTAL1, XTAL2 – входы внешнего частотно-задающего элемента;
PSEN – чтение внешней памяти программ;
ALE – сигнал разрешения фиксации адреса внешней памяти;
EA – блокировка внутренней памяти программ;
RST – сигнал общего сброса;
и сигналы, формируемые на выводах портов.
Часть сигналов на схеме (рисунок 1) не показана: PROG – сигнал программирования, VPP – напряжение программирования, VPD – вывод резервного питания памяти от внешнего источника.
Частота внутреннего генератора может быть задана подключением к его выводам XTAL1 и XTAL2 кварцевого резонатора ( Рисунок 3 а), LC-цепочки ( Рисунок 3 б).
В
случае LC-цепочки частота синхросигнала
определяется выражением:
При использовании внешнего тактового генератора его выход подключается к входу XTAL2, а вывод XTAL1 подключается к общей шине (рисунок 6в).
Устройство управления на основе сигналов синхронизации формирует машинный цикл фиксированной длительности, равный 12 периодам тактового генератора или 6 состояниям управляющего автомата S1-S6. Каждое состояние содержит две фазы Р1, Р2. В фазе Р1, как правило, выполняется операция АЛУ, а в фазе Р2 осуществляется межрегистровая передача.
При частоте генератора 12 МГц машинный цикл составляет 1 мкс. Дважды за один машинный цикл формируется сигнал ALE.
Машинный цикл служит в основном для внутреннего микропрограммного управления. Цикл выполнения каждой команды состоит из одного, двух или четырех машинных циклов.
Начальная установка (аппаратный сброс) производится с целью запуска или перезапуска микроконтроллера после подачи на него напряжения питания. Сброс осуществляется подачей на вход RESET высокого уровня и удержания его в течение не менее двух машинных циклов. Этот сигнал может подаваться асинхронно по отношению к внутренней частоте ОМК. Вход RESET постоянно опрашивается микроконтроллером в момент S5P2 каждого машинного цикла. После сигнала сброса порты ввода-вывода находятся в неизменном состоянии в течение 19-ти периодов тактирования, после чего в промежутке между 19-м и 31-м тактом переводятся в начальное «единичное» состояние. При этом сигналы ALE и PSEN находятся в неактивном (высоком) состоянии.
По сигналу сброса основные системные регистры микроконтроллера сбрасываются в нулевое состояние, в указатель стека устанавливается число 7, в регистры-защелки портов Р0-Р3 записывается код 0FFh, настраивая Р0-Р2 на вывод данных, а Р3 ‑ на выполнение системных функций. На содержимое внутренней памяти данных сигнал RESET не влияет. При включении питания ячейки резидентной памяти данных устанавливаются в произвольное состояние.
Длительность сигнала RESET должна быть не меньше времени, необходимого для запуска внутреннего генератора плюс 2 машинных цикла. Время установки генератора зависит от частоты синхронизации и характеристик кварцевого резонатора. При частоте 12 МГц оно обычно составляет около 1 мкс.
Для автоматического рестарта микросхемы после подачи напряжения питания, к выводу RESET необходимо подключить RC-цепочку (рисунок 5), обеспечивающую требуемую задержку, позволяющую генерировать одиночный импульс сброса.
КН
После снятия сигнала RESET проходит от 1 до 2 тактовых периодов до их активизации. При этом микроконтроллер начинает выполнять программу с адреса 0000h внутренней либо внешней памяти программ (в зависимости от уровня сигнала EA). Повторное формирование сигнала RESET выполняется кнопкой КН.
