🇩🇪
ISR:
bcf INTCON,TMR0IF
NOP ->1wc
GOTO $ +1 ->2wc
; und so weiter.....und wenn es ganz extrem werden sollte:
isr_taktehinzufügen:
movlw (n) ->1wc n * (8wc) = 8...-x wc zum Abgleich verfügbar
movwf dummy ->1wc
decfsz dummy,f ->2-3wc
GOTO isr_taktehinzufügen ->2wc
;
movlw tmr0preset
movwf TMR0 --- hier endet das alte, beginnt das neue Intervall
Zitateinen Preset 2^16us - 20.000us = 45536 = 0xB1EOrichtig ist:
ZitatISR_H:Voila - das geht ganz ohne Vorteiler... fertig! Solls genauer sein, nimm einen 4MHz Quarz.
bcf PIR1,TMR1IF
movlw 0xB1
movwf TMR1H
movlw 0xE0
movwf TMR1L
movlw b'10000000' ;LED ist an bit 7
xorwf PORTA,f ;RA7 toggelt alle 200ms und LED blinkt mt 50Hz
RETFIE FAST