русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Таймеры/счетчики микроконтроллеров PIC


Дата добавления: 2015-08-31; просмотров: 4994; Нарушение авторских прав


 

Описанное выше применение таймеров/счетчиков микроконтроллеров AVR справедливо также и для таймеров микроконтроллеров PIC. Здесь используются аналогичные принципы измерения ширины и частоты импульсов, а также широтно-импульсной модуляции, режимов сравнения и захвата.

В микроконтроллерах PIC могут использоваться три таймера: TMR0, TMR1 и TMR2.

 

TMR0

 

TMR0 (рис. 4.9) – это 8-разрядный таймер/счетчик. Таким образом, счет для него ограничен диапазоном 0-255. Его тактирование реализуется от внешнего источника или на основании такта системной синхронизации.

Рис. 4.9. Схема таймера/счетчика TMR0

Для управления работой таймера TMR0 используются следующие разряды регистра OPTION_REG:

· разряд 5 – T0CS – определяет выбор источника синхроимпульсов (0 – внутренний; 1 – внешний на входе TOCKI);

· разряд 4 – T0SE – определяет выбор фронта, по которому происходит увеличение содержимого счетного регистра TMR0 (0 – по нарастающему; 1 – по ниспадающему фронту тактового сигнала);

· разряд 3 – PSA – использование предварительного делителя частоты (0 – делитель используется для управления таймером TMR0; 1 – для управления сторожевым таймером);

· разряды 0-2 – PS0, PS1, PS2 – выбор коэффициента деления частоты входного тактового сигнала (табл. 4.6).

 

Таблица 4.6. Назначение разрядов PSO - PS2 регистра OPTIONJREG

PS2 PS1 PSO Коэффициент деления частоты входного тактового сигнала

 

Для управления прерываниями от таймера TMR0 используются следующие разряды регистра INTCON:

· разряд 2 – TOIF – флаг прерывания при переполнении TMR0;



· разряд 5 – TOIE – флаг разрешения прерывания при переполнении TMR0;

· разряд 7 – GIE – флаг общего разрешения прерываний.

 

TMR1

 

TMR1 (рис. 4.11) – это 16-разрядный таймер/счетчик, который может использоваться для формирования запросов на прерывание, подобно TMR0, или же работать в режимах захвата, сравнения и ШИМ.

Тактирование таймера TMR1 осуществляется от сигнала системной синхронизации или от специального генератора, предназначенного для работы с относительно медленными программными приложениями. Как правило, используется кварцевый резонатор частотой 32,768 кГц.

Для управления таймером TMR1 используется регистр T1CON (рис. 4.12). Назначение отдельных разрядов регистра T1CON:

· TMRION – подключение таймера (0 – отключен, 1 – включен);

· TMR1CS – выбор источника тактирующих сигналов (0 – такт системной синхронизации; 1 – генератор 32,768 кГц);

· Tl SYNC – включение/отключение синхронизация специального генератора с генератором импульсов системной синхронизации (0 – включена; 1 – отключена);

· T10SCEN – разрешение/запрет тактирования таймера TMR1 от специального генератора (0 – генератор отключен; 1 – тактирование разрешено);

T1CKPS0, T1CKPS1 – выбор коэффициента деления частоты (табл. 4.7).

Рис. 4.11. Схема таймера/счетчика TMR1

 

T1CKPS1 T1CKPS0 T10SCEN T1SYNC TMR1CS TMR1ON

Рис. 4.12. Регистр T1CON микроконтроллеров PIC

 

Таблица 4.7. Назначение разрядов T1CKPS0 - T1CKPS1 регистра T1CON

T1CKPS1 T1CKPS0 Коэффициент деления частоты тактового сигнала

 

Счетный регистр таймера TMR1 представляет собой регистровую пару TMR1H, TMR1L, а управление прерываниями осуществляется с помощью разрядов регистров PIR1 и РIЕ1:

 

Регистр PIR1:

 

· разряд 0 – TMR1IF – флаг переполнения TMR1;

· разряд 2 – ССР 1 IF – флаг прерывания при возникновении захвата по входу/

Регистр PIE1:

 

· разряд 0 – TMR1IE – флаг разрешения прерывания при переполнении TMR1;

· разряд 2 – ССР НЕ – флаг разрешения прерывания при возникновении захвата по" входу.

TMR2

Назначение таймера TMR2 (рис. 4.13) – измерение временных интервалов для реализации ШИМ, обеспечения определенной скорости обмена по последовательному порту и т.п. В этом смысле он подобен таймеру TMR0.

Таймер TMR2 тактируется импульсами, следующими с частотой такта системной синхронизации, деленной на четыре. Каждый раз, когда содержимое счетного регистра TMR2 совпадает с содержимым регистра PR2, таймер автоматически сбрасывается в исходное (нулевое) состояние.

 

Рис. 4.13. Схема таймера/счетчика TMR2

 

При каждом совпадении TMR2 и PR2 генерируется запрос на прерывание, частоту возникновения которого можно также масштабировать с помощью выходного делителя частоты.

Для управления таймером TMR2 используется регистр T2CON (рис. 4.14).

TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0

Рис. 4.14. Регистр T2CON микроконтроллеров PIC

 

Назначение отдельных разрядов регистра T2CON:

· T2CKPS0-T2CKPS1 –управление предварительным делителем частоты (табл. 4.8);

· TMR20N – подключение таймера (0 – отключен, 1 – включен);

· TOUTPS0-TOUTPS3 – выбор коэффициента деления частоты запросов на прерывание при TMR2::=:PR2 (табл. 4.9).

 

Таблица 4.8. Назначение разрядов T2CKPS0 - T2CKPS1 регистра T2CON

T1CKPS1 T1CKPS0 Коэффициент деления частоты тактового сигнала
X

 

Таблица 4.9. Назначение разрядов TOUTPS0 - TOUTPS3 регистра T2CON

TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 Коэффициент деления частоты запросов
о
 
 
 
 
 
 
 
 

 

Для организации прерываний используются разряды TMR2JE (флаг разрешения) и TMR2IF (флаг прерывания) регистров PIE1 и PIR1 соответственно.

Для того чтобы эффективно использовать таймер TMR2, используются следующие формулы:

 

 

где Т – требуемая временная задержка, К1 – коэффициент деления предварительного делителя частоты; К2 – коэффициент деления делителя частоты запросов на прерывание; PR2 – содержимое регистра PR2; F – частота системной синхронизации.



<== предыдущая лекция | следующая лекция ==>
 | Модуль ССР


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.542 сек.