das ist das Programm
list p=16f88
;**************************************************************
;* Pinbelegung
;* ----------------------------------
;* PORTA: 0 Verstärkereingang
;* 1 Verstärkereingang
;* 2 Drehzahlmesser
;* 3 -
;* 4 -
;* 5 -
;*
;*
;* PORTB: 0 Tacho
;* 1 I²C-SDI
;* 2
;* 3
;* 4 I²C-CLK
;* 5
;* 6
;* 7
;*
;*
;*
;**************************************************************
; Prozessor 16F88
;
; Prozessor-Takt 8 MHz intern
;
;
;**************************************************************
; Includedatei für den 16F88 einbinden
list p=16f88
#include "C:\Include_files\P16f88.INC"
__CONFIG _CONFIG1, _CCP1_RB3 & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_OFF & _WDT_OFF & _INTRC_IO
;**********************************************************
; Variablen festlegen
;16 Bit Rechenregister
f0 equ 0x24
f1 equ 0x25
Tacho_0 equ 0x34
Tacho_1 equ 0x35
Dreh_H equ 0x36
Dreh_L equ 0x37
w_copy equ 0x38
s_copy equ 0x39
count equ 0x3A
Ver_1_H equ 0x3B
Ver_1_L equ 0x3C
Ver_2_H equ 0x3D
Ver_2_L equ 0x3E
Ini_con Equ B'00000000' ; TMR0 -> Interupt disable
Ini_opt Equ B'10000000' ; pull-up
;********************************************************
; Das Programm beginnt mit der Initialisierung
Init
clrf PORTB ; Sicherheitshalber die
clrf PORTA ; Ports A und B loeschen
bsf STATUS, RP0 ; Bank 1
movlw Ini_opt ; pull-up on
movwf OPTION_REG
movlw B'01110000' ; 8 Mhz
movwf OSCCON
movlw B'11111111' ; Pins RA0 und RA1 als
movwf TRISB
movlw B'11111111' ; Port B konfigurieren, Bits 1-3
movwf TRISA ; Analog-Pins konfigurieren
movlw B'00011111' ; Pins RA0 und RA1 als
movwf ANSEL ; Analog-Pins konfigurieren
clrf ADCON1 ; int. Referenz, rechtsb
BSF ADCON1, 7 ; Rechtsbündig
bcf STATUS, RP0 ; Bank 0
clrf PORTB
movlw Ini_con ; Interupt disable
movwf INTCON
; ADC initialisieren
; ADC einschalten
movlw B'10000001'
movwf ADCON0
bsf INTCON,4 ;RB0 Interrupt
bsf PIE1,SSPIF ;I²C Interrupt
bsf INTCON,GIE ;Interrupt erlaubt
;************************************************************************
;I²C initialisieren !
movlw B'10101010' ;Adresse für diesen Pic
movwf SSPADD
movlw B'01111000' ;bit5 steht dafür das das letzte byte die daten war (0=adresse)
movwf SSPSTAT ;bit4 Stop bit(0=kein stopbit erkennen 1=stop bit am ende verlangt)
;bit3 Start bit
;bit2 W/R aber keine ahnung was das bedeutet
;bit0
bsf SSPCON,SSPEN ;bit5 setzt SDA and SCL als serielen port fest I²C
bcf SSPCON,SSPM3 ;setzt I²C auf 7-bit Adresse ohne start und stop bit interrupt
bSf SSPCON,SSPM2
bsf SSPCON,SSPM1
bcf SSPCON,SSPM0
clrf PORTB
goto Main
;*******************************************************************
;
;Interrupt für I²C und RB0
ORG 4
inter bcf INTCON, GIE ; disable Interupt
movwf w_copy ; w retten
swapf STATUS, w ; STATUS retten
movwf s_copy ;
; Intrupt servic routine
Int_serv
btfss PIR1,SSPIF ;kam es vom I²C
goto Signal
bcf PIR1,SSPIF
; auf Master übertragen
movfw Tacho_0
movwf SSPBUF
call i2c_warte
movfw Tacho_1
movwf SSPBUF
call i2c_warte
movfw Dreh_H
movwf SSPBUF
call i2c_warte
movfw Dreh_L
movwf SSPBUF
call i2c_warte
bcf SSPCON,4
goto Int_end
Signal
btfss INTCON,4
goto Int_end
bcf INTCON,4
bcf STATUS,C
incf Tacho_0
btfsc STATUS,C
incf Tacho_1
Int_end swapf s_copy, w ; STATUS zurück
movwf STATUS
swapf w_copy, f ; w zurück mit flags
swapf w_copy, w
bsf INTCON, GIE ; enable Interupt
retfie
;****************************************************
i2c_warte
btfss PIR1, SSPIF ; fertig?
goto i2c_warte ; nein, noch nicht
bcf PIR1, SSPIF ; ja, alles fertig, nun noch SSPIF zurücksetzen
return
;**********************************************
; Programmablauf
Main
goto Main

und hier ist ein teil der list mit den fehlern, so geht das noch die ganze interrupt-routine lang:-(

Warning[205]: Found directive in column 1. (ORG)
0004 00130 ORG 4
00131
Error[118] : Overwriting previous address contents (0004)
Error[118] : Overwriting previous address contents (0004)
0004 138B 00132 inter bcf INTCON, GIE ; disable Interupt
00133
Error[118] : Overwriting previous address contents (0005)
Error[118] : Overwriting previous address contents (0005)
MPASM 03.20.02 Released 88.ASM 2-17-2011 21:10:36 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0005 00B8 00134 movwf w_copy ; w retten
Error[118] : Overwriting previous address contents (0006)
Error[118] : Overwriting previous address contents (0006)
0006 0E03 00135 swapf STATUS, w ; STATUS retten
Error[118] : Overwriting previous address contents (0007)
Error[118] : Overwriting previous address contents (0007)
0007 00B9 00136 movwf s_copy ;
00137
00138
Code-Tags verwenden!
Stampede