- •Методические указания и задания по лабораторному практикуму по курсу «Микропроцессоры» Учебное пособие Москва 2013
- •Лабораторная работа №1. "Исследование возможностей интегрированной среды для создания программ для микроконтроллеров"
- •1. Краткое описание интегрированной среды
- •1.1. Окно интегрированной среды
- •1.2. Использование отладчика (симулятора) для ассемблерных модулей
- •1.3. Порядок создания программ на Ассемблере с помощью интегрированной среды
- •1.4. Порядок отладки программ на Ассемблере с помощью интегрированной среды
- •1.5. Дополнительные операторы языка Ассемблера для использования интегрированной среды
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Отчет по работе
- •Лабораторная работа №2. "Исследование арифметических и логических операций над двоичными и шестнадцатеричными числами применительно к реализации в микроконтроллерах"
- •1. Логические и арифметические операции
- •2.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •Лабораторная работа №3. "Исследование возможностей интегрированной среды для создания программ для оэвм семейства mcs51"
- •1.6. Задание для домашней подготовки
- •1.7. Лабораторное занятие
- •1.8. Содержание отчета
- •1.9. Задания для самопроверки
- •Лабораторная работа №4 Исследование программно-аппаратного комплекса для отладки программ для оэвм семейства mcs-51
- •4.1. Макетно-отладочная плата ев-552
- •2.3. Порядок создания и проверки программ в интегрированной системе uVision2 - eb552
- •2.3.1. Использование программы ев552.Exe для загрузки нех файлов в плату
- •8. Передача отлаживаемого файла в плату ев552
- •2.4. Задание для домашней подготовки
- •2.5. Лабораторное занятие
- •2.5.1. Основы работы с массивами чисел
- •2.5.2. Отладка программы в интегрированной среде
- •2.6. Результаты отчета
- •2.7. Контрольные вопросы
- •Лабораторная работа № 5 Исследование таймеров-счетчиков и системы прерывания оэвм
- •3.1. Основные теоретические сведения
- •3.1.1. Использование таймера для осуществления программной задержки
- •3.1.2. Система прерываний оэвм
- •3.1.3. Управление работой таймеров
- •Xseg at 0000h
- •3.1.4. Работа таймера в режиме счетчика событий
- •Xseg at 0000h
- •3.2. Задание для домашней подготовки
- •3.3. Лабораторное задание
- •3.3.1. Исследование работы таймеров
- •3.4. Содержимое отчета
- •Список рекомендованной литературы
3.1.2. Система прерываний оэвм
Система прерываний ОЭВМ позволяет различным источникам осуществлять запрос на свое обслуживание путем прерывания выполнения основной программы. Таких источников в классической ОЭВМ пять:
внешнее прерывание INT0, которое поступает извне на вход INT0,
прерывание по переполнению от таймера 0,
внешнее прерывание INT1, которое поступает извне на вход INT1,
прерывание по переполнению от таймера 1,
прерывание по приему или передаче последовательного канала.
Каждое прерывание, если оно разрешено, вызывает переход на определенный адрес в начале памяти команд (соответственно, 0003H, 000BH, 0013H, 001BH, 0023H для указанных выше источников). По этим адреса должны располагаться подпрограммы обработки этих прерываний.
В системе со многими источниками прерывания важным вопросом является приоритет каждого источника при прерывании. Другими словами, может ли во время обслуживания какого-либо прерывания другое прерывание вмешаться и прервать эту первую программу?
В ОЭВМ используется 2 механизма приоритета:
так называемый "поллинг", т.е. старшинство источников при прочих равных условиях. Принято, что самый старший приоритет имеет прерывание по INT0, и так далее по указанному выше списку, где наинизший приоритет у последовательного канала. Таким образом, прерывание с меньшим приоритетом может быть прервано прерывание с более высоким приоритетом.
регистр приоритета IP (адрес 0В8Н), который позволяет устанавливать для любого уровня прерывания два вида приоритета: высший и низший (для этого в нем каждому уровню прерывания отведен 1 бит - если он установлен в 1, то данный тип прерывания будет иметь высший приоритет и его не может прервать любое прерывание с более низким приоритетом, если он установлен в 0, то данный тип прерывания будет иметь низший приоритет и его может прервать любое прерывание с более высоким приоритетом. Таким образом, установкой битов регистра IP можно изменить обычный "поллинг" уровней прерывания.
Для того чтобы прерывание было воспринято ОЭВМ, его надо разрешить. Для этого есть специальный регистр разрешения прерываний IE (адрес 0А8Н), каждый бит которого (установкой в 1) разрешает или запрещает (установкой в 0) то или иное индивидуальное прерывание.
Кроме того, старший бит этого регистра (обозначаемый как IE.7) запрещает (установкой в 0) все прерывания. Кстати, сброс процессора также запрещает все прерывания.
Структура регистра IE показана на рис. 3.1, а регистра IP - на рис. 3.2.
Рис.3.1. Структура регистра IE:
IE.0 - бит разрешения внешнего прерывания 0,
IE.1 - бит разрешения прерывания по переполнению таймера 0,
IE.2 - бит разрешения внешнего прерывания 1,
IE.3 - бит разрешения прерывания по переполнению таймера 1,
IE.4 - бит разрешения прерывания от последовательного порта,
IE.7 - бит запрещения (когда установлен в 0) всех прерываний.
Рис.3.2. Структура регистра IP:
IP.0 - бит управлением приоритетом внешнего прерывания 0,
IP.1 - бит управлением приоритетом прерывания от таймера 0,
IP.2 - бит управлением приоритетом внешнего прерывания 1,
IP.3 - бит управлением приоритетом прерывания от таймера 1,
IP.4 - бит управлением приоритетом прерывания от последовательного порта.