Danke sehr für deinen Tipp, aber bei mir arbeitet es ohne Interrupts (ISR) mit GIE = 0, weil das in meinem Fall unnötig war.  
 
Die Hardware ist dort skizziert: https://www.roboternetz.de/community...parsam-steuern ? 
	Code:
	;2-phasiger bipolarer Getriebesteppercontroller mit 4,7 µF Elkos seriell mit Spulen
	LIST      P=16F676
	include "P16F676.inc"                   ; 12 kHZ ext. RC Oszillator
	__CONFIG     _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _EXTRC_OSC_CLKOUT & _BODEN_OFF
#define	MAN	PORTC,0				; Motor an, mit PORTA,2 (INT) verbunden
#define	MLR	PORTC,1				; Drehrichtung
#define S1P	PORTC,2				; 1. Spule			
#define S2P	PORTC,3				; 2. Spule
		ORG     0
		call	Init
Main		btfss	MAN			; drehen bzw. schlafen
		goto	Schlaf
Main1		btfss	MLR			; gewünschte Drehrichtung prüfen
		goto	LRot
		goto	RRot
LRot		bcf	S1P			; links drehen
		call	Del
		bsf	S2P
		call	Del
		bsf	S1P
		call	Del
		bcf	S2P
		btfss	MAN
		goto	Schlaf
		goto	Main1
RRot		bsf	S1P			; rechts drehen
		call	Del
		bsf	S2P
		call	Del
		bcf	S1P
		call	Del
		bcf	S2P
		btfss	MAN
		goto	Schlaf
		goto	Main1
Del		nop
		goto	$+1
		return
Schlaf		bcf	INTCON,INTF
		bsf	INTCON,INTE
		sleep
		goto	Main1
Init		movlw	7
		movwf	CMCON			; comparator off, RA0-2 digital I/O
		bsf	STATUS,RP0
		bcf	ADCON0,ADON		; ADC
		clrf	ANSEL			; off
		bsf	OPTION_REG,INTE		; INT on
		movlw	2F
		movwf	TRISA
		movlw	21
		movwf	TRISC
		bcf	STATUS,RP0
		clrf	PORTC
		return
		end
 
						
					
Lesezeichen