Gast
#130289
Hi, ist leider ein doppelpost, habs falsch reingeschrieben. Mit diesem Programm möchte ich erzielen, einfach eine Led mit den 2 Interuppt`s per PWM heller oder dunkler zu machen. Doch mein Problem ist, das beim Debugger bei LJMP Init nicht auf Init sondern gleich am Anfang in den zweiten Interuppt springt. Hab ich da was falsch gemacht? INCLUDE 89c52.mc LJMP Init 'Überspringe Interruptroutine nach einem Reset (0003h): ;Interuppt 0 INC R0 IF R0 > #DFh THEN MOV R0,#DFh RETI (0013h): ;Interuppt 1 DEC R0 IF R0 < #2Fh THEN MOV R0,#2Fh RETI (000Bh): 'Einsprungadresse Interrupt Timer 0 MOV TH0,#FFh 'High Byte vom Timer 0 setzen MOV TL0,R0 'Low Byte vom Timer 0 setzen SETB P0.0 CLR P0.0 RETI 'Zurück aus der Interruptbehandlung ins Programm '************************************************ Init: MOV SP,#10h 'Stackpointer hinter die Registerbank 1 MOV R0,#DFh 'Grundeinstellung des Timer 0 und der dazugehörigen Interrupts: MOV TMOD,#01h 'Timer 0 Modus = 1 MOV TH0,#FFh 'High Byte vom Timer 0 setzen MOV TL0,R0 'Low Byte vom Timer 0 setzen SETB EA 'Interruptbehandlung aktivieren SETB ET0 'Interrupt für Timer 0 aktivieren SETB TR0 'Timer 0 Start SETB EX0 ;Interuppt 0 ein SETB EX1 ;Interuppt 1 ein SETB P0.0 '************************************************ Programm: JMP Programm