Hi,
15Jahre , sind ne ganze Menge
Ich hab mal das ganze noch mit Unterprogranmm gemacht
Ich glaube das würde auch ohne den Code am Anfang funktionieren, obwohl ich gar nicht weiss wie das benutzen kann^^ Code funktioniert aber habs getestet.Code:w_temp EQU 0x70 ; context saving status_temp EQU 0x71 ; context saving INTSERV movwf w_temp ; W register retten movf STATUS,w ; status register nach W register movwf status_temp ; STATUS register retten IntEnd movf status_temp,w ; STATUS register movwf STATUS ; wieder herstellen swapf w_temp,f swapf w_temp,w ; W register wieder herstellen ;***************************************************************** ;Programm ;***************************************************************** movlw 3 movwf 0x20 ; Speicherzelle wird die Zahl3 geladen anf btfsc PORTA, 0 ; Taster abfragen - Taster gedrückt -> zur Zählschleife goto anf ;************************************************************** call z_schleife ; Unterprogrammm aufrufen ;*************************************************************** t_los btfss PORTA, 0 ;Taster abfragen - Taster los -> zum Counter goto t_los ;*************************************************************** call z_schleife ;**************************************************************** decfsz 0x20, 1 ; Counter = 3 goto anf bsf PORTB, 0 loop goto loop ;************************Unterprogramm**************************** ;20000 Takte z_schleife movlw d'100' movwf 0x21 S2 movlw d'200' movwf 0x22 S22 decfsz 0x22, 1 goto S22 decfsz 0x21, 1 goto S2 return ;****************************************************************** end
Kann mir jemand eklräen was man dabei beachten muss, robotcheck hat
was von W-Register retten geschrieben, was hat es damit auf sich ? Bei sprut konnt eich nix dazu finden sowie hier im Wiki, oder bin ich blind=?
Mfg
Mfg







Zitieren

Lesezeichen