Работа периферийных устройств
При переполнении базового счетчика устанавливается в единичное состояние разряд 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 он не используется.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности