#include <p16F84A.inc> ; PIC16F84 TANIMLAMA DOSYASI
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
PORTLARI_AYARLA
CLRF PORTB ; RESET portb
CLRF PORTA ; RESET portA
BSF STATUS,RP0 ; BANK 1 GECILIR
MOVLW B'00000000' ; RB0..7=CIKIS
MOVWF TRISB
MOVLW B'00000001' ; RA0-5=GIRIS
MOVWF TRISA
BCF STATUS,RP0 ; BANK 0 GECILIR
;===EEPROM VERİ YAZMA=================
YAZ
MOVLW H'02'
MOVWF EEADR ;EEDATA<--W
MOVLW H'40' ;W<--DAT (YAZILCAK VERİ
MOVWF EEDATA ;W<--EEDATA
BSF STATUS,5 ;BANK1
;====YAZMA İÇİN GEREKLİ BAYRAKLARIN KURULMASI====
BCF EECON1,EEIF ;YAZMA BİTİŞ BAYRAĞINI KUR
BSF EECON1,WREN ;EEPROM'a YAZMAYA İZİN VER
BCF INTCON,GIE ;INTERRUPLARI İPTAL ET
;====YAZMA İÇİN GEREKLİ KODLAR BURDAKİLAR SABİT KOD====
MOVLW h'55' ;YAZMA İÇİN GEREKLİ KODLAR BURDAKİLAR SABİT KOD
MOVWF EECON2 ;YAZMA İÇİN GEREKLİ KODLAR BURDAKİLAR SABİT KOD
MOVLW h'AA' ;YAZMA İÇİN GEREKLİ KODLAR BURDAKİLAR SABİT KOD
MOVWF EECON2 ;YAZMA İÇİN GEREKLİ KODLAR BURDAKİLAR SABİT KOD
BSF EECON1,WR ;YAZMA İÇİN GEREKLİ KODLAR BURDAKİLAR SABİT KOD
BEKLE_YAZMA
BTFSS EECON1,EEIF ;YAZMA İŞLEMENİN BİTTİĞİNİ KONTROL EDİYOR
GOTO BEKLE_YAZMA
;===BAYRAKLARI İLK KONUMA GETİRME====
BCF EECON1,EEIF
BCF EECON1,WREN
BSF INTCON,GIE
BCF STATUS,5
BTFSS PORTA,0
GOTO $-1
GOTO OKU
;===EEPROM VERİ OKUMA PROGRAMI=================
OKU
MOVLW h'02'
MOVWF EEADR ;EEADR<--W
BSF STATUS,5 ;BANK1
BSF EECON1,0 ;OKUMAYI AKTİF ET
BCF STATUS,5 ;BANK0
MOVF EEDATA,W ;W<--EEDATA
MOVWF PORTB
BTFSS PORTA,0
GOTO $-1
GOTO PORTLARI_AYARLA
END
-------------------
şimdi arkadaşar bu programla deniyorum yazmayı
BEKLE_YAZMA
BTFSS EECON1,EEIF ;YAZMA İŞLEMENİN BİTTİĞİNİ KONTROL EDİYOR
GOTO BEKLE_YAZMA
bu satırlarda takılıp kalıyor ama mplap programında denerken bunu bu takıldığı yerde simülasyonda duraklatıp tekrar başlantınca bu takılmayı atlayıp yazma işlemini gerçekleştiriyor....