am basic programm ich komm und komm nicht drauf wie ich das ganz genau machen soll. ;o(

hab zwah schon was geschrieben aber das klappt sowieso net brauch ne andere lösung.
Code:
'###################################################
'Sven 17/04/05 Rev01
'
'##############################################################




'###################################################
'File and Variable declaration
'##############################################################

Declare Sub LCD()
Declare Sub post-treatment()


$regfile = "m8def.dat"					'controller definition file


Dim dummy1, dummy2 As Byte
Dim count_geschwindigkeit As Byte
Dim count_gesamt_zeit As Integer


'###################################################
'Initialisation and configuration of device
'##############################################################

$crystal = 16000000	                                         'Quarzfrequenz


Config Adc = Single , Prescaler = Auto , Reference = Off	'Für Tastenabfrage und Spannungsmessung
Config Pinc.0 = Input                                       	'Für Tastenabfrage
Portc.0 = 1                                                 	'Pullup Widerstand ein
Start Adc

Const Ref = 5 / 1023                                    	'Für Batteriespannungsberechnung
							        'Bei einer anderen Referenzspannung muss die 2.5 durch entsprechend ersetzt werden
							        'Die Referenzspannung wird durch den Jumper JPREF bzw. Spindeltrimmer  festgelegt

'ZU ÜBERPRÜFEN!!!!!
' Falls ein LCD Display angeschlossen ist
Dim ___lcdno As Bit
Config Lcdpin = Pin , E = Portc.3 , E2 = Portd.7 , Rs = Portc.2 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
Config Lcd = 20 * 4

Config PinC.1 = Output					'pin C1 um LED1 zu steuern
Portc.1 = 1  						'LED angesteuert

Config PinD.2 = Input					'pin C2 um phototransistor1 zum abfragen
Portc.2 = 1                                             'Pullup Widerstand ein

Config PinC.3 = Output					'pin C3 um LED2 zu steuern
Portc.3 = 1  						'LED angesteuert

Config PinD.3 = Input					'pin C4 um phototransistor2 zum abfragen
Portc.3 = 1                                             'Pullup Widerstand ein

'###################################################
'Initialisation and configuration of variable
'##############################################################


dummy1 = 0
dummy2 = 0




'###################################################
'Main Programm
'##############################################################


Do
	If ((PinD.2 = 1) & (dummy1=1))
		dummy1 = 0
	Endif
	If ((PinD.3 = 1) & (dummy2=1))
		dummy2 = 0
	Endif
	call post-treatment()
  
	Call LCD()
     	
		
   
Loop

End


'###################################################
'Sub Programm
'##############################################################


Sub LCD()
..		  
...  
End Sub

Sub post-treatment()

	Speed=3600*(count_geschwindigkeit + N_count0*  timer_zeit_TMR0)
	Gesamt_zeit = count_gesamt_zeit + N_count1*  timer_zeit_TMR1

End Sub


'###################################################
'Interrupt Subroutine 
'##############################################################


Sub ...()

	If ((PinD.2 <> 0) & (dummy1 = 0))			'Etwas in Lichtschrank 1
			
		TMR0 (8 bit) init -> TMR0 config mit klein Prescaler, und benutzt für die Geschwindigkeit
		N_count0=0


		count_gesamt_zeit= TMR1(16 bit)Werte
		TMR1 auf null einsetzen (init TMR1) -> TMR1 config mit gross prescaler
		N_count_werte=N_count
		N_count1=0
		
		dummy1=1		

	Endif

	If ((PIND.3 <>0) & (dummy2 =0))				'Etwas in Lichtschrank 2

		count_geschwindigkeit= TMR0(8 bit)Werte
		
		dummy2=1
		
	
'		If TMR1 overflow
'
'		N_count1 = Ncount1+1				'kontrollieren der IF schleife (wäre es möglich zwo If in einer schleife ohne EndIF??)
'		
'		Endif
	'ENDIF? Dies ist eine Verschachtelung

	If TMR0 overflow

		N_count0 = Ncount0+1
		
	Endif
EDIT: Code-Tags eingefügt. regards, Moddy