Электроприводы с системами числового программного управления. Иванов А.К - 100 стр.

UptoLike

Составители: 

Рубрика: 

99
происходит обновление этого же или другого регистра, но относящегося к тому
же таймеру, то по завершении обработки прерывания изменяется содержимое
временного регистра и выполнение второй инструкции приведет к некоррект-
ному результату. Таким образом, когда и в основной программе и в прерывани-
ях происходит обновление временного регистра, то в основной программе пе
-
ред инициацией доступа к 16-разр. регистру необходимо запретить прерывания.
В следующем примере дан вариант чтения регистра TCNTn, без опасно-
сти изменения содержимого временного регистра, при возникновении преры-
вания. Доступ к регистрам OCRnA/B/C и ICRn можно осуществлять аналогич-
но.
TIM16_ReadTCNTn:
; Запомнили состояние общего флага прерываний
in r18,SREG
; Запрет прерываний
cli
; Чтение TCNTn в r17:r16
in r16,TCNTnL
in r17,TCNTnH
; Восстановили состояние общего флага прерываний out SREG,r18
ret
В коде на Ассемблере значение регистра TCNTn перезаписывается в пару
регистров r17, r16. В следующем примере показано, как избежать опасного
влияния изменения содержимого временного регистра при возникновении пре-
рывания во время записи в регистр TCNTn. На этом же принципе может быть
выполнена запись в регистры OCRnA/B/C или ICRn.
TIM16_WriteTCNTn:
; Запомнили состояние общего флага прерываний
in r18,SREG
; Запрет прерываний
cli
; Копирование TCNTn в r17:r16
out TCNTnH,r17
out TCNTnL,r16
; Восстановили состояние общего флага прерываний
out SREG,r18
ret
Тактовые источники таймера-счетчика. Таймер-счетчик может ис-
пользовать как внешний, так и внутренний тактовые сигналы. Источник такто-
вого сигнала выбирается соответствующей схемой микроконтроллера под
управлением бит выбора синхронизации (CSn2:0), которые находятся в регист-
ре В управления таймером-счетчиком (TCCRnB). Более подробная информация
по тактовым источникам и предделителю приведена в разделе «Предделители
таймера
-счетчика 3, таймера-счетчика 2 и таймера-счетчика 1».
Блок счетчика. Основным элементом 16-разр. таймера-счетчика являет-
ся программируемый реверсивный 16-разрядный счетчик. На рисунке 4.16
представлена функциональная схема счетчика и сопряженных с ним элементов.
Описание внутренних сигналов: