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

UptoLike

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

29
procedure Init_Timer0Async;//== настройка Таймера0 для работы от кварца
32768Гц
begin
TCCR0:=$0D;//== бит CS00=CS02=1(предделитель=128),WGM01=1(сброс
счетчика при совп.)
OCR0:=$FF; //== регистр кода совпадения (256-1): 32768/128/256=ровно 1Гц
!
//== режим совпадения предпочтительнее режима
переполнения, т.к. вместо FF
//== можно выбирать другие значения
ASSR.3:=1; //== бит AS0=1 - переходим в асинхронный режим Timer0 от
кварца 32768Гц
TIMSK.1:=1;//== бит OСIE0:=1 - разрешить прерывания при совпадении
текущего
end; //== значения таймера0 с кодом в регистре совпадения OCR0
var b: boolean;
interrupt TIMER0COMP;//== обработчик прерывания при переполнении
таймера0
//== ровно через 1 сек от TOSC=32768Гц в
асинхронном режиме
begin
b:=not b; //== мигаем
PORTE.7:= b; //== светодиодом
end;
{ Main Program }
{$IDATA}
begin
Init_Ports;
Init_Timer0Async;
EnableInts;//== разрешить прерывания
loop
endloop;
end myATMega128.
5.2.3 ЗАГРУЗКА ПРОГРАММЫ ВО ФЛЭШ ПАМЯТЬ МК
Проверим ход выполнения промежуточного варианта программы, для
чего запишем ее во флэш память микроконтроллера ATMega128.