Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы / Lab_moto / 5.doc
Скачиваний:
16
Добавлен:
16.04.2013
Размер:
229.38 Кб
Скачать

Лабораторная работа N5. Блок таймера ОЭВМ МС68НС705С8. 15

Однокристальная микроЭвм мс68нс705с8.

Лабораторный практикум.

Лабораторная работа №5.

Блок таймера HC05.

Теоретическая часть.

1. Таймер и связанные с ним устройства.

В состав микроконтроллера МС68НС705С8 входит блок 16-битного таймера, используемый для измерения временных интервалов и для формирования различных сигналов. Блок таймера имеет следующие характеристики:

· 16-битный счетчик с предделителем тактовой частоты.

· Флаг переполнения таймера - TOF (Timer Overflow Flag).

· 16-битный регистр выходного сравнения - OCR (Output Compare Register).

· 16-битный регистр входной фиксации - ICR (Input Capture Register).

· Три вида генерируемых прерываний.

Блок-схема таймера представлена на рисунке:

Основу таймера составляет 16-битный счетчик, синхронизируемый внутренней тактовой частотой (2 МГц), деленной на 4. Функция переполнения таймера позволяет расширить возможность измерения промежутков времени путем фиксации момента переполнения счетчика и установки соответствующего флага (TOF) в регистре статуса таймера (TSR), который будет подробно описан ниже. Функция входной фиксации (Input Capture), использующая внешний вход TCAP микроконтроллера, может применяться для измерения различных временных параметров внешних сигналов. Функция выходного сравнения (Output Compare), использующая внешний выход TCMP микроконтроллера, дает возможность генерировать сигналы различной частоты, формировать импульсы произвольной длительности, а так же временные задержки в программе и многое другое.

Доступ к таймеру осуществляется через 10 адресуемых 8-битных регистров и два внешних вывода микроконтроллера: вход TCAP и выход TCMP. Ниже приводятся эти 10 регистров:

Регистр счетчика (Counter Register)

· старший байт, ячейка $18;

· младший байт, ячейка $19;

Альтернативный регистр счетчика (Alternate Counter Register)

· старший байт, ячейка $1A;

· младший байт, ячейка $1B;

Регистр входной фиксации-ICR (Input Capture Register)

· старший байт, ячейка $14;

· младший байт, ячейка $15;

Регистр выходного сравнения-OCR (Output Compare Register)

· старший байт, ячейка $16;

· младший байт, ячейка $17;

Регистр управления таймера-TCR (Timer Control Register)

· ячейка $12;

Регистр статуса таймера-TSR (Timer Status Register)

· ячейка $13;

Поскольку таймер имеет 16-битовую архитектуру, регистры счетчика (основной и альтернативный), а также регистры входной фиксации и выходного сравнения представлены двумя ячейками, отдельно для старшего и для младшего байтов.

Ниже приводится более подробное описание регистров таймера.

Cчетчик и альтернативный счетчик.

При начальной установке 16-битный счетчик таймера, расположенный по адресу $18-$19, начинает работу со значения $FFFC. Далее значение счетчика увеличивается на единицу при каждом поступлении синхроимпульса с предделителя частоты, дающего разрешение в 2 мкс (частота синхронизации 500кГц) при использовании кварцевого резонатора на 4МГц (что соответствует внутренней тактовой частоте микроконтроллера 2МГц). Когда значение счетчика достигает $FFFF, он обнуляется (при этом устанавливается флаг переполнения TOF), после чего процесс счета продолжается. Таким образом, значение счетчика повторяется каждые 65536 циклов, что соответствует временному интервалу в 65536*2 мкс=0.131 с. Регистр счетчика доступен только по чтению, то есть останавливать или обнулять счетчик, а также изменять его содержимое нельзя. Значение счетчика дублируется в альтернативном регистре счетчика, расположенном по адресу $1А-$1В. Единственное различие этих регистров состоит в том, что при чтении из основного регистра счетчика происходит сброс флага переполнения, а при обращении к альтернативному регистру этого не происходит. Если сначала читается старший байт счетчика ($18), то младший байт ($19) запоминается в буфере. Это значение остается в буфере неизменным, даже если старший байт читается несколько раз. Для завершения процедуры чтения необходимо считывание младшего байта счетчика ($19). Если же производится чтение только младшего байта счетчика, то никакой фиксации при этом не происходит. Все эти рассуждения также справедливы и для альтернативного регистра счетчика ($1A-$1B).

Соседние файлы в папке Lab_moto