The Man hat schon recht.

_delay_us(mikrosekunden);
_delay_ms(millisekunden);

Die Funktionen stehen nach einbinden des Headers
<util/delay.h> zur Verfügung.

Nicht vergessen, vor dem Einbinden F_CPU zu definieren.

#define F_CPU deine_taktfrequenz_in_herz

#include <util/delay.h>

...

Grüße

edit:
je nach dem, was dein Controller sonst noch machen soll, würde ich die Signalgenerierung mit nem Timer und Compare-Registern machen (z.B. Timer 1 bei nem ATM8/16), da die delay funktionen deinen Controller ja komplett blockieren.