Hallo Aileron,
Du brauchst dazu nicht die ganzen 300 Seiten zu lesen.
Es genügt doch der Abschnitt über die Timer und evtl. der über Interrupts.
Um dich ein wenig zu motivieren hier ein Stückchen Beispielcode,
der einen Mega8-16 dazu bringt mit 2Hz also alle 0,5s
einen Timerinterupt auszulösen.
Die Interruptroutine Int2Hz zählt dann PortC hoch, damit sich auch was tut.

Gruß Jan


Code:
;*** Int2Hz ***

.NOLIST
.INCLUDE <m8def.inc>
.LIST

.equ clk=16000000

;Interrupt Vector Table
        rjmp RESET           ;Reset Handler
        rjmp RESET           ;EXT_INT0 ; IRQ0 Handler
        rjmp RESET           ;EXT_INT1 ; IRQ1 Handler
        rjmp RESET           ;TIM2_COMP ; Timer2 Compare Handler
        rjmp RESET           ;TIM2_OVF ; Timer2 Overflow Handler
        rjmp RESET           ;TIM1_CAPT ; Timer1 Capture Handler
        rjmp int2hz          ;TIM1_COMPA ; Timer1 CompareA Handler
        rjmp RESET           ;TIM1_COMPB ; Timer1 CompareB Handler
        rjmp RESET           ;TIM1_OVF ; Timer1 Overflow Handler
        rjmp RESET           ;TIM0_OVF ; Timer0 Overflow Handler
        rjmp RESET           ;SPI_STC ; SPI Transfer Complete Handler
        rjmp RESET           ;USART_RXC ; USART RX Complete Handler
        rjmp RESET           ;USART_UDRE ; UDR Empty Handler
        rjmp RESET           ;USART_TXC ; USART TX Complete Handler
        rjmp RESET           ;ADC_CC ; ADC Conversion Complete Handler
        rjmp RESET           ;EE_RDY ; EEPROM Ready Handler
        rjmp RESET           ;ANA_COMP ; Analog Comparator Handler
        rjmp RESET           ;TWSI ; Two-wire Serial Interface Handler
        rjmp RESET           ;SPM_RDY ; Store Program Memory Ready Handler


RESET:  ldi r16,high(RAMEND) ;SP setzen
        out SPH,r16
        ldi r16,low(RAMEND)
        out SPL,r16

;Init PortC = Output
        ldi r16,0xff
        out ddrc,r16
        

;Init Timer1
;Mode 4, CTC, TOP=OCR1A, Prescl=256
        clr r16
        out TCCR1A,r16      
        ldi r16,(1<<WGM12)|(1<<CS12) 
        out TCCR1B,r16
        ldi r16,high(clk/256/2)
        out OCR1AH,r16
        ldi r16,low(clk/256/2)
        out OCR1AL,r16
;Enable Timer 1 Output Compare A INT
        in r16,TIMSK
        ori r16,1<<OCIE1A     
        out TIMSK,r16
        sei

main:   rjmp main

;Die Interruptroutine
int2hz: inc r16
        out portc,r16
        reti