Zeitverzögerung mit Timer 1

Gast #1468651
Lesenswert?

Hallo,

ich bin grad ein bischen am verzweifeln, hoffentlich kann mir hier 
jemand weiterhelfen

und zwar versuche ich eine Zeitverzögerung von 625ms, mit Timer 1, per 
Interupt steuerung zu basteln

Das ganze soll auf dem 80(C)515 mikrocontroller laufen, der arbeitet mit 
12 MHz

Also schreib ich in den 16 Bit Zähler "40535" raus, damit der Timer 25 
mal die restlichen 25000 hochzählt. Eigentlich müsste er nach meiner 
Rechnung    (25 * 25000 = 625000)    25 ms erreichen

Nur beim Testen mit Breakpoints kriege ich bloß 4ms

hier der Code

1
$include (reg515.inc)
2

3
Anweisungen:
4
        org    0000H
5
        ljmp   progr
6
        org    001BH
7
        ljmp   timer_1
8
progr:  
9
        MOV    TL1,#57H
10
        MOV    TH1,#9EH
11
        MOV    89H,#20H
12
        setb   EAL
13
        setb   ET1
14
        setb   TR1      
15
warten: 
16
        sjmp   warten
17
timer_1:     
18
        MOV    TL1,#57H
19
        MOV    TH1,#9EH
20
        CLR    TF1
21
        INC    R1 
22
        CJNE   R1,#019H,zurueck  ;wenn 25 nicht erreicht, springe zu reti
23
        clr    P0.1
24
zurueck:
25
        reti

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren