Hi Leute,
bin hier auf euer Forum gekommen, hab aber noch nichts gefunden das mir
weiterhelfen könnte.
Und zwar studier ich grad ein ASM von Sprut.de und komm nicht auf meinen
Rechenfehler.
1 | ; Prozessortakt: 20 MHz
|
2 |
|
3 | ; Vorteiler 16:1 und Timer2 einschalten
|
4 | BSF T2CON,T2CKPS1 ; Vorteiler 16:1
|
5 | BSF T2CON,TMR2ON ; Timer2 ein
|
6 |
|
7 | ; Frequenz auf 2,5 kHz einstellen
|
8 | BSF STATUS,RP0 ; Bank1
|
9 | MOVLW D'124' ;
|
10 | MOVWF PR2 ; 2,5 kHz
|
11 | BCF STATUS,RP0 ; Bank1
|
Wie komm ich auf die "124" die ins PR2 Register geschrieben werden?
Also dass der Überlauf erst beim nächsten Takt, also 125 geschieht ist
mir klar.
Nur wie kommt er dann auf die 2,5kHz?
Wenn ich rechne dass der Timer bei dem 16er Vorteiler mit 0,8µs erhöht
komme ich für die 125 Takte bis zum Überlauf, also dem neuen Start des
Timers auf 0,0001s.
2,5kHz haben aber 1/2500=0,0004s
Kann mir das jemand erklären?
LG Andy