Ich versuche es zunächst selbst. Bitte korrigieren, falls falsch:

40 kHz:
Im Register TCCR2 werden die Bits WGM21 und CS20 auf 1 gesetzt.
Das Register OCR2 wird auf dezimal 100 gesetzt.
Im Register TIMSK wird das Bit OCIE2 auf 1 gesetzt.

WGM21 bedeutet Modus "Clear Timer on Compare Match (CTC)". Top ist dabei OCR2.

CS20 bedeutet "No Prescaling".

OCR2 = dec100 wird ständig mit TCNT2 verglichen.

40 kHz ergeben sich durch:

8000000 / 2 * 100 = 40000 (100 Takte Lo-Signal und 100 Takte Hi-Signal, immer abwechselnd, so ist es im Datenblatt auf S. 89 zu bewundern)

OCIE2 in TIMSK gesetzt bedeutet "Timer/Counter2 Output Compare Match Interrupt Enable"


Anmerkung:
https://www.roboternetz.de/wissen/in..._Match_mode.29
sollte m.E. überarbeitet werden. Die Erklärungen dort bringen zu wenig Klarheit.