Timer 0 98c20151 vs 80c515

Gast #225889
Lesenswert?
• ▲
▼
Folgernde Timer 0 initialisierung wird beim Start durchlaufen.

Mit  der Selbstbau Entwicklungsumgebung 80c515  läuft das Programm mit
dem Timer 0 interrupt einwandfrei.

Wenn ich das dann in den 89c2051 brenne  wird der Timer0 einfach nicht
ausgeführt. CPU Definitionsfile ist das Original für den 2051 in beiden
Fällen.

Wo mag die Ursache sein.

Paul
;---------------------------------------------------------------
ORG    00h
                jmp start;
;neben den anderen Vektoren  für den timer 0 das hier.
 ORG 0Bh
        ljmp timer0_int;   endet mit reti
........usw usw   mit jmp auch probiert das gleiche
;
org
                023H
                ljmp serial_int;    usw usw endet mit  RETI
;                      dto
Start:
              call timer_init;
 ;        weiter mit Programm
loop_haupt:

               call xyz
            call sonstwas
         jmp loop_haupt


timer_init:
                ; Initialisierung
;---------------------------------------------------------------
; serielle Schnittstelle aktivieren
;  4800 Baud, Modus 1
        mov TL1, #244
        mov TH1, #244

; Timer 0 aktivieren
;  Intervall: 500 ms
;  Software-Kontrolle Code-Generator für 8051-Kompatible
        mov TL0, #TL0PRE;    vom    Erik Buchmann
        mov TH0, #TH0PRE
        mov timer0_ext24,#TX0PRE

; die SFR's initialisieren
        mov SP,  #20h
        mov SCON,#82
        mov PCON,#128
        mov TMOD,#33
        mov TCON,#80
        mov IE,  #130
                SETB TR0;   TIMER 0 FREIGEBEN
    SETB ET0;
               SETB TF0;
;Es spielt auch keine Rolle ob ich die TR0 ET0 TFo setze oder nicht
;80515 läuft    89c2051 nix
        RET;   initialisierung gelaufen  ab ins programm


Besagte routinen sprich die Timer0_int  läuft auf dem 80c515
einwandfrei
auf dem 89vc2051 geht nix ich stehe vor einem Rätsel.
;----------------------------------------------------------------------- 
--------
; Interruptbehandlungsroutine Timer 0
timer0_int:
        mov TL0, #TL0PRE
        mov TH0, #TH0PRE
        djnz timer0_ext24,timer0_int_label
        mov timer0_ext24,#TX0PRE    ; alle 500 ms toggel p1.7
        cpl p1.7; das ist alles was Timer 0 zu tun hat.
        reti;   mit 515 und led am Port OK  mit 89c2051    nix iss.
;----------------------------------------------------------------------- 
----------

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.