Pic Hafızasına Veri Kayıt Problemi ?

Başlatan protech06, 03 Eylül 2008, 01:05:23

protech06

Arkadaşlar 16F877 kullanarak pic hafızasına sorunsuz veri kaydı yapıp okuyabiliyorum  16F73 kullanarak aynı işlemi yapamadım datasheete göre baktım ama işin içinden cıkamadım asağıda ornek kod verdim bakabilirmisiniz ?

16F877 de veri kayıt ve okumada kullandıgım kod DEGER1 icindeki veriyi 1 nolu adrese kaydedip geri okuyorum.bu işlemin aynısını 16F73 için nasıl yapabilirim.
MOVLW		0X20
		MOVWF		FSR
		CLRF		INDF
		INCF		FSR,F
		MOVFW		FSR
		SUBLW		0X80
		BTFSS		STATUS,Z
		GOTO		$-5


ADRESOKU
		MOVLW		.1
		MOVWF		PICADRES
		CALL		OKU
		MOVWF		DEGER1
		RETURN
OKU
		BSF		STATUS,RP1
		BCF		STATUS,RP0 			MOVWF		EEADR

		BSF		STATUS,RP1
		BSF		STATUS,RP0			BCF		EECON1,EEPGD
		BSF		EECON1,RD

		BSF		STATUS,RP1
		BCF		STATUS,RP0 			MOVF		EEDATA,W
		BCF		STATUS,RP1 			BCF		STATUS,RP0
		RETURN


ADRESYAZ
		BCF		INTCON,GIE
		MOVLW		.1
		MOVWF		PICADRES
		MOVFW		DEGER1
		MOVWF		PICDATA
		CALL		YAZ
		BCF		INTCON,T0IF
		BSF		INTCON,GIE			RETURN
YAZ
		MOVFW		PICADRES
		BSF		STATUS,RP1
		BCF		STATUS,RP0
		MOVWF		EEADR
		BCF		STATUS,RP1
		BCF		STATUS,RP0
		MOVFW		PICDATA
		BSF		STATUS,RP1
		BCF		STATUS,RP0
		MOVWF		EEDATA
		BSF		STATUS,RP0
		BCF		EECON1,EEPGD
		BSF		EECON1,WREN
		MOVLW		55h
		MOVWF		EECON2
		MOVLW		0XAA
		MOVWF		EECON2
		BSF		EECON1,WR
TEST1
		BTFSC		EECON1,WR
		GOTO		TEST1
		BCF		EECON1,WREN
		BCF		STATUS,RP0
		BCF		STATUS,RP1
		RETURN


16F73 datasheettekiilgili Alanlar






Tagli

Datasheet'ten anladığım kadarıyla bahsettiğin PIC'in EEPROM'u yok. Normalde bu durumda program hafızasını kullanmanı önerebilirdim ama anladığım kadarıyla kendi program hafızasına yazma yeteneği de yok, sadece program çalışırken program hafızasındaki istediğin bir yeri okuyup veri elde edebiliyorsun.

EKLEME: Yukarda bahsettiğim sonuca 16F877 ve 16F73 datasheet'lerindeki şu bölümleri karşılaştırarak varabilirsin:

Alıntı yapılan: "16F877A Datasheet"3.0 DATA EEPROM AND FLASH PROGRAM MEMORY

The data EEPROM and Flash program memory is readable
and writable during normal operation (over the full
VDD range). This memory is not directly mapped in the
register file space. Instead, it is indirectly addressed
through the Special Function Registers.

Alıntı yapılan: "16F73 Datasheet"3.0 READING PROGRAM MEMORY

The FLASH Program Memory is readable during normal
operation over the entire VDD range. It is indirectly
addressed through Special Function Registers (SFR).
Gökçe Tağlıoğlu

protech06

Açıklamanız Üzerine Microchip Listesine Baktıgımda 28Pin olup Dahili Hafısazı olan bir MCU Göremedim. Pic Calısırken istenilen bir deger pic hafızasına Kayıt edilecek ve Elektrik Kesilse Bile Pic Hafısazında Veri Tutmam Gerkiyor Bu işlem Baska Nasıl Yapılabilir Bir Ornek varmı Arkadaşlar ? En Son Care Pic Degiştirmek Ve kartları yeniden tasarlamak olacak çünkü ben listede 28 pin olup dahili hafızası lan bir pic bulamadım

M_B

Merhaba
Harici Eeprom kullansan.
24C16 vb. gibi olmaz mı ?.
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

JKramer

http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1035&mid=10&lang=en&pageId=74
Mesela PIC16F870 var. ana listede bu pic'den sonra dahili eeprom'u olan pic'ler başlıyor. Temin etme konusunda bir bilgim yok.

protech06

Evet Arkadaslar Listede Gözden kaçırmışım 16F876A var onu buldum 28 pin ve dahili hafısazı olan