
2. Задание для домашней подготовки.
Повторить организацию таймеров-счетчиков МК51;
Повторить команды МК51;
Изучить пример программы к лабораторной работе;
Составить программу на языке ассемблера МК-51 согласно варианту.
3. Порядок выполнения работы.
Ознакомиться с заданием и проанализировать его;
Составить программу согласно заданию в кодах МК51;
Набрать текст составленной программы в текстовом редакторе отладчика;
Выполнить трансляцию программы (в случае возникновения ошибок исправить их);
Сделать пошаговое выполнение программы и убедиться в правильности ее работы (в случае неправильности внести исправления в текст программы и повторить п.4-5);
4. Задание по лабораторной работе.
Написать на ассемблере МК 51 систему программ, которая выполняет следующие функции.
Обработчик прерывания от таймера 0 инкрементирует содержимое ячейки ADRT и загружает начальное состояние в регистр Т0.
Первая программа выполняет циклический анализ содержимого ячейки ADRT и вызывает подпрограмму вывода массива кодов в порт. Программа располагается в СSEG, начиная с адреса АDR0. Программа должна состоять из двух частей. Первая часть - инициализация системы, вторая –анализ содержимого ADRT и вызов подпрограммы.
Вторая программа - должна располагаться в памяти СSEG, начиная с адреса АDR1. Она должна при каждом обращении передавать в порт Р1 очередной код из массива кодов длиной N, расположенный в СSEG, начиная с адреса АDR2. При исчерпании массива необходимо перейти к его первому элементу.
Начальный код в таймере и константа сравнения должны быть выбраны так, чтобы вызов подпрограммы выполнялся каждые Т мкс. Считаем, что частота OSC/12=1 МГц
Вход в систему программ по команде JMP ADR0, расположенной в CSEG по адресу 0000h. В качестве массива выбрать первые N символов ФИО студента.
Таблица 4. Таблица вариантов заданий
Номер |
ADR0 |
ADR1 |
ADR2 |
ADRT |
N |
Т |
01 |
614 |
714 |
431 |
21 |
E |
500 |
02 |
52F |
62F |
541 |
22 |
F |
550 |
03 |
43E |
53E |
621 |
23 |
D |
600 |
04 |
34A |
44A |
711 |
24 |
C |
650 |
05 |
255 |
355 |
121 |
25 |
B |
700 |
06 |
366 |
266 |
236 |
26 |
A |
750 |
07 |
277 |
177 |
345 |
27 |
6 |
800 |
08 |
68A |
78A |
454 |
28 |
7 |
850 |
09 |
79D |
69D |
568 |
29 |
F |
900 |
10 |
3AF |
5AF |
677 |
2A |
E |
950 |
11 |
5BA |
4BA |
781 |
2B |
5 |
1000 |
12 |
4C9 |
3C9 |
231 |
2C |
6 |
1050 |
13 |
1D8 |
2D8 |
3A1 |
2D |
7 |
1100 |
14 |
2E4 |
1E4 |
4B2 |
2E |
8 |
1150 |
15 |
3F5 |
7F5 |
5C2 |
2F |
8 |
1200 |
16 |
5E6 |
6E6 |
6D2 |
30 |
9 |
1250 |
17 |
6A1 |
5A1 |
7E2 |
31 |
F |
1300 |
18 |
7D3 |
4D3 |
1F2 |
32 |
A |
1350 |
19 |
4C8 |
3C8 |
2E2 |
33 |
B |
1400 |
20 |
36F |
26F |
3D2 |
34 |
C |
1450 |
21 |
2BE |
4BE |
782 |
35 |
D |
1500 |
22 |
1CA |
3CA |
232 |
36 |
E |
1550 |
23 |
4D3 |
2D3 |
3A2 |
37 |
F |
1600 |
24 |
3E7 |
1E7 |
4B2 |
38 |
8 |
1650 |
25 |
6F3 |
7F3 |
5C2 |
39 |
8 |
1700 |
26 |
4E5 |
6E5 |
6D2 |
3A |
9 |
1750 |
27 |
6AD |
5AD |
7E4 |
3B |
6 |
1800 |
28 |
5E6 |
2D3 |
4B2 |
3C |
A |
1850 |
29 |
6A1 |
1E7 |
5C2 |
3D |
D |
1900 |
30 |
7D3 |
7F3 |
6D2 |
3E |
E |
1950 |
31 |
4C8 |
6E5 |
7E2 |
3F |
8 |
2000 |