ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.07.2024
Просмотров: 18
Скачиваний: 0
Порядок выполнения работы
1 С помощью Таймера 1 вывести на 7-сегментный индикатор (разряд – по указанию преподавателя) точку, мигающую с частотой 1Гц.
-определить биты регистра TMOD Таймера 1: режим (Mode) 1, функция – таймер;
-рассчитать требуемую периодичность мигания точки. В режиме Таймера, 16битный регистр увеличивает свое значение на единицу каждый машинный цикл (машинный цикл длится 12 тактов ГТИ, т.е. коэффициент счета равен 1/12 частоты тактового генератора). Частота внешнего резонатора – f = 8 МГц. Так как таймер -16-
битный, то за 1 секунду будет совершаться примерно 10,17 переполнений: 8МГц/(12*216);
-в функции Timer1InterruptHandler (см пример) описать действия, выполняемые МК по прерыванию
-набрать код программы, скомпилировать и прошить в МК.
Пример
void Timer1InterruptHandler() org 0x1B
{
EA = 0; // очистить флаг разрешения прерывания
TR1 = 0; // остановить Timer1
TH1 = 0x00; // сбросить значение старшего байта Timer1 TL1 = 0x00; // сбросить значение младшего байта Timer1
…
Действия по прерыванию
…
EA = 1; // установить общий флаг разрешения прерывания
TR1 = 1; // запустить Timer1
}
void main()
{ P0 = 0; // инициализировать PORT0
TF1 = 0; // убедиться, что флаг прерывания TF1 очищен ET1 = 1; // разрешить прерывание Timer1
EA = 1; // установить общий флаг разрешения прерывания
TMOD.T1_GATE = 0; // запрет внешнего управления
TMOD.T1_CT |
= 0; // установка в режиме таймера. |
TMOD.T1_M1 |
= 0; // M1_M0 = 00 => выбор режима работы(16-битный |
Таймер/Счетчик) |
|
TMOD.T1_M0 |
= 0; |
TR1 = 0; TH1 = 0x00; TL1 = 0x00; TR1 = 1;
}
//сбросить Timer1
// установить старший байт Timer1
//установить младший байт Timer1
//запустить Timer1
2 С помощью прерываний Таймера 0 вывести на порт 2 (светодиоды) бегущий «0» (смещение активного светодиода в сторону старшего разряда при каждом прерывании. Использовать тот же исходный код, что и в первой задаче
Вопросы для защиты
1 Основные отличия Таймеров 0 и 1 от Таймера 2 2 Описать работу Таймеров 0 и 1 в режимах 1 и 2. 3 Описать работу Таймеров 0 и 1 в режиме 3
4 Описать назначение битов регистра T1CON
5 Описать назначение битов регистра T1MOD
6 Описать назначение битов регистра T2CON
7 Описать назначение битов регистра T2MOD
8Описать режим захвата.
9Описать режим автоперезагрузки.
10Описать режим генератора импульсов.