Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Микроконтроллеры PIC фирмы Microchip для начинающих выпуск №15


РАССЫЛКА Микроконтроллеры PIC фирмы Microchip для начинающих
Ведущий: Алексей (pont_a@mail.ru)


Доброго времени суток, дамы и господа!!

Продолжаем рассматривать периферию микроконтроллеров серии PIC18 на базе микроконтроллера PIC18F452! Сегодня будем рассматривать таймер 1 (TMR1). 

Открываем datasheet на наш микроконтроллер PIC18F452 и находим пункт: 11.0 TIMER1 MODULE. В этом пункте описан таймер 1. Данный таймер 16-ти разрядный. Также, он позволяет подключить к собственной схеме тактирования (пины T1OSO и T1OSI) кварц с частотой не больше 200 кГц. Но обычно, подключают «часовой» кварц с частотой 32,768 кГц для реализации часов реального времени. Таймер может работать в режиме счетчика, когда настроен на тактирование от внешнего генератора (пин T1CKI). Тогда, инкремент таймера происходит с каждым нарастающим фронтом входного импульса.
Основной регистр управления данного таймера T1CON. Рассмотрим назначение битов этого регистра:

№ бита

Название

Описание

7

RD16

1 – доступ к значениям таймера одной 16-ти битной операцией
0 – доступ к  значениям таймера двумя 8-ми битными операциями

6

-

не используется

5-4

T1CKPS1-0

2 бита для конфигурирования делителя входной частоты (прескалер)
00 – 1:1
01 – 1:2
10 – 1:4
11 – 1:8

3

T1OSCEN

1 – включить внутреннюю схему тактирования от внешнего кварца
0 – выключить. RC0,1 используются, как дискретные входы/выходы  

2

T1SYNC

1 – не синхронизировать частоту внешнего генератора
0 – синхронизировать
Если тактирование таймера от Fosc/4, то этот бит игнорируется

1

TMR1CS

1 – тактирование таймера от внешнего генератора
0 – тактирование таймера от частоты командных циклов (Fosc/4)
Если необходимо подключить схему тактирования от внешнего кварца, то, помимо T1OSCEN, данный бит, также, должен быть установлен.

0

TMR1ON

0 –  остановить таймер1;
1 –  включить таймер 1;

           
Когда таймер 1 включен, он начинает инкрементироваться с каждым входным импульсом после прескалера. Накапливается значение таймера 1 в регистрах TMR1H, TMR1L. Максимальные рабочие частоты данного таймера мы можем найти в datasheet в таблице: TABLE 22-8: TIMER0 AND TIMER1 EXTERNAL CLOCK REQUIREMENTS. Номера параметров: 45, 46, 47.  Как видим, минимальный период входной частоты таймера в асинхронном режиме - 60 нс, в синхронном – больше из 20нс или (Tcy+40)/N, где N – прескалер(1,2,4,8) и Tcy=1/Fosc. 

Работа таймера 1 более наглядно отображена на функциональной схеме:

Функциональная схема таймера 1

Как видим по схеме, в 16-ти битном режиме работы с таймером (RD16=1), последовательность чтения или записи таймера 1 идентична таймеру 0 в 16-ти битном режиме. При записи, сначала заполняем регистр TMR1H, потом TMR1L. А при чтении, наоборот, сначала читаем регистр TMR1L. Также, таймер может сбрасываться в 0 выходом модуля CCP (захвата/сравнения). Но этот механизм мы изучим, когда будем рассматривать модуль CCP
Флаг прерывания таймера 1 взводится при условии, когда накопленное значение таймера переходит границу: 0xFFFF->0x0000.   
Расчет таймаутов на этом таймере аналогичен расчетам, которые мы рассматривали в предыдущих выпусках рассылки.
Не забываем самое важное, что любая программная модификация регистров TMR1L или T1CON приводит к сбросу прескалера, который грозит нарушением длительности периода!!! Модификация регистра TMR1H не приводит к сбросу прескалера!

           
В следующем выпуске на время отложим периферию и начнем рассматривать систему прерываний микроконтроллера PIC18F452!

Полный архив рассылки Вы можете прочитать на нашем сайте!  При любом опубликовании текстов данной рассылки ссылка на сайт http://www.2aplusa.ru обязательна!

На нашем сайте работает форум, где Вы можете общаться на интересующие Вас вопросы по поводу разработки собственных устройств или задавать вопросы по поводу рассылки! 

Желаю Вам удачи! До скорой встречи!


С уважением, Алексей pont_a@mail.ru
Cайт разработчиков 2AplusA http://2aplusa.ru


В избранное