Gast
#57318
Hallo Ich bin am Verarbeiten des Warteschleifen Prinzips. Sind denn die Taktzyklen in diesem Beispiel (vom Internet)wirklich richtig berechnet ? Laut Datenblatt AT90S8515 braucht der Befehl "rcall" schon 3 Zyklen, und der "ret" Befehl 4 Clock-Zyklen. --------------------------------------------------------------------- Wait50us: ;Systemtakt = 10Mhz sollen sich tges=50us ergeben ldi tim1,165 ; Zähler Wait51: dec tim1 brne Wait51 ret ; 10 MHz Taktfrequenz = 0,1us/Takt ; ; 4 Takte für UP-Abarbeitung (Aufruf und Rücksprung) ; 1 Takt für ldi tim1,X X=Zähler um 50us zuerhalten ; =5 Takte *0.1 = 0.5us =ta = sonstige Zeit für UP ; ; Schleife ; dec tim1 1 Takt ; brne wait51 2 Takte ; = 3 Takte = 3*0.1=0.3us = ts = Zeit für Schleife ; ; X= (tges-ta)/ts=(50us-0.5us)/0.3us=165 (Zeitzähler) ---------------------------------------------------------------------- Vielen Dank für die Infos Toni