Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_ВЕ51_6ЛЕТ.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.48 Mб
Скачать

Задания на лабораторную работу

Задание 1. Проверьте работу составленного выше программного модуля.

Задание 2. Разработайте структуру МПС на базе МК1816ВЕ51 и напишите программный модуль, обеспечивающий по запросу от специальной кнопки:

  • ввод 8- битного двоичного кода с тумблерного регистра;

  • преобразование его в двоично-десятичное представление;

  • выдачу двоично-десятичного кода на семисегментные индикаторы.

Воспользуйтесь разработанной схемой в соответствии с вариантом домашнего задания.

Отладить программный модуль.

Задание 3. Организуйте подсистему внешних прерываний в системе на базе МК ВЕ51. Количество источников прерывания- 4 (например 4 кнопки). Подключите к МПС 4 светодиода. Требуется выполнить следующие задачи:

а) проанализируйте функциональную схему МПС, представленную на рис. 7 и разработайте свою в соответствии с заданием;

б) будем считать, что каждому источнику запроса прерывания (кнопке) соответствует свой светодиод. Напишите программный модуль, реализующий изменение состояния светодиода, соответствующего устройству (соответствие - по желанию разработчика программы);

в) отладьте программный модуль.

Варианты задания 3:

  1. Кнопку подключить к INT0, светодиоды - к Р0, источники запроса на прерывание - к Р1.

  2. Кнопку подключить к INT0, светодиоды - к Р1, источники запроса на прерывание - к Р0.

  3. Кнопку подключить к INT1, светодиоды - к Р0, источники запроса на прерывание - к Р1.

  4. Кнопку подключить к INT1, светодиоды - к Р1, источники запроса на прерывание - к Р0.

Рис.7. Функциональная схема подсистемы внешних прерываний

Краткие пояснения к алгоритму решения задачи

  1. При начальной установке все биты каждого из портов P0-P3 устанавливаются в 1. Единичный сигнал поступает на вход R D-триггера и сбрасывает триггер в состояние «0». Это состояние будет сохраняться до тех пор, пока на входе R присутствует единичный сигнал. Следовательно, функция main() должна начинаться с установки управляющих битов для работы подсистемы внешних прерываний (EA, ITi, EXi, i=0,1) и с установки в 0 выводов микроконтроллера, соединенных с входами R D-триггера.

  2. Когда хотя бы одно из устройств выставляет запрос на прерывание – этот запрос фиксируется в D-триггере и поступает на соответствующий вход микроконтроллера, а также подается на элемент ИЛИ. С выхода этого элемента на вход запроса прерывания INT0 микроконтроллера подается 0, что приводит к автоматческому запуску обработчика прерываний.

  3. В обработчике прерываний в порядке приоритета (по усмотрению разработчика) просматриваются биты порта P1 и находится устройство, обратившееся с запросом на прерывание. Далее необходимо запустить функцию, которая изменит состояние соответствующего светодиода, сбросит состояние триггера и переведет его в режим хранения.

Контрольные вопросы

  1. Что такое метод передачи данных по прерыванию, и в чем его сущность?

  2. Что такое процедура поллинга?

  3. По какому алгоритму осуществляется идентификация источника запроса на прерывание в процедуре поллинга?

  4. К каким выводам МК ВЕ51 можно подключить кнопку для реализации заданий 1, 2?

  5. Что такое вектор прерывания?

  6. Что такое обработчик прерывания?

  7. Какие управляющие биты Вы использовали для организации системы прерываний?

  8. Как осуществить выбор вектора прерывания для описания обработчика прерывания?

Домашнее задание для подготовки к выполнению лабораторной работы №3

  1. Изучите назначение и режимы работы таймеров/счетчиков ВЕ51. Особое внимание обратите на режим 2.

  2. Оформите отчет по результатам выполнения лабораторной работы №2. Отчет должен включать разработанные в соответствии с заданиями функциональную схему и программные модули.

  3. Изучите назначение и режимы работы управляемого асинхронного приемопередатчика (УАПП) МК ВЕ51.

ЛАБОРАТОРНАЯ РАБОТА №3

ОТРАБОТКА ВРЕМЕННЫХ ИНТЕРВАЛОВ.

ТАЙМЕР/СЧЕТЧИКИ МК ВЕ51.

УНИВЕРСАЛЬНЫЙ АСИНХРОННЫЙ

ПРИЕМОПЕРЕДАТЧИК МК ВЕ51

Цель работы: изучение основ синхронизации процессов на базе однокристальных микроконтроллеров; изучение основ последовательной передачи данных между однокристальными микроконтроллерами.

Краткие теоретические сведения к заданию 1

Один из методов измерения частоты базируется на том, что берется один период исследуемого сигнала и подсчитывается количество импульсов другого сигнала, которые проходят за этот период. При этом период следования таких импульсов должен быть заранее известен и быть меньше периода измеряемого сигнала как минимум на два порядка. Сказанное иллюстрирует рис. 8.

Рис. 8. Измерение частоты методом подсчета импульсов

Реализуем изложенную выше методику измерения частоты сигнала, используя аппаратно-программные средства, представленные 8051-совместимыми системами.

Частота кварцевого резонатора составляет 12МГц. Устройство управления формирует машинный цикл, составляющий 12 периодов сигнала кварцевого резонатора. Количество машинных циклов определяет продолжительность выполнения команд. Практически все команды МК выполняются за один машинный цикл, кроме команд умножения, деления (продолжительность выполнения составляет четыре машинных цикла) и команд, оперирующих двубайтными константами, двубайтными адресами (продолжительность выполнения составляет два машинных цикла).

Для того, чтобы подсчитать, за сколько машинных циклов выполняется фрагмент программы, необходимо получить листинг, в котором каждый оператор программы, написанной на СИ51, представлен последовательностью команд ассемблера. Для этих целей в среде KeilμVision в режиме отладки необходимо использовать опцию View/Disassembly Window. Чтобы отработать определенный временной интервал – необходимо написать программную задержку и определить за сколько машинных циклов она выполняется, воспользовавшись уравнением

Fr/(12·c·n)=1/t,

где Fr – частота кварцевого резонатора, Fr=12МГц; c – число машинных циклов, за которое выполняется фрагмент программы, реализующий задержку; n – число, показывающее, сколько раз необходимо повторить фрагмент программы, реализующий задержку, чтобы выработать заданный временной интервал; t - величина заданного временного интервала, реавлизующего задержку.

Задание 1. Подключите к МПС на основе МК ВЕ51 светодиод. Разработайте программный модуль, который изменяет состояние светодиода с частотой, заданной преподавателем, в режиме программно-управляемой передачи данных, инициализируемой МК. Отладьте программный модуль.