- •Кафедра информационных систем и технологий
- •Программирование и отладка
- •Программных модулей для омк 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 Задание на проектирование
- •Алгоритм функционирования усои
6. Особенности архитектуры микроконтроллеров 8x52 и 8xС52
Данные ОМК отличаются от 8x51 наличием внутренней памяти программ объемом 8 Кбайт, внутреннего ОЗУ данных размером 256 байт и дополнительным 16-разрядным счетчиком-таймером.
Вывод P1.0 получил альтернативную функцию T2 (счетный вход таймера 2), а вывод P1.1. альтернативную функцию T2EX (вход управления фиксацией/перезагрузкой значения СТ2).
Синхронизация последовательного порта этих микроконтроллеров может выполняться как от CT1, так и СТ2.
Усилен механизм защиты внутренней памяти программ: используется 2 бита секретности и кодировочная таблица размером 32 байта. Таблица перед использованием должна быть запрограммирована. При верификации содержимого внутренней памяти программ выполняется операция «исключающего или» над текущим байтом памяти программы и байтом из таблицы, на который указывают 5 младших разрядов текущего адреса.
Функции защиты:
LB1 |
LB2 |
Функция |
U |
U |
Защита только с использованием кодировочной таблицы. |
P |
U |
Командам MOVC из внешней памяти программ недоступны байты кодов из внутренней памяти. Перепрограммирование внутренней памяти невозможно. |
P |
P |
Аналогично предыдущему, кроме того запрещена верификация внутренней памяти. |
U |
P |
Зарезервировано. |
Структура и управление памятью программ отличается от 8051 только расширенным объемом резидентной памяти.
Увеличение размера резидентной памяти данных обеспечивается за счет использования только косвенной адресации при обращении к 128 байтам ОЗУ, расположенных в старших адресах. Обращение к регистрам специальных функций выполняется как в 8051.
Регистры специальных функций дополнены регистром данных TH2(CDh), TL2(CCh), регистром автоперезагрузки RCAP2H(CBh), RCAP2L(CAh) и регистром управления T2CON(C8)h.
Таймер CT2 представляет собой 16-разрядный счетчик-таймер, работающий в трех режимах:
Режим захвата (фиксации). При установлении этого режима, срез импульса, приходящий на вход T2EXT фиксирует текущее значение в RCAP2H, RCAP2L и вызывает внутреннее прерывание по вектору 2Bh;
Режим прямого счета с автоперезагрузкой (перезаписью исходного значения). Режим аналогичный режиму 2 счетчика-таймера ОМК 8051. Исходное значение записывается в RCAP2H, RCAP2L. Перезапись может выполняться по срезу входного сигнала на входе T2EX или по переполнению CT. В последнем случае формируется внутреннее прерывание по вектору 2Bh.
Режим задающего генератора последовательного порта. В этом режиме приемник или передатчик тактируются синхроимпульсами, формируемыми при переполнении 16-разрядного регистра CT2.
Скорость определяется:
Флаг переполнения в этом режиме не устанавливается.
Режимы работы CT2 задаются в регистре управления T2CON:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
TF |
EXF2 |
RCLK |
TCLK |
EXEN2 |
TR2 |
C/T2# |
CP/RL2# |
RCLK |
TCLK |
CP/RL2# |
TR2 |
Режим |
0 |
0 |
0 |
1 |
Счетчик/таймер с автоперезагрузкой |
0 |
0 |
1 |
1 |
Счетчик/таймер с «захватом» (фиксацией) текущего значения |
1 |
1 |
x |
1 |
Задающий генератор последовательного порта. |
TF2 – Флаг переполнения. Устанавливается при переходе из состояния FFFFh в 0000h. Должен очищаться программно. (а по прерыванию автоматически или нет?);
EXFZ – Флаг внешнего события CT2. Устанавливается по переходу из «1» в «0» на входе T2EX, если EXEN2=1. Формирует запрос прерывания;
RCLK – Выбор источника синхросигнала для приемника последовательного порта. При RCLK=1 источником является CT2, при RCLK=0 – CT1;
TCLK – Выбор источника синхросигнала для передатчика. последовательного порта. При ТCLK=1 источником является CT2, при ТCLK=0 – CT1;
EXEN2 – бит разрешения внешнего события СТ2. При EXEN2=1 разрешена установка флага EXF2;
TR2 – бит запуска/останова CT2. При TR2=1 таймер запускается;
С/T2# ‑ выбор типа события. C/T2#=1 – режим счетчика, C/T2#=0 – таймера;
CP/RL2# ‑ выбор режима CT2.
При единичном значении бита CP/RL2# и EXEN2=1 CT2 переходит в режим захвата по срезу импульса на входе T2EX.
При нулевом значении CP/RL2# и EXEN2=1 по срезу импульса на входе T2EX или по переполнению CT2 переходит в режим автоперезагрузки.
При RCLK=1 или TCLK=1 этот бит игнорируется, а CT2 работает в режиме перезагрузки по переполнению.
CT2 имеет два флага запроса прерывания TF2 и EXF2 по вектору 2Bh. Идентификацию запросов должна выполнять подпрограмма обработки прерываний. В связи с этим в регистре прерываний IE добавляется бит IE.5 (ET2), а в IP – бит IP.5(PT2).
В ОМК 8xС5x, выполненных по КМОП технологии (CHMOS), введен ряд дополнительных функций (улучшен механизм защиты памяти программ, введены 2 режима пониженного потребления, при работе с последовательным портом возможен контроль ошибки кадра и автоматическое распознавание адресов при работе с несколькими контроллерами).
