
- •;Инициализация таймеров
- •; Подпрограмма формирования временной задержки
- •Порядок выполнения работы
- •Бродин в.Г., Шагурин м.И. Микроконтроллеры: архитектура, программирование, интерфейс. Справочник. – м.: эком, 1999, с. 179-182.
- •Бродин в.Б., Калинин а.В. Системы на микроконтроллерах и бис программируемой логики. – м.: эком, 2002, с. 82-87.
- •Подготовка к работе
- •;Подпрограмма кодирования символа клавиши
- •;Подпрограмма временной задержки
- •Порядок выполнения работы
- •Цель работы
- •Аппаратные и программные средства
- •Векторы системы прерываний
- •Подготовка к работе
- •Порядок выполнения работы
- •Краткое описание лабораторной установки
- •Одноплатный контроллер
- •Плата супервизора
- •Интерфейсная плата
Порядок выполнения работы
Запустить на инструментальном компьютере интегрированную систему программирования «ТурбоАссемблер-52» и открыть файл kb_demo.a52.
Подключить к компьютеру через последовательный порт лабораторный комплекс.
С помощью команд режима Hard интегрированной системы программирования выбрать средство моделирования (отладочную плату) и установить карту памяти отлаживаемой системы (адресное пространство памяти программ: 0000h-7FFFh и адресное пространство памяти данных: 0000h-7FFFh).
Выполнить трансляцию программы и произвести её отладку на аппаратуре контроллера. Определить коды, которые вводятся в ячейку KeyCod при нажатии клавиш.
Разработать подпрограмму DocKey, которая осуществляет кодирование клавиш в соответствии с отображаемыми ими символами. Символы, вводимые с клавиатуры, и их кодировка, задаются преподавателем.
Включить подпрограмму DocKey в основную программу kb_demo и осуществить перекодировку клавиш в соответствии с заданием.
На основе программы kb_demo следующие программы:
программу, которая анализирует номер нажатой клавиши и формирует соответствующий символ на семисегментном индикаторе (файл kb_1.a52);
программу, осуществляющую считывание четырех последовательно вводимых с клавиатуры чисел и их вывод на четыре семисегментных индикатора (файл kb_2. a52);
программу опроса клавиатуры, имеющую защиту от одновременного нажатия двух и более клавиш (файл kb_3.a52).
Произвести отладку программы на лабораторном комплексе с использованием интегрированной системы программирования. Проверить правильность выполнения программ, продемонстрировать результаты преподавателю.
Примечание. Настройка интегрированной системы программирования и отладка программ осуществляется с помощью команд, подаваемых с клавиатуры инструментального компьютера.
Содержание отчёта
Отчёт по лабораторной работе должен содержать:
тексты всех выполненных программ на языке Ассемблера с подробным содержательным комментарием;
полученные результаты и выводы по работе.
К отчёту должна быть приложена дискета, содержащая соответствующие работоспособные программы.
ЛАБОРАТОРНАЯ РАБОТА №6
СИСТЕМА ПРЕРЫВАНИЙ МИКРОКОНТРОЛЛЕРА 80С31
Цель работы
Изучение системы прерываний в микроконтроллере 80С31 и её использование при реализации цифровых систем управления.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Бродин В.Г., Шагурин М.И. Микроконтроллеры: архитектура, программирование, интерфейс. Справочник. –М.: ЭКОМ, 1999, с. 171-175.
Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. –М.: ЭКОМ, 2002, с.79-82.
Аппаратные и программные средства
системы прерываний
Исходная система прерываний в архитектуре MCS-51 включает пять источников прерываний: два внешних и три внутренних. С появлением микроконтроллеров типа 8052 число источников прерываний в архитектуре семейства постоянно увеличивается. В микроконтроллерах типа 8ХС51 GP число источников прерываний достигло пятнадцати. Некоторые усовершенствования претерпел механизм приоритетов прерываний. В данной работе изучается исходная система прерываний.
Из пяти источников прерываний внешними являются входы INT0# и INTl#, а внутренними - два таймера/счетчика, Т/С0 и Т/С1, и последовательный порт. Активные сигналы на входах INT0#, INTl# устанавливают флаги IE0, IEl регистра управления TCON. Таймеры/счетчики Т/С0, Т/С1 используют для выработки запросов прерываний флаги переполнения TF0, TFl в регистре управления TCON, а последовательный порт использует для этого два флага – флаг приёмника RI и флаг передатчика TI в регистре управления SCON. Каждый из флагов последовательного порта может вызвать прерывание, а конкретный источник определяет подпрограмма обслуживания посредством последовательного опроса (поллинга).
Реакция на любой запрос, разрешенный к обслуживанию, заключается в передаче управления от текущей программы специальной подпрограмме обслуживания прерывания данного типа. Осуществляется эта передача посредством команды LCALL, код которой не выбирается из памяти, а формируется внутри микроконтроллера. Адрес перехода в архитектуре MCS-51 соответствует вектору прерывания и фиксирован для каждого источника: