- •Лабораторная работа
- •1. Общие положения. Организация стековой памяти микроконтроллера мк51.
- •Организация системы прерываний.
- •Регистры системы прерываний.
- •Обслуживание прерываний.
- •2. Задание для домашней подготовки.
- •3. Порядок выполнения работы.
- •4. Задание по лабораторной работе.
- •6. Пример выполнения задания.
- •5. Содержание отчета
2. Задание для домашней подготовки.
Повторить организацию системы прерываний МК51;
Повторить назначение регистров системы прерываний МК51;
Повторить команды работы со стеком и организации подпрограмм МК51;
3. Порядок выполнения работы.
Ознакомиться с заданием и проанализировать его.
Составить программу согласно заданию в кодах МК51.
Набрать текст составленной программы в текстовом редакторе отладчика.
Выполнить трансляцию программы (в случае возникновения ошибок исправить их).
Сделать пошаговое выполнение программы и убедиться в правильности ее работы (в случае неправильности внести исправления в текст программы и повторить п.4-5)
4. Задание по лабораторной работе.
Написать на ассемблере МК 51 систему программ, которая выполняет следующие функции.
Первая программа выполняет циклический вызов прерывания типа ТУРЕ. Программа располагается в СSEG, начиная с адреса АDR0. Программа должна состоять из двух частей. Первая часть - инициализация системы, вторая -циклическое взведение соответствующего триггера запроса на прерывание.
Вторая программа - обработчик прерывания, должна располагаться в памяти СSEG, начиная с адреса АDR1. Обработчик должен при каждом обращении передавать в порт Р1 очередной код из массива кодов длиной N, расположенный в СSEG, начиная с адреса АDR2. При исчерпании массива необходимо перейти к его первому элементу.
Вход в систему программ по команде JMP ADR0, расположенной в CSEG по адресу 0000h. В качестве массива выбрать первые N символов ФИО студента.
Таблица 2. Таблица вариантов заданий
Номер |
ADR0 |
ADR1 |
ADR2 |
TYPE |
N |
01 |
614 |
714 |
431 |
IE0 |
E |
02 |
52F |
62F |
541 |
TF0 |
F |
03 |
43E |
53E |
621 |
IE1 |
D |
04 |
34A |
44A |
711 |
TF1 |
C |
05 |
255 |
355 |
121 |
RI |
B |
06 |
366 |
266 |
236 |
TI |
A |
07 |
277 |
177 |
345 |
IE0 |
6 |
08 |
68A |
78A |
454 |
TF0 |
7 |
09 |
79D |
69D |
568 |
IE1 |
F |
10 |
3AF |
5AF |
677 |
TF1 |
E |
11 |
5BA |
4BA |
781 |
RI |
5 |
12 |
4C9 |
3C9 |
231 |
TI |
6 |
13 |
1D8 |
2D8 |
3A1 |
IE0 |
7 |
14 |
2E4 |
1E4 |
4B2 |
TF0 |
8 |
15 |
3F5 |
7F5 |
5C2 |
IE1 |
8 |
16 |
5E6 |
6E6 |
6D2 |
TF1 |
9 |
17 |
6A1 |
5A1 |
7E2 |
RI |
F |
18 |
7D3 |
4D3 |
1F2 |
TI |
A |
19 |
4C8 |
3C8 |
2E2 |
IE0 |
B |
20 |
36F |
26F |
3D2 |
TF0 |
C |
21 |
2BE |
4BE |
782 |
IE1 |
D |
22 |
1CA |
3CA |
232 |
TF1 |
E |
23 |
4D3 |
2D3 |
3A2 |
RI |
F |
24 |
3E7 |
1E7 |
4B2 |
TI |
8 |
25 |
6F3 |
7F3 |
5C2 |
IE0 |
8 |
26 |
4E5 |
6E5 |
6D2 |
TF0 |
9 |
27 |
6AD |
5AD |
7E4 |
IE1 |
6 |
