Цель работы: Изучить особенности работы таймеров микроконтроллера. Научиться настраивать таймеры микроконтроллеров. Научиться формировать микроконтроллером временные интервалы при помощи внутреннего таймера. Научиться отлаживать программы, написанные для микроконтроллеров MCS-51 на примере лабораторного стенда LESO1.
Подготовка к лабораторной работе
По конспекту лекций изучить принципы построения схем таймеров микропроцессоров и особенности схемы внутренних таймеров микроконтроллеров семейства MCS51 и их особенности в микросхеме ADuC842. По принципиальной схеме лабораторного стенда LESO1 установить, к каким портам микроконтроллера подключен светодиод. По таблице регистров специальных функций (SFR) найти адреса регистров управления таймерами TCON и TMOD, а также адреса самих таймеров TL0, TH0, TL1 и TH1. Составить алгоритм и написать программу, формирующую сигнал прямоугольной формы скважности 2 период задается в соответствии с вариантом задания, приведенным в таблице. Сигнал должен быть сформирован на выводе параллельного порта, подключенного к светодиоду. Рассчитать значение регистров TLx и THx для формирования заданного времени работы таймера. Рассчитать требуемое количество итераций цикла для формирования сигнала с заданным периодом Т.
Задание к работе
Разработайте алгоритм программы соответственно заданию: сформировать сигнал прямоугольной формы скважности 2 заданного периода, согласно заданному варианту. Сигнал должен выводиться на вывод порта, к которому подключен светодиод.
Таблица вариантов задания
Номер варианта | Номер таймера | Интервал таймера | Период сигнала |
---|---|---|---|
1 | таймер 0 | 5 мс | 2 с |
2 | таймер 1 | 15 мс | 3 с |
3 | таймер 0 | 10 мс | 4 с |
4 | таймер 1 | 25 мс | 5 с |
5 | таймер 0 | 30 мс | 6 с |
6 | таймер 1 | 14 мс | 7 с |
7 | таймер 0 | 20 мс | 8 с |
8 | таймер 1 | 12,5 мс | 9 с |
9 | таймер 0 | 40 мс | 10 с |
10 | таймер 1 | 4 мс | 11 с |
Порядок выполнения работы
- Войдите в интегрированную среду программирования Keil-C;
- Создайте и настройте программный проект;
- Введите подготовленный дома текст программы;
- Оттранслируйте программу, и исправьте синтаксические ошибки;
- Загрузите полученный *.hex файл в лабораторный стенд LESO1;
- Убедитесь, что программа функционирует должным образом;
- Если программа не выполняет все или часть функций, то найдите логические ошибки, исправьте их и перейдите к пункту 3;
Содержание отчета
- Цель работы
- Принципиальную схему проводимого эксперимента (лишние детали стенда не показывать!)
- Структурную схему таймера микроконтроллера ADuC842 в выбранном режиме
- Расчет начальных значений регистров микроконтроллера, задействованных в эксперименте
- Обоснование выбора значения регистра TMOD
- Графическую схему алгоритма работы программы
- Содержимое файла листинга программного проекта
- Выводы по выполненной лабораторной работе
5 Контрольные вопросы
- Что такое микроконтроллер и зачем он нужен?
- Для чего нужен таймер?
- Как устроен таймер?
- Что такое автозагрузка таймера и зачем она нужна?
- Каковы особенности таймеров микроконтроллеров семейства MCS-51?
- Как управлять таймерами микроконтроллеров семейства MCS-51??
- Какие режимы работы таймеров микроконтроллеров семейства MCS-51 вы знаете?
- Что такое регистры специального назначения?
- Как получить доступ к регистрам таймеров микропроцессора?
- Как рассчитываются значения чисел, загружаемые во внутренние регистры таймера?
- Чем отличается язык программирования C-51 от стандартного C?
- Что такое флаг прерывания таймера?
- Как загружается программа в микроконтроллер?
- Что такое программный проект?