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.
;-----------------------------------------------------------------------
----------
Der Code sieht o.k. aus, es muß also an dem Rest des Programms liegen. Die 8051 sind ja kompatibel, d.h. Timer, Uart usw. werden immer gleich angesteuert. Der AT89C2051 hat allerdings nur 128 Byte SRAM und keinen externen SRAM, daran könnts liegen. Peter
Jau ich habs gefunden Speicherzugriff in die SFR´s Ich war schon ganz am Boden Peter ..Danke hat mir sehr geholfen. Paul
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.