Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Блок таймера-счетчика




Функционирование таймера- счетчика в модуле TIM08 определяется содержимым регистра управления TxSC, биты которого имеют следующее назначение (рис.12.2, а):

TOF – признак переполнения таймера (доступен только для чтения), принимает значение TOF = 1, если содержимое счетчика TxCNT достигает максимального значения, заданного содержимым регистра TxMOD;

TOIE – разрешает при значении TOIE = 1 формирование запроса прерывания при переполнении счетчика (признак TOF = 1);

TSTOP – вызывает остановку переключения счетчика TxCNT при установке значения бита TSTOP = 1;

TRST – вызывает при установке значения TRST = 1 сброс содержимого счетчика TxCNT в состояние $0000 и установку значения битов PS2-0 = 000 (доступен только для записи, устанавливается в 0 после сброса TxCNT в нулевое состояние);

PS2-0 – определяют коэффициент деления частоты Kd при формировании сигналов, переключающих счетчик TxCNT (см. табл. 12.2).

 

Таблица 12.1. Адреса регистров таймерных модулей

Модуль TIM08-1 Модуль TIM08-2
Блок таймера Регистр Адрес Блок таймера Регистр Адрес
Блок Счетчика-таймера T1SC $0020 Блок счетчика-таймера T2SC $002B
T1MODh-l $0021-22 T2MODh-l $002C-2D
T1CNTh-l $0023-24 T2CNTh-l $002E-2F
Таймерный канал 0 T1SC0 $0025 Таймерный канал 0 T2SC0 $0030
T1CH0h-l $0026-27 T2CH0h-l $0031-32
Таймерный канал 1 T1SC0 $0028 Таймерный канал 1 T1SC0 $0033
T1CH0h-l $0029-2A T2CH0h-l $0034-35

 

 

При запуске МК счетчик TxCNT устанавливается в начальное состояние $0000, после чего производится его переключение сигналами с частотой fc = fBUS/Kd, где коэффициент деления Kd определяется значением битов PS2-0 в регистре TxSC (см. табл. 12.2).

 

 

7 7              
TOF TOIE TSTOP TRST - PS2 PS1 PS0

 

а) TxSC

 

               
CHiF CHiIE MSiВ MSiA ELSiB ELSiA TOVi CHiMAX

 

б) TxSCi

Рис. 12.2. Форматы регистров управления TxSC, T xSCi

Остановка и последующий запуск счетчика производится путем установки соответствующего значения бита TSTOP в регистре TxSC. Счетчик сбрасывается в состояние $0000 при установке значения бита TRST=1. Модуль счета Кc задается содержимым регистра TxMOD и может иметь значение от 0 до 65535.

Таблица 12.2. Коэффициенты деления частоты Kd для таймерных модулей

TIM08 TBM08
PS2-0 Kd TBR2-0 Kd
       
       
       
       
       
       
       
  Не используется    

 

При запуске МК все биты в регистре TxMOD принимают значение 1. Когда содержимое счетчика TxCNT достигает значения, записанного в TxMOD, счетчик сбрасывается в нулевое состояние. При этом устанавливается значение признака переполнения TOF = 1, что вызывает прерывание процессора, если в регистре TxSC значение бита TOIE = 1. Вектора прерываний по переполнению таймеров размещаются в соответствующих позициях таблицы векторов.

Текущее содержимое TxCNT доступно только для чтения. При этом следует сначала считать значение старшего байта (регистр TxCNTh), а затем значение младшего байта (регистр TxCNTl). При чтении старшего байта значение младшего автоматически фиксируется в регистре TxCNTl, поэтому после его считывания будет получено фактическое содержимое TxCNT на момент обращения к регистру TxCNTh.

Коэффициент пересчета, таким образом, является программиру-емым. Максимальный коэффициент пересчета – 65535. Период работы счетчика T=(Kc+1)˟ 1/fc.

Пример программы инициализации таймера. Инициализировать таймер-счетчик на выдачу временных меток 80 мкс.

 

(K c+1)*1\ fc =80*10-6; f c=8 МГц

К С = f c*80*10-6 -1=63910 =27316.

**********************************************************

SEI; глобальный запрет прерывания на время инициализации

LDA #$40; режим обычный, Кдел= 0

STA T1SC;

LDA #$73;

STA TMODL; в младший байт регистра режима

LDA #$02;

STA MODH; в старший байт регистра режима

CLI; глобальное разрешение прерывания

 

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 463; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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