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.