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 |
Содержание отчета
ü Задание по лабораторной работе;
ü Текст программы с комментариями;
ü Краткое описание организации службы времени в микроконтроллере.