yardım!! data eeprom yazma (pic16f876)

Başlatan kayatech, 15 Şubat 2005, 10:57:58

kayatech

Slm Arkadaşlar. Lcd 'li (16f876) bir devreden yapılan ayar ve benzeri verileri (toplam 11 byte veri) bir başka 16f876 'ya kayıt etmek istiyorum. fakat seri bilgide bu veriler hatalı olarak gidiyor (bazende düzgün gidiyor). ben bu chipin DATA EEPROM 'una ulaşıp bu verileri direk eeproma nasıl kaydederim. yardımlarınız bekliyorum. teşekkürler.

ete

Arkadaşım,

Kusura bakma ama bu açıklamandan hiç bir şey anlayamadım. Kimin bilgisini kime yazmak istiyorsun. SÜrekli söylüyoruz. KOdları yeniden sitemektense sizin nerede hata yaptığınızı bulmak en önemlisi hatanızı size göstermek bizim için çok önemli. Bu yüzden bu tip isteklerde bulunurken mutlaka yazdığınız kodları mesajınıza ekleyinki hem ne yapmak istediğinizi daha iyi anlayalım hemde size doğru yolu gösterelim.

ETE
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

elektromer

Merhaba,

16F87x ailesi için EEPROM'a veri yazmak için gerekli kod (Asembler olarak)

;------------------------------------------------------------------;
	CBLOCK	0x70
	eepr_ad
	eepr_dt
	ENDC
;------------------------------------------------------------------;
;	eepr_ad	= Verinin yazılacağı Eprom adresi
;	eepr_dt	= Eprom adresine yazılacak veri
;------------------------------------------------------------------;
EPROM_YAZ			;
	BANK2			;
	movf	eepr_ad,w	;
	movwf	eeadr		;
	movf	eepr_dt,w	;
	movwf	eedata		;
	BANK3			;
	bcf	eecon1,7	; DATA (EPROM) hafıza seçildi.
	bsf	eecon1,2	; Adresi verilen EEPROM'a veri yazmayı aç.
	movlw	0x55		;
	movwf	eecon2		;
	movlw	0xAA		;
	movwf	eecon2		;
	bsf	eecon1,1	; Adresi verilen EEPROM'a veriyi yaz.
	btfsc	eecon1,1	;
	goto	$-1		;
	bcf	eecon1,2	;
	BANK0			;
;------------------------------------------------------------------;

Saygılarımla..
Her şey gönlünüzce olsun..

elektromer

Merhaba,

16F87x ailesi için EEPROM'dan veri okumak için gerekli kod (Asembler olarak)

;------------------------------------------------------------------; 
   CBLOCK   0x70 
   eepr_ad 
   eepr_dt 
   ENDC 
;------------------------------------------------------------------; 
;   eepr_ad   = Verinin okunacağı Eprom adresi 
;   eepr_dt   = Eprom adresinden okunacak veri 
;------------------------------------------------------------------; 
EPROM_OKU			;
	movf	eepr_ad,w	; eepr_ad sayacını W'ye al.
	movwf	eeadr		; W'yi eeadr yazmacına kopyala.
	BANK3			; BANK3'e geç.
	bcf	eecon1,7	; DATA (EPROM) hafıza seçildi.
	bsf	eecon1,0	; EEPROM'daki veriyi oku.
	BANK2			; BANK2'ye geç
	movf	eedata,w	; eedata'daki veriyi W'ye al.
	movwf	eepr_dt		; W'yi eepr_dt yazmacına kopyala.
	BANK0			; BANK0'a geç
;------------------------------------------------------------------;

Saygılarımla..
Her şey gönlünüzce olsun..

kayatech

Arkadaşlar cevap veremedim özür dilerim ama. asıl yapmak istediğim 2 adet pic16f876 düşünün. bir tanesinden diğerinin eepromuna ulaşarak direk veri kaydetmek istiyorum. I2c eepromlara nasıl direk olarak veri yazılabiliniyorsa bende bu şekilde yapmak istiyorum. pic 16f876 nın "SCL" ve "SDA" bacakları var. acaba bu bacaklar bu iş içinmi kullanılıyor. Ve bu bacakları aktif edebilmek gibi bir şansım var  mı. bu arada pic basic pro kullanıyorum. İlginize teşekkürler.