18F452-inkrementace hodnoty na PORTD každých 1000 str. cyklů

Dobry den, mam za ukol vytvorit program pro pic18f452, zadani je takove:
Procesor neustále periodicky inkrementuje o 1 hodnotu na PORTD. Perioda inkrementace je 1000strojových cyklů, odměřováno časovačem a s použitím přerušení.

kod, ktery zatim mam:

#include <pic18.h>
__CONFIG(1,HSPLL);
__CONFIG(2,PWRTDIS&BORV42&WDTDIS&WDTPS128);
__CONFIG(3,CCP2RC1);
__CONFIG(4,STVREN&DEBUGDIS&LVPDIS);
__CONFIG(5,UNPROTECT);
__CONFIG(6,WRTEN);
__CONFIG(7,TRU);

void init()
{
T1CON = 0b00000000; //nastaveni preddelice 1:1
GIE=1; //povoleni globalniho preruseni //INTCON
PEIE=1; //povoleni preruseni od periferii //INTCON
TMR1IF=0; /* Clear overflow flag*/ //PIR1
TMR1IE=1; //povoleni preruseni v pripade preteceni timeru1 //PIE1
TMR1=65535-965; //vlozeni hodnoty do timeru1 (pro prvni inkrementaci)
TRISD=0; //nastaveni portuD jako vystupni
PORTD=0; //vynulovani portuD
TMR1ON=1; //zapnuti timeru1 //T1CON
}
void main()
{
init();
while(1)
{

}

}
void interrupt preruseni(void)
{
if(TMR1IF)
{
PORTD++;
TMR1IF=0;
TMR1=65535-984;
TMR1IF=0;
}
}

Chtel jsem se zeptat, jelikoz jsem zacatecnik, zda mam spravne tu periodu inkrementace, jelikoz jsi moc nejsem jisty, jestli je to spravne, zkousel jsem to odmerovat v mplabu pomoci stopwatche a vypadalo to spravne, ale chtel jsem se ujistit.
Predem dekuji za jakoukoliv odpoved.

:arrow_right: administrator: přejmenováno z "Program pro pic18f452"

Koukám nikdo se tě neujal, no jak to prohlížím, fungovat by to mohlo, ale je třeba zapnout TMR1 jako 16bit nastavením bitu RD16 v registru T1CON na log 1.