1. Повторить организацию таймеров-счетчиков МК51;
2. Повторить команды МК51;
3. Изучить пример программы к лабораторной работе;
4. Составить программу на языке ассемблера МК-51 согласно варианту.
Порядок выполнения работы.
1. Ознакомиться с заданием и проанализировать его;
2. Составить программу согласно заданию в кодах МК51;
3. Набрать текст составленной программы в текстовом редакторе отладчика;
4. Выполнить трансляцию программы (в случае возникновения ошибок исправить их);
5. Сделать пошаговое выполнение программы и убедиться в правильности ее работы (в случае неправильности внести исправления в текст программы и повторить п.4-5);
Задание по лабораторной работе.
Написать на ассемблере МК 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 | Т |
| E | ||||||
| 52F | 62F | F | ||||
| 43E | 53E | D | ||||
| 34A | 44A | C | ||||
| B | ||||||
| A | ||||||
| 68A | 78A | |||||
| 79D | 69D | F | ||||
| 3AF | 5AF | 2A | E | |||
| 5BA | 4BA | 2B | ||||
| 4C9 | 3C9 | 2C | ||||
| 1D8 | 2D8 | 3A1 | 2D | |||
| 2E4 | 1E4 | 4B2 | 2E | |||
| 3F5 | 7F5 | 5C2 | 2F | |||
| 5E6 | 6E6 | 6D2 | ||||
| 6A1 | 5A1 | 7E2 | F | |||
| 7D3 | 4D3 | 1F2 | A | |||
| 4C8 | 3C8 | 2E2 | B | |||
| 36F | 26F | 3D2 | C | |||
| 2BE | 4BE | D | ||||
| 1CA | 3CA | E | ||||
| 4D3 | 2D3 | 3A2 | F | |||
| 3E7 | 1E7 | 4B2 | ||||
| 6F3 | 7F3 | 5C2 | ||||
| 4E5 | 6E5 | 6D2 | 3A | |||
| 6AD | 5AD | 7E4 | 3B | |||
| 5E6 | 2D3 | 4B2 | 3C | A | ||
| 6A1 | 1E7 | 5C2 | 3D | D | ||
| 7D3 | 7F3 | 6D2 | 3E | E | ||
| 4C8 | 6E5 | 7E2 | 3F |
Содержание отчета
ü Задание по лабораторной работе;
ü Текст программы с комментариями;
ü Краткое описание организации службы времени в микроконтроллере.






