Slab sam za asembler pa nisam ni gledo datašit...
Ovo:
nije asembler.
Asembler bi bio:
To ti je čisto postavljanje registara, koje možeš koristiti u bascomu, a možeš koristiti i već gotove Config… naredbe koje će te registre postaviti umjesto tebe. Te gotove naredbe su u jednu ruku dobre jer početnicima omogućava da odmah krenu sa programiranjem, a da nisu ni otvorili datasheet, niti znaju kako uopće dotični mikrokontroler radi. No to ti je dvosjekli mač, jer te to uči gotovanskom načinu programiranja, a prije ili kasnije ćeš naletiti na nešto što nije u Bascomu implementirano, nego se mora pješice.
Ocekivo sam da ce se interrupt dogadjat svakih 100 us (s obzirom da mega8 radi na 1Mhz)
Dobro si očekivao.
al u simulaciji se interrupt rutina moze pokrenut samo ak se stisne na onaj gumb OC2 medju interruptima al to nije ono što ja zelim. Ak je tako onda onaj Compare2 = 99 nema nikakvog smisla kad kontroler ionak ceka vanjski interrupt. E sad, pitanje je kak je to u"stvarnosti".
Ni kod mene ne radi u zimulatoru, no u stvarnosi naravno radi. Doduše baš taj primjer nebi dobro radio, jedino zato jer se interapt rutina zove svakih 100 ciklusa, a njeno izvršavanje traje 116 ciklusa.

Tu priču kako to riješiti ostavimo za drugi put, ukratko, trebalo bi koristiti nosave opciju i ručno PUSHati i POPati GP registre koje se koriste u interapt rutini ili cijelu rutinu napisati u asembleru.
Kako kažeš da tek počinješ, ne trebaš se sa time zamarati, rijetko kada je baš potreban tako uski tajming. Ako ti je presporo, pikneš brži kristal i vozi.

Samo treba obratiti pažnju na ovaj slučaj kada duže traje izvršavanje interapt rutine nego njezino zvanje.
Što se tiče zadnjeg programa, on će dati overflow nakon 1ms, ali samo prvi put nakon pokretanja, a onda ćeš imati svakih 65.536ms.
Tu imaš dvije opcije. Možeš u interapt rutini svaki put ponovno upisati vrijednost timera.
Rutina:
Timer1 = 64536
Toggle Portd.0
Return
No tu na neku preciznost zaboravi.
Ako hoćeš točnu milisekundu, koja ovisi samo o toleranciji kristala, koristi Timer1 u CTC modu po uzoru na prvi program. Hint: Top = OCR1A