Nun höre ich auf. Die Lösung ist nicht so, wie ich es wollte - ohne Timerinterrupt, ohne PWM, das krieg ich mit dem tiny13 nicht hin.

Aber man kann mit dem tiny13 immerhin hübsch mit einem Servo spielen
Code:
;===================================================================================
;========== Beachte: printout aus AVRStudio geht (nur) bis col 85 ==================
;* Target MCU        : ATtiny13
;* Target Hardware   : Servo auf PB4
;* Target cpu-frequ. : 4,8 MHz, interner Oszillator
;
;===================================================================================
;* Versionsgeschichte:
;x81 18Okt07 17:38	;Quelle bereinigen
;x80 18Okt07 17:mm	;Servo variabel 1 -- 2 ms und Pause 18,5 ms    ==> ok
;x04 18Okt07 15:21	;Servo fest auf ca. 1,5 ms und Pause 18,5 ms   ==> ok
;x03 18Okt07 14:56	;20ms und 18,5 ms sind gesicherte Werte
;x01 18Okt07 13:42 
;
;* Aufgabenstellung
;* Programm zum Testen des Servos (CARSON 502001)
;	Servo über getrennte Leitung, max. 1 A, vom Labornetzteil versorgt
;	Portbelegung, Schaltung auszugsweise
;
; Vcc(6V LNT) --------------------------------------Vcc-Servo
;                    +--------+
;   Vcc2 (9VBlock) --+ LP2950 +------Vcc-tiny13
;                    +---+----+
;                        |           tiny13-PB4-----Signal-Servo
;                        | 
;                        +-----------GND-tiny13
;                        | 
; GND--------------------+--------------------------GND-Servo
;          
;* ===============================================
; ######### Original war: 
;===================================================================================
; Speicherbelegung
; r20	Pausenwert		Zähler, um r24,r25 rauf + runterzuzählen
; r21	Merker			100 ==> raufzählen, 0 ==> runterzählen
; r24	Word LSB		vgl: ADIW Rd+1:Rd,K
; r25	Word MSB zu r24
; r26	word lsb		Dies ist der COUNTER!! wird in Warte raufgezählt
; r27	word msb		r24/r25 ist der Merker - der kann geändert werden
;===================================================================================

#include "tn13def.inc"

.org 0x0000 	rjmp anfang	; Reset
;
;===================================================================================
; Deklarationen für den Praeprozessor
; Konstanten		####### evtl. auch keine Konstanten definiert
#define	port4	servo
#define servo	4	;Servo auf Port PB4
#define aufab	r20		;Register bis 240 rauf- und wied. runterzählen
#define ms185	65536-20655	;Vorbelegung Counter-neu f 18,5 ms-wait (=18,44) OK
#define msvar	65536-1700	;Vorbelegung Counter-neu f 1,5 ms-wait (=)
;===================================================================================
; Hauptprogramm
;===================================================================================
;
anfang:
	rcall	p_init		;Initialisierung
anfang2:
	sbi	portb,servo	;Schalte Servorampe ein
anf11:	rcall	wtvarms		;Warteschleife für aktive Rampe
	cbi	portb,servo	;Schalte Servorampe aus
anf31:	rcall	wt185ms		;Feste Warteschleife 18,5 ms
;
;	Es folgt jetzt die Routine um den Servo (vorerst automatisch durch Zählen)
;	runter- und raufzufahren. Später mit Tasten. Spannweite etwa 500 bis 3000
;	das heisst: in 255 Schritten für etwas über 180 Grad Schwenkwinkel
;	Zuerst: Variiere das Register aufab von 0 bis 250
;	Prüfe ob rauf- oder runterzählen? Merker r21=100 ==> rauf, r21=0 ==> runter
;	
	andi	r21,100		;=100?
	brne	w_rauf		;bei 100 zähle word rauf um je 10
w_runtr:
	sbiw	r24,10		;Zähle Merker word runter
	dec	aufab		;und dazu auch die Laufvariable
	brne	w_raus
	ldi	r21,100
	rjmp	w_raus
w_rauf:
	adiw	r24,10		;Zähle Merker rauf
	inc	aufab		;und dazu auch die Laufvariable
	brne	w_raus
	ldi	r21,0
w_raus:
	rjmp	anfang2
;		
;===================================================================================
; Prozeduren
;===================================================================================
;
p_init:		;=== Initialisiere den Mikrocontroller
		; PB3 und PB4 als Ausgang
	sbi	ddrb,servo	;Datenrichtungsbit setzen
	sbi	ddrb,3		;Datenrichtungsbit setzen
	cbi	portb,servo
	sbi	portb,3		;Schalte 
	ldi	aufab,125	;Vorbelegen Merker für Hoch+ Runterzählen
	ldi	r21,100
	ldi	r24,low(msvar)	; Aktivzeit für Servo, kann durch Tasten hoch-
	ldi	r25,high(msvar)	;   gefahren werden (wird noch realisiert)
	ret		;=====----->>>>>
;
wt185ms:	;=== Warte 18,5 ms (===>> bei 4,8 MHz)
	ldi	r26,low(ms185)	;Lade Counter
	ldi	r27,high(ms185)	;  mit festem Wert für 18,5 ms
wt185a:
	adiw	r26,1
	brne	wt185a
	ret		;=====----->>>>>
;
wtvarms:	;=== Warte variable ms (angestrebt 1 .. 2 msec bei 4,8 MHz)
	mov	r26,r24		;Lade Counter aus den Merker-Bytes. Der Merker
	mov	r27,r25		;  wird automatisch oder durch Tasten verändert
wtvara:	
	adiw	r26,1
	brne	wtvara
	ret		;=====----->>>>>
;
;===================================================================================
; Ende des Quellcodes
;===================================================================================
und wenns läuft, machts dann doch wieder Freude.