erstmal danke, habe es auch zum laufen gebracht. es war auch gedacht das er im mainloop bleibt. das war einfach nur ne kleine spielerei, das programm dient keinem echten zweck. dafür meine nächstes programm.

es soll ein kettenschmierimpuls an meiner motorradkette auslösen. sprich wenn ich ca 60km fahre gibt der mikrocontroller einen schmierimpuls weiter.

gezählt wird über einen reedkontakt am rad. ich benötige 50000 signale sprich 50000 radumdrehungen. danach soll die kette kurz schmieren und das ganze geht von vorne los. hier mal mein vorschlag:



Code:
;**********************************************************
.include "m8def.inc"	
;**********************************************************





.org INT_VECTORS_SIZE


.org 0x00
         	rjmp main            ; Reset Handler

.org INT0addr
         	rjmp int0_handler    ; IRQ0 Handler




.def temp = r16

main:		ldi temp,low(RAMEND)	; Stackpointer initialisieren
			out SPL,temp

			ldi	temp,high(RAMEND)
			out	SPH,temp
			
			ldi r18, 0

			ldi r19, 0

			ldi	temp,0xFF
			out	DDRB,temp

	
			ldi r17,0x00
			out	DDRD,r17


			ldi temp, 0b00001111  ; INT0 und INT1 konfigurieren
  			out MCUCR, temp
 
 		    ldi temp, 0b11000000  ; INT0 und INT1 aktivieren
   			out GICR, temp
 
   			sei                   ; Interrupts allgemein aktivieren

loop:		rjmp loop




int0_handler:


			ldi r16, 200	  ; zählt bis 200
			inc r18 
			cp 	r16, r18

			breq step

			reti



reset1: 	ldi r19, 0x00         ; resetet r19	
			



reset2: 	ldi r18, 0x00		  ; resetet r18			
			reti




step:
			ldi r16, 250   ; zählt bis 250
			inc r19
			cp r16, r19

			breq schmieren

			rjmp reset2


schmieren:						; "fehlt noch"
			
			inc r20  			;"zählt anzahl der schmierungen"

			rjmp reset1


ich zähle das r18 auf 200 danach springt es zum "step" und resetet sich selbst. im step zählt das r19 auf 250 und wenn die erreicht sind gehts zur "schmierung" anschließend wieder von vorn (250x200 = 50000). die schmierung ansich fehlt aber noch. meint ihr das wäre so realisierbar wenn ich vor dem reedschalter noch einen A/D Wandler setze?


gruss ralph