Основы программирования микроконтроллеров ATMega128 и 68hc908. Китаев Ю.В. - 68 стр.

UptoLike

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

могут быть в нашей задаче любыми допустимыми, т.к. оценка результата
будет производиться буквальнона глаз”.
Коэффицент деления системной частоты (CGMOUT) Kd=Ft/Fc (рис. 2.8
и 2.9) выберем равным 64. Этому соответствуют биты предварительного
делителя (prescaler’a) PS2,PS1,PS0=110. Таким образом, на счетный вход
счетчика таймера1 будут поступать импульсы с частотой 4.915.200Гц/2/64 =
38400Гц. Частота кварцевого генератора принудительно делится в два раза
(рис.1.5-1).
Для разрешения прерываний при достижении счетчиком заданного
модуля счета необходимо установить бит TOIE=1. Модуль счета таймера1
выберем равным T1MOD=400. В результате таймер будет срабатывать с
частотой 38400Гц/400=96Гц (меньшая частота будет приводить к заметному
мельканию светодиода). В результате, в регистр T1SC нужно записать
значение 0x46.
Теперь необходимо задать значения разрядов регистра регистра
управления-состояния T1SC1 первого канала таймера1.
Сначала необходимо разрешить прерывания при совпадении текущего
кода в регистре счетчика T1CNT и кода записанного в регистр T1CH1
(рис.1.5). Для этого бит CH1IE должен быть равен 1.
Далее необходимо устанавливать 1 на выходе PTD5/T1CH1 при
совпадении кодов. Для этого биты MS1B=0, MS1A=1; ELS1B=ELS1A=1. Для
возврата нуля на этом выходе при переполнении бит TOV1 должен быть
равен 1. При этом будет сформирован отрицательный импульс
длительностью Tp.
Рис. 2.12. Настройка таймера на заданный режим работы
68