МПС()Микропроцессоры__моилабы / Отчёт4
.docФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение
высшего профессионального образования
«Юго-западный государственный университет»
Кафедра вычислительной техники
Микропроцессорные системы
Лабораторная работа №4
Программирование процедур вызова подпрограмм и обработки прерываний.
Выполнил: Корой В. В.
.
Проверил: Панищев В. С.
Курск 2011
Цель работы
Изучение команд, организующих процедуры вызова подпрограмм и возвратов из подпрограмм. Использование таймера/счетчика для формирования временных задержек. Изучение подсистемы внешних и внутренних прерываний.
Задание
Составить программу, обеспечивающую "мигание" светодиодов порта P1 в двух режимах:
А) Инверсия светодиодов (выключенные включить,включенные выключить);
Б) "бегущий огонек" влево;
Блок схема алгоритма программы
Исходный текст программы
Метка |
Адрес |
код |
Операция на ассемблере |
Описание |
|
0000 |
23 |
MOV A,01H |
инициализация |
|
0001 |
01 |
|
|
initproc |
0002 |
B8 |
MOV R0,0AH |
Операции с таймером |
|
0003 |
0A |
|
|
cntr |
0004 |
55 |
STRT T |
|
loop |
0005 |
16 |
JTF timr |
|
|
0006 |
09 |
|
|
|
0007 |
04 |
JMP loop |
|
|
0008 |
05 |
|
|
timr |
0009 |
C8 |
DEC R0 |
|
|
000A |
E8 |
DJNZ R0,cntr |
|
|
000B |
04 |
|
|
|
000C |
86 |
JNI inpt |
Проверка прерывания, переход по метке , если было прерывание |
|
000D |
18 |
|
|
sm |
000E |
B6 |
JF0 md |
Выбор режима отображения |
|
000F |
13 |
|
|
|
0010 |
37 |
CPL A |
Переключение свектодиодов с инверсией |
|
0011 |
04 |
JMP out |
|
|
0012 |
14 |
|
|
md |
0013 |
E7 |
RLA |
Переключение свектодиодов влево |
out |
0014 |
39 |
OUT P0,A |
Вывод |
|
0015 |
04 |
JMP initproc |
Преход в цикл |
|
0016 |
02 |
|
|
inpt |
0017 |
95 |
CPL F0 |
Обработка прерывания |
|
0018 |
04 |
JMP sm |
Возврат в основной цикл |
|
0019 |
0E |
|