Работа периферийных устройств

При переполнении базового счетчика устанавливается в единичное состояние разряд TOV2 регистра TIFR и при единичном состоянии разряда TOIE2 регистра TIMSK в блок прерываний поступает запрос прерывания Т/С2 OVF.

Режим работы таймера-счетчика определяется комбинацией состояний разрядов PWM2, СОМ21 и СОМ20 регистра TCCR2. При нулевом состоянии трех названных разрядов формируется только запрос п

рерывания Т/С2 OVE При PWM2 = 0 и других комбинациях состояний разрядов СОМ21 и СОМ20 выполняется функция сравнения. Код, формируемый в базовом счетчике TCNT2, с помощью компаратора К сравнивается с кодом, записанным в регистре OCR2. При совпадении кодов устанавливается определенное значение сигнала на выходе ОС2 (вывод порта РВ7), переводится в единичное состояние разряд OCF2 регистра TIFR и при единичном состоянии разряда OCIE2 регистра T1MSK в блок прерываний поступает запрос прерывания Т/С2 СОМР. Значение сигнала, устанавливаемого на выходе ОС2 при совпадении кодов, определяется комбинацией состояний разрядов СОМ20 и С0М21 регистра TCCR2 в соответствии с табл.9.

Таблица 9

СОМ21

СОМ20

Значение сигнала

0

1

1

1

0

1

Изменяется

0

1

Работа базового счетчика при выполнении функции сравнения зависит от состояния разряда СТС2 регистра TCCR2. При СТС2 = 0 базовый счетчик после совпадения кодов продолжает счет до переполнения и далее выполняет счет, начиная с 0. При СТС2 = 1 базовый счетчик при совпадении кодов сбрасывается в пулевое состояние и продолжает счет, начиная с 0. При PWM2 = 1 и СОМ21 = 1 выполняется функция PWM. Базовый счетчик ведет счет на сложение до получения кода максимального числа (255), переводится в режим счета на вычитание и в этом режиме ведет счет до получения кода минимального числа (0) и далее вновь переходит в режим счета на сложении. Акт переполнения (переход от кода числа 255 к коду числа 0) в данном случае отсутствует.

Запрос прерывания Т/С2 OVF формируется при переходе от числа 0 к числу 1.

Состояние разряда СОМ20 определяет вид изменения выходного сигнала при совпадении кодов в счетчике и регистре сравнения. На изображены графиках изменения числа в счетчике TCNT2 и временные диаграммы сигнала PWM на выходе ОС2 при заданном коде числа в регистре сравнения (OCR2) при разных состояниях разряда СОМ20.

Период сигнала PWM (T) в 510 раз больше периода сигнала, поступающего на счетный вход базового счетчика.

При записи байта в регистр OCR2 (по команде с мнемокодом операции OUT) байт принимается в регистр временного хранения, из регистра второго переписывается в регистр OCR2 при появлении в базовом счетчике кода числа 255.

При этом исключается появление в сигнале PWM импульса со случайной длительностью.

а) C0M20=0 б) С0М20=1

Рис.1

Таймер-счетчик типа В в микроконтроллере типа t15 имеет имя Т/С1 (Х = 1). Исходный сигнал для работы таймера-счетчика (РСК) имеет частоту 25,6 МГц при частоте тактового сигнала микроконтроллера 1,6 МГц (1/16 РСК). В регистре управления имеется дополнительный разряд CS1 Выбор сигнала для передачи на счетный вход базового счетчика определяется комбинацией состояний разрядов CS13, CS12, CS11 и CS10 в соответствии с табл.10. Вход для приема сигнала из внешнего источника отсутствует.

Таблица 10

CS13

CS12

CS11

CS10

Сигнал

0

0

0

0

нет

0

0

0

1

РСК (16СК)

0

0

1

0

РСК/2 (8 СК)

0

0

1

1

РСК/4 (4 СК)

0

1

0

0

РСК/8 (2 СК)

0

1

0

1

РСКЛб (СК)

0

1

1

0

СК/2

0

1

1

1

СК/4

1

0

0

0

СК/8

1

0

0

1

СК/16

1

0

1

0

СК/32

1

0

1

1

СК/64

1

1

0

0

СК/128

1

1

0

1

СК/256

1

1

1

0

СК/512

1

1

1

1

СК/1024

В состав таймера-счетчика входят два регистра сравнения - OCR10 и OCR11. Регистр OCR10 используются при выполнении функции сравнения. Регистр OCR11 используется совместно с регистром OCR10 при выполнении функции PWM. Базовый счетчик работает в режиме счета на сложение и ведет счет от 0 до числа, код которого записан в регистре OCR11. Сигнал 0C1/PWM выдается на вывод порта РВ1.

В микроконтроллере типа tl5 в работе таймера-счетчика Т/С1 участвуют разряды FOC1A и PSR1 регистра SFIOR (№ $2С).

В режиме сравнения при установке в единичное состояние разряда FOC1A на выходе ОС1 устанавливается требуемое значение сигнала немедленно, не дожидаясь совпадения кодов в базовом счетчике и регистре сравнения. При этом запрос прерывания Т/С1 СОМР не формируется и базовый счетчик не сбрасывается в нулевое состояние при СТС1 = 1. Разряд FOC1A сбрасывается в нулевое состояние аппаратно. В режиме PWM он не используется.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы