Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2-Лабораторная_Основы микропроцессорной техники (Основы микропроцессорной техники. Лабораторная работа 2)

.doc
Скачиваний:
61
Добавлен:
23.06.2014
Размер:
113.15 Кб
Скачать

Федеральное агентство высшего образования Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра ПрЭ

" Таймеры и система прерываний MК51"

Лабораторная работа № 2 по дисциплине

"Основы микропроцессорной техники"

(учебное пособие 2008 г.в.)

Выполнил студент

Проверил преподаватель

Шарапов А. В.

Нефтеюганск 2009

Задание 1: Создадим программу (файл test.asm):

Зафиксируем содержимое регистров, флагов и ячеек памяти микроконтроллера после загрузки эмулятора:

После системного сброса указатель стека настроен на область первого банка регистров общего назначения.

Установлена максимальная скорость выполнения программы.

Задание 2: Создадим программу (файл 2.asm):

Текст программы с комментариями:

MOV A,P1 ; Загрузить число с порта Р1 в А

MOV B,#100 ; Записать в регистр В число 100

DIV AB ; Разделить А на В

MOV DPH,A ; Записать А в старший байт DPH

MOV A,#10 ; Записать в А число 10

XCH A,B ; обменяться содержимым А и В

DIV AB ; Разделить А на В

SWAP A ; Обмен тетрадами А

ORL A,B ; Логическое ИЛИ А и В

MOV DPL,A ; Записать А в младший байт DPL

END

Проверим программу на эмуляторе:

На порту Р1 число 11111111(2) = 255(10) в DPTR

Задание 3:

Записать в первые две ячейки памяти программ программу, состоящую из одной команды SJMP 0 (80 FE), и запустить ее на выполнение в автоматическом режиме. Почему не работают таймеры Т/С0 и Т/С1?

Таймеры не работают, потому что не было их инициализации.

Установив TR0=1, проверить работу Т/С0 в режиме таймера (скорость счета изменяется клавишей F5) и счетчика событий (TMOD.2=1). Перепады на линии Т0 (Р3.4) формировать с помощью клавиши Insert. В каком диапазоне изменяется содержимое регистров TL0 и TH0 при работе T/C0 в режиме 0? Когда устанавливается флаг TF0?

Флаг TF0 устанавливается при переполнении.

Задание 4: Создадим программу (файл 4.asm):

Проверим программу на эмуляторе:

При установке конкретных прерываний, программа выполняет соответствующие прерывания по необходимым адресам.

Задание 5: Создадим программу (файл 5.asm):

Проверим программу на эмуляторе:

Проимитировав на входе INT0 импульс длительностью 10 мс, измерили секундомером реальное время работы программы при наивысшей скорости (HI). Она составила 1.1 секунд, т.е. реальная скорость отличается от эмулятора в 110 раз.

Задание 6: Создадим программу (файл 6.asm):

Проверим программу на эмуляторе:

Ответы на контрольные вопросы:

  1. Разрешены ли прерывания после системного сброса?

да

  1. Может ли быть прервано выполнение программы обработки прерывания с высоким уровнем приоритета?

нет

  1. Транслировать команду JB ТF0,$+5.

208D02

  1. Что происходит при выполнении команды CJNE A,#40,M1?

Сравнение содержимого аккумулятора с #40 и переход на метку М1, если не равно.